刘远航 преди 4 години
родител
ревизия
3d537a9ffe
променени са 1 файла, в които са добавени 44 реда и са изтрити 14 реда
  1. 44 14
      app/Http/Controllers/Api/V2/DoctorController.php

+ 44 - 14
app/Http/Controllers/Api/V2/DoctorController.php

xqd xqd xqd
@@ -44,6 +44,7 @@ use App\Models\DocterServiceTimes;
 use App\Models\CallLog;
 use App\Models\ImMessage;
 use App\Models\DocterLable;
+use App\Models\TeamDocter;
 use App\Models\SchedueFlags as Sflag;
 
 
@@ -1139,8 +1140,6 @@ class DoctorController extends AuthController
                 if (!$this->putusers($user_vaccines, $v['user_id'])) {
                     array_push($user_vaccines, $v);
                 }
-
-
             }
             if ($v['product_type'] == 5) {
                 // 儿保预约
@@ -1148,29 +1147,60 @@ class DoctorController extends AuthController
                     array_push($user_guar, $v);
                 }
             }
-            if ($v['product_type'] == 6) {
-                // 服务包
-                $OrderPacks = OrderPack::where('order_id', '=', $v['order_id'])->first();
-                if ($OrderPacks) {
-                    $teams = Team::with('docter')->where('id', '=', $OrderPacks['team_id'])->first();
-                    if ($teams) {
-                        $teams = $teams->toArray();
-                        if ($teams['docter']) {
-                            foreach ($teams['docter'] as $kk => $vv) {
-                                if ($vv['id'] == $doctor_id) {
-                                    array_push($user_pack, $v);
+        }
+
+        // 服务包
+        $packList = Order::with(['user'])->where('product_type',6)->get();
+        $doctor_team =TeamDocter::where('docter_id',$doctor_id)->groupBy('team_id')->get();
+        if ($doctor_team){
+            $team = [];
+            foreach ($doctor_team as $k=>$v){
+                $team[$k] = $v['team_id'];
+            }
+            $newPackList = [];
+            if ($packList){
+                foreach ($packList as $k=>$v){
+                    $newPackList[$k]['order_id'] = $v['id'];
+                    $newPackList[$k]['user_id'] = $v['user_id'];
+                    $newPackList[$k]['order_sn'] = $v['order_sn'];
+                    $newPackList[$k]['nickname'] = $v['user']['nickname'];
+                    $save = UserDocter::where('user_id', '=', $v['user']['id'])->first();
+                    if ($save) {
+                        $newPackList[$k]['remark'] = $save['remark'];
+                    } else {
+                        $newPackList[$k]['remark'] = '';
+                    }
+                    $newPackList[$k]['avatar'] = $v['user']['avatar'];
+                    $newPackList[$k]['product_type'] = $v['product_type'];
+                }
+                foreach ($newPackList as $k=>$v){
+                    $OrderPacks = OrderPack::where('order_id', $v['order_id'])->first();
+                    if ($OrderPacks&&!empty($OrderPacks['team_id'])) {
+                        if (is_array($OrderPacks['team_id'])){
+                            foreach ($OrderPacks['team_id'] as $kk=>$vv){
+                                if (in_array($vv,$team)) {
+                                    $user_pack[$v['user_id']]=$v;
                                 }
                             }
+                        }else{
+                            if (in_array($OrderPacks['team_id'],$team)) {
+                                $user_pack[$v['user_id']]=$v;
+                            }
                         }
                     }
                 }
+            }else{
+                $user_pack = [];
             }
+        }else{
+            $user_pack = [];
         }
+
         $returnList['user_pic']['data'] = $user_pic;
         $returnList['user_relation']['data'] = $user_relation;
         $returnList['user_vaccines']['data'] = $user_vaccines;
         $returnList['user_guar']['data'] = $user_guar;
-        $returnList['user_pack']['data'] = $user_pack;
+        $returnList['user_pack']['data'] = array_values($user_pack);
         if (empty($newcoll)) {
             // 关注患者
             $returnList['user_collection']['data'] = [];