Procházet zdrojové kódy

全款 -通知 - 用户确认服务完成
尾款 -通知 - 支付尾款后即服务完成

liugc před 1 rokem
rodič
revize
e1a619eeba

+ 2 - 7
app/api/controller/ServiceOrderController.php

@@ -143,13 +143,8 @@ class ServiceOrderController extends BaseApiController
         if (false === $result) {
             return $this->fail(ServiceOrderLogic::getError());
         }
-        // 订单完成通知【给用户】
-        $res = event('Notice',  [
-            'scene_id' => 120,
-            'params' => [
-                'user_id' => $params['user_id']
-            ]
-        ]);
+        // 订单完成通知【给用户】 - 全款 -通知
+        ServiceOrderLogic::serviceFinishNotice($params);
         return $this->success('已确认服务完成', [], 1, 1);
     }
 

+ 26 - 0
app/api/logic/ServiceOrderLogic.php

@@ -882,4 +882,30 @@ class ServiceOrderLogic extends BaseLogic
         }
     }
 
+    /**
+     * 订单完成通知【给用户】 - 全款 -通知
+     * @param $params
+     * @return bool
+     */
+    public static function serviceFinishNotice($params)
+    {
+        try {
+            $order = RechargeOrder::where('sn', $params['sn'])
+                ->where('payment_type','=',0)
+                ->where('pay_status','=',1)
+                ->findOrEmpty();
+            if(!$order->isEmpty()){
+                event('Notice',  [
+                    'scene_id' => 120,
+                    'params' => [
+                        'user_id' => $order['user_id']
+                    ]
+                ]);
+            }
+            return true;
+        }catch (\Exception $e) {
+            return false;
+        }
+    }
+
 }

+ 14 - 0
app/common/service/pay/WeChatPayService.php

@@ -408,6 +408,20 @@ class WeChatPayService extends BasePayService
                                     ]);
                                 }
                             }
+
+                            // 订单完成通知【给用户】 - 尾款 -通知
+                            $order = RechargeOrder::where('sn', $message['out_trade_no'])
+                                ->where('payment_type','=',2)
+                                ->where('pay_status','=',1)
+                                ->findOrEmpty();
+                            if(!$order->isEmpty()){
+                                event('Notice',  [
+                                    'scene_id' => 120,
+                                    'params' => [
+                                        'user_id' => $order['user_id']
+                                    ]
+                                ]);
+                            }
                         }
                         break;
                 }