Browse Source

完善功能

gorden 8 months ago
parent
commit
1e8510cd2d
1 changed files with 44 additions and 35 deletions
  1. 44 35
      app/admin/controller/order/WholeController.php

+ 44 - 35
app/admin/controller/order/WholeController.php

@@ -69,7 +69,7 @@ class WholeController extends Curd
 
         if (!empty($where['order_status_system']) && in_array($where['order_status_system'], ['PENDING', 'WAITING', 'SENDING', 'RECVING', 'SIGNED', 'CONFIRM'])) {
             $where['order_is_complete'] = 'N';
-            $where['order_category'] = isset($where['order_category']) ? $where['order_category'] : 'NORMAL';
+            $where['order_category'] = isset($where['order_category']) ? $where['order_category'] : ['in','SYSTEM,NORMAL'];
         }
 
         if (!empty($where['order_status_system']) && $where['order_status_system'] == 'RETURN') {
@@ -237,11 +237,16 @@ class WholeController extends Curd
                     $configJson = !empty($component['goods_component_json']) ? json_decode($component['goods_component_json'], true) : [];
                     if (!empty($component['goods'])) {
                         $supplierName = Supplier::where('supplier_id', $component['goods']['join_goods_supplier_id'])->value('supplier_name');
+                        $benefit = MemberBenefit::where('join_benefit_member_id',$item['join_sheet_member_id'])
+                            ->where('join_benefit_package_id',$item['goods']['goods_id'])
+                            ->where('join_benefit_order_id',$orderId)
+                            ->first();
                         $goodsArr[] = [
                             'goods_name' => $component['goods']['goods_name'],
                             'goods_cover' => getenv('STORAGE_DOMAIN') . $component['goods']['goods_cover'],
                             'supplier_name' => $supplierName,
                             'nbr' => $configJson['nbr'] ?? 0,
+                            'used' => !empty($benefit->member_benefit_used_count) ? intval($benefit->member_benefit_used_count) : ''
                         ];
                     }
                 }
@@ -266,39 +271,42 @@ class WholeController extends Curd
                 }
 
             }
-            if ($item['goods']['goods_classify'] == 'SERVICE') {
-                $benifit = MemberBenefit::where('join_benefit_member_id', $item['join_sheet_member_id'])
+            if (in_array($item['goods']['goods_classify'],['SERVICE','CHNMED','CHNNCD','PACKAGE'])) {
+                $benifits = MemberBenefit::where('join_benefit_member_id', $item['join_sheet_member_id'])
                     ->where('join_benefit_order_id', $orderId)
-                    ->first();
-                if (!empty($benifit)) {
-                    $item['benefit'] = [
-                        'total' => intval($benifit->member_benefit_limit_count),
-                        'used' => intval($benifit->member_benefit_used_count),
-                        'cut' => $benifit->member_benefit_limit_count - $benifit->member_benefit_used_count,
-                    ];
-                    $appontments = Appointment::where('join_appointment_member_benefit_id', $benifit->member_benefit_id)
-                        ->where('appointment_status', 'DONE')
-                        ->select('appointment_id', 'appointment_done_datetime', 'appointment_done_json')
-                        ->get()
-                        ->toArray();
-                    $item['appontment'] = [];
-                    foreach ($appontments as $appontment) {
-                        $doneJson = [];
-                        $username = '';
-                        if (!empty($appontment['appointment_done_json'])) {
-                            $doneJson = json_decode($appontment['appointment_done_json'], true);
-                            if (isset($doneJson['charge'])) {
-                                $username = SysUser::where('user_id', $doneJson['charge']['charge_user_id'])->value('user_name');
+                    ->get();
+                if (!empty($benifits)) {
+                    foreach($benifits as $benifit){
+                        $item['benefit'] = [
+                            'total' => intval($benifit->member_benefit_limit_count),
+                            'used' => intval($benifit->member_benefit_used_count),
+                            'cut' => $benifit->member_benefit_limit_count - $benifit->member_benefit_used_count,
+                        ];
+                        $appontments = Appointment::where('join_appointment_member_benefit_id', $benifit->member_benefit_id)
+                            ->where('appointment_status', 'DONE')
+                            ->select('appointment_id', 'appointment_done_datetime', 'appointment_done_json')
+                            ->get()
+                            ->toArray();
+                        dump($appontments);
+                        $item['appontment'] = [];
+                        foreach ($appontments as $appontment) {
+                            $doneJson = [];
+                            $username = '';
+                            if (!empty($appontment['appointment_done_json'])) {
+                                $doneJson = json_decode($appontment['appointment_done_json'], true);
+                                if (isset($doneJson['charge'])) {
+                                    $username = SysUser::where('user_id', $doneJson['charge']['charge_user_id'])->value('user_name');
+                                }
                             }
+                            $item['appontment'][] = [
+                                'member' => ($item['cert'] ? $item['cert']['member_cert_name'] . '-' : '') . ($item['member'] ? $item['member']['member_mobile'] : ''),
+                                'goods_name' => $item['goods']['goods_name'],
+                                'premisses' => isset($doneJson['charge']) ? $doneJson['charge']['charge_premises'] : '',
+                                'username' => $username,
+                                'nbr' => 1,
+                                'done_time' => $appontment['appointment_done_datetime']
+                            ];
                         }
-                        $item['appontment'][] = [
-                            'member' => ($item['cert'] ? $item['cert']['member_cert_name'] . '-' : '') . ($item['member'] ? $item['member']['member_mobile'] : ''),
-                            'goods_name' => $item['goods']['goods_name'],
-                            'premisses' => isset($doneJson['charge']) ? $doneJson['charge']['charge_premises'] : '',
-                            'username' => $username,
-                            'nbr' => 1,
-                            'done_time' => $appontment['appointment_done_datetime']
-                        ];
                     }
                 }
             }
@@ -595,7 +603,7 @@ class WholeController extends Curd
                 $this->saveExpress($params);
             }
             // 买的单个服务
-            if ($goods['goods_classify'] == 'SERVICE') {
+            if (in_array($goods['goods_classify'],['SERVICE','CHNMED','CHNNCD'])) {
                 // 预约表
                 for ($i = 0; $i < intval($params['order_sheet_num']); $i++) {
                     $params['appointmentId'] = 'AP' . date('YmdHis') . random_string(6, 'up');
@@ -603,7 +611,7 @@ class WholeController extends Curd
                     $this->insertAppointment($params, $writeOffDate);
                 }
                 $goods['skuId'] = $params['join_sheet_goods_sku_id'];
-                $goods['category'] = 'SERVICE';
+                $goods['category'] = $goods['goods_classify'];
                 // 权益表
                 $this->insertMemberBenefit($params, $goods);
             } elseif ($goods['goods_classify'] == 'PACKAGE') {  // 一个套餐买多个
@@ -1172,8 +1180,9 @@ class WholeController extends Curd
                         // 更新Appointment 表
                         $appointments = Appointment::where('join_appointment_member_benefit_id', $benefit['join_benefit_order_id'])
                             ->where('appointment_status', 'INIT')
-                            ->limit($list['nbr'])
+                            ->limit(intval($list['nbr']))
                             ->get();
+                        dump($appointments);
                         foreach ($appointments as $appointment) {
                             Appointment::where('appointment_id', $appointment->appointment_id)->update([
                                 'appointment_status' => 'DONE',
@@ -1572,7 +1581,7 @@ class WholeController extends Curd
             ])
             ->select('order_id','join_order_member_id','order_is_complete','order_status_system')
             ->where("order_is_complete",'N')
-            ->where("order_category",'NORMAL')
+            ->whereIn("order_category",['NORMAL','SYSTEM'])
             ->orderBy('order_addtimes','DESC')
             ->get()
             ->toArray();