Browse Source

订单完成后process

gorden 6 tháng trước cách đây
mục cha
commit
fc7cc8c075

+ 29 - 1
app/admin/controller/order/WholeController.php

@@ -747,6 +747,9 @@ class WholeController extends Curd
             $orderConfigJson = json_decode($order->order_config_json, true);
             if (isset($orderConfigJson['premises'])) {
                 $premises = SysDept::where('dept_name', $orderConfigJson['premises'])->first();
+                if (!empty($premises)){
+                    $params['submit_premises_id'] = $premises->dept_id;
+                }
             }
         }
         $params['orderId'] = $params['order_id'];
@@ -1144,6 +1147,10 @@ class WholeController extends Curd
                 Event::dispatch('order.kangyangCityVIP.grant', $params);
             }
 
+            if ($order->order_is_complete == 'Y'){
+                Event::dispatch('order.complete',$params);
+            }
+
             Db::commit();
 
             // 打小票
@@ -1280,6 +1287,9 @@ class WholeController extends Curd
             $orderConfigJson = json_decode($order->order_config_json, true);
             if (isset($orderConfigJson['premises'])) {
                 $premises = SysDept::where('dept_name', $orderConfigJson['premises'])->first();
+                if (!empty($premises)){
+                    $params['submit_premises_id'] = $premises->dept_id;
+                }
             }
         }
         $params['orderId'] = $params['order_id'];
@@ -1512,6 +1522,17 @@ class WholeController extends Curd
 
                 $appointment->save();
             }
+
+            // 2.4W 康养城
+            if ($params['goods_classify'] == 'VIP' && $order->order_status_payment == 'SUCCESS') {
+                $params['member_id'] = $params['join_order_member_id'];
+                Event::dispatch('order.kangyangCityVIP.grant', $params);
+            }
+
+            if ($order->order_is_complete == 'Y'){
+                Event::dispatch('order.complete',$params);
+            }
+
             Db::commit();
 
             // 打小票
@@ -1758,8 +1779,8 @@ class WholeController extends Curd
             $systemStatus = 'SENDING';  // 待发货
             // 立即结算
             if ($params['settlement_now'] == 'Y') {
-                $params['order_is_complete'] = 'Y';
                 if (in_array($params['goods_classify'], ['SERVICE', 'CHNMED', 'CHNNCD', 'MEALS', 'VIP'])) {
+                    $params['order_is_complete'] = 'Y';
                     $systemStatus = 'DONE';
                 }
             }
@@ -2157,6 +2178,9 @@ class WholeController extends Curd
                 $params['member_id'] = $params['join_order_member_id'];
                 Event::dispatch('order.kangyangCityVIP.grant', $params);
             }
+            if (!empty($params['order_is_complete']) && $params['order_is_complete'] == 'Y'){
+                Event::dispatch('order.complete',$params);
+            }
 
             Db::commit();
 
@@ -2649,6 +2673,10 @@ class WholeController extends Curd
                 Event::dispatch('order.kangyangCityVIP.grant', $params);
             }
 
+            if (!empty($params['order_is_complete']) && $params['order_is_complete'] == 'Y'){
+                Event::dispatch('order.complete',$params);
+            }
+
             Db::commit();
 
             // 打小票

+ 32 - 0
app/admin/service/order/OrderProcessService.php

@@ -0,0 +1,32 @@
+<?php
+
+namespace app\admin\service\order;
+
+use app\model\OrderProcess;
+use support\Log;
+
+class OrderProcessService
+{
+    public static function insert($params)
+    {
+        try {
+            OrderProcess::insert([
+                'join_order_process_member_id' => $params['member_id'],
+                'join_order_process_user_id' => $params['user_id'] ?? '',
+                'join_order_process_dept_id' => $params['dept_id'] ?? 0,
+                'join_process_order_id' => $params['order_id'],
+                'order_process_key' => $params['process_key'],
+                'order_process_name' => $params['process_name'],
+                'order_process_json' => !empty($params['process_json']) ? json_encode($params['process_json']) : '[]',
+                'order_process_datetimes' => date('Y-m-d H:i:s'),
+                'order_process_remark' => $params['process_remark'] ?? '',
+                'order_process_extend_json' => !empty($params['process_extend_json']) ? json_encode($params['process_extend_json']) : '[]',
+                'order_process_addtimes' => time()
+            ]);
+        } catch (\Exception $e) {
+            dump($e->getMessage());
+            $params['msg'] = $e->getMessage();
+            Log::error("WRITE_ORDER_PROCESS_ERROR", $params);
+        }
+    }
+}

+ 1 - 1
app/admin/service/statistics/MemberService.php

@@ -34,7 +34,7 @@ class MemberService
                 DATE_FORMAT(FROM_UNIXTIME(member_addtimes), '%Y/%m') AS `month`,
                 count(*) as `num` 
             FROM app_member 
-            where member_is_owner='N' and member_addtimes >= UNIX_TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 12 MONTH)) and member_addtimes <= UNIX_TIMESTAMP()
+            where member_is_owner='N' and member_mobile != '0000' and member_addtimes >= UNIX_TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 12 MONTH)) and member_addtimes <= UNIX_TIMESTAMP()
             group by month 
             order by month asc ");
         $newAddition12Month = [];

+ 28 - 13
app/event/order/OrderProcessEvent.php

@@ -2,27 +2,42 @@
 
 namespace app\event\order;
 
+use app\admin\service\order\OrderProcessService;
 use app\model\OrderProcess;
 use support\Log;
+use Tinywan\Jwt\JwtToken;
 
 class OrderProcessEvent
 {
     public function orderComplete($params)
     {
+        dump($params);
         try {
-            OrderProcess::insert([
-                'join_order_process_member_id'=>'',
-                'join_order_process_user_id'=>'',
-                'join_order_process_dept_id'=>'',
-                'join_process_order_id'=>'',
-                'order_process_key'=>'',
-                'order_process_name'=>'',
-                'order_process_json'=>'',
-                'order_process_datetimes'=>'',
-                'order_process_addtimes'=>'',
-            ]);
-        }catch (\Exception $e){
-            Log::error("WRITE_ORDER_PROCESS_ERROR",$params);
+            $userId = JwtToken::getCurrentId();
+        } catch (\Exception $e) {
+        }
+
+        try {
+            $data = [
+                'process_key' => 'DONE',
+                'process_name' => '订单完成',
+                'user_id' => $userId ?? '',
+                'process_json' => $params
+            ];
+            if (!empty($params['join_order_member_id'])) {
+                $data['member_id'] = $params['join_order_member_id'];
+            }
+            if (!empty($params['orderId'])) {
+                $data['order_id'] = $params['orderId'];
+            }
+            if (!empty($params['submit_premises_id'])) {
+                $data['dept_id'] = $params['submit_premises_id'];
+            }
+            OrderProcessService::insert($data);
+        } catch (\Exception $e) {
+            dump($e->getMessage());
+            $params['msg'] = $e->getMessage();
+            Log::error("WRITE_ORDER_PROCESS_ERROR", $params);
         }
     }
 }

+ 1 - 1
app/model/OrderProcess.php

@@ -16,7 +16,7 @@ class OrderProcess extends Model
 
     const UPDATED_AT = null;
 
-    public function serializeDate(DateTimeInterface $date)
+    public function serializeDate(\DateTimeInterface $date)
     {
         return $date->format('Y-m-d H:i:s');
     }

+ 3 - 0
config/event.php

@@ -15,5 +15,8 @@ return [
     ],
     'order_pay.member_level.up' => [
         [\app\event\MemberLevelEvent::class,'payOrderLevelUp']
+    ],
+    'order.complete' => [
+        [\app\event\order\OrderProcessEvent::class,'orderComplete']
     ]
 ];