gorden 9 months ago
parent
commit
41b1df8cc1

+ 17 - 11
app/admin/controller/member/VisitingController.php

@@ -36,20 +36,26 @@ class VisitingController extends Curd
         $field = $field ?? 'wellness_record_addtimes';
         $order = $request->get('order', 'desc');
         $where['wellness_record_category'] = '来访';
-        $query = $this->doSelect($where, $field, $order);
+
+        $isOwner = $request->post('is_owner', 'N');
+        $query = $this->doSelect($where, $field, $order, $isOwner);
         return $this->doFormat($query, $format, $limit);
     }
 
-    protected function doSelect(array $where, string $field = null, string $order = 'desc')
+    protected function doSelect(array $where, string $field = null, string $order = 'desc', $isOwner = 'N')
     {
-        $model = $this->model->with([
-            'member' => function ($query) {
-                $query->where('member_is_owner','N')->select('member_id', 'member_mobile');
-            },
-            'cert' => function ($query) {
-                $query->select('join_cert_member_id', 'member_cert_name');
-            }
-        ]);
+        $model = $this->model->leftJoin('member', 'member.member_id', '=', 'wellness_record.join_wellness_record_member_id')
+            ->leftJoin('member_cert', 'member_cert.join_cert_member_id', '=', 'wellness_record.join_wellness_record_member_id')
+            ->select('member.member_id', 'member.member_mobile', 'member_cert.member_cert_name', 'wellness_record.*')
+            ->where('member.member_is_owner', $isOwner);
+//            ->with([
+//                'member' => function ($query) {
+//                    $query->where('member_is_owner', 'N')->select('member_id', 'member_mobile');
+//                },
+//                'cert' => function ($query) {
+//                    $query->select('join_cert_member_id', 'member_cert_name');
+//                }
+//            ]);
         foreach ($where as $column => $value) {
             if (is_array($value)) {
                 if ($value[0] === 'like' || $value[0] === 'not like') {
@@ -99,7 +105,7 @@ class VisitingController extends Curd
                 }
                 $item->wellness_record_file_json = $wellnessRecordFileJson;
             }
-            if (empty($item->member)){
+            if (empty($item->member)) {
                 unset($item);
             }
         }

+ 33 - 2
app/admin/service/goods/GoodsService.php

@@ -440,6 +440,15 @@ class GoodsService
 
                     $data['appointment_times'] = $times;
                 }
+                if (isset($extendJson['address'])) {
+                    $data['address'] = $extendJson['address'];
+                }
+                if (isset($extendJson['position'])) {
+                    $data['position'] = $extendJson['position'];
+                }
+                if (isset($extendJson['label'])) {
+                    $data['appointment_label'] = $extendJson['label'];
+                }
             }
             if (!empty($data['goods_json']) && $data['join_goods_category_id'] == 65) {
                 foreach ($data['goods_json'] as $key => $datum) {
@@ -1091,11 +1100,19 @@ class GoodsService
                         'duration' => $time['appointmentTimeStart'] . '-' . $time['appointmentTimeEnd']
                     ];
                 }
-                $data['goods_attribute_json'] = json_encode([
+                $attributeJson = [
                     'icon' => '',
                     'dates' => $params['dates'] ?? [],
                     'times' => $times
-                ]);
+                ];
+                if (!empty($params['appointment_label'])) {
+                    $attributeJson['label'] = $params['appointment_label'];
+                }
+                if (!empty($params['address'])) {
+                    $attributeJson['address'] = $params['address'];
+                    $attributeJson['position'] = $params['position'];
+                }
+                $data['goods_attribute_json'] = json_encode($attributeJson);
             }
             if (!empty($data['goods_json']) && $data['join_goods_category_id'] == 65) {
                 $goodsJson = json_decode($data['goods_json'], true);
@@ -1120,6 +1137,8 @@ class GoodsService
                 $data['goods_json'] = '[]';
             }
 
+            dump($data);
+
             foreach ($data as $key => $val) {
                 $row->{$key} = $val;
             }
@@ -1153,6 +1172,9 @@ class GoodsService
             $detail = GoodsDetail::where('join_detail_goods_id', $params['goods_id'])->first();
             if ($detail) {
                 self::doUpdate($detail->join_detail_goods_id, $data, new GoodsDetail());
+            } else {
+                $data['join_detail_goods_id'] = $params['goods_id'];
+                GoodsDetail::insert($data);
             }
         } catch (BusinessException $e) {
             throw new BusinessException($e->getMessage());
@@ -1175,14 +1197,19 @@ class GoodsService
     {
         try {
             $data = self::inputFilter($params, new GoodsLabel());
+            dump($data);
             // 根据goods_id 查详情ID
             $detail = GoodsLabel::where('join_label_goods_id', $params['goods_id'])->first();
             if ($detail) {
                 self::doUpdate($detail->goods_label_id, $data, new GoodsLabel());
+            }else{
+                $data['join_label_goods_id'] = $params['goods_id'];
+                GoodsLabel::insert($data);
             }
         } catch (BusinessException $e) {
             throw new BusinessException($e->getMessage());
         } catch (\Exception $e) {
+            dump($e->getMessage());
             throw new BusinessException('数据更新异常~3');
         }
     }
@@ -1233,6 +1260,10 @@ class GoodsService
             }
             if ($detail) {
                 self::doUpdate($detail->join_running_goods_id, $data, new GoodsRunning());
+            } else {
+                // 兼容老数据……
+                $data['join_running_goods_id'] = $params['goods_id'];
+                GoodsRunning::insert($data);
             }
 
         } catch (BusinessException $e) {