Переглянути джерело

顺丰跑腿取消订单或订单异常处理修改

shizhongqi 7 місяців тому
батько
коміт
e429e3d4c3

+ 1 - 1
common/components/delivery/platform/shansong/OrderStatusCallBack.php

@@ -76,7 +76,7 @@ class OrderStatusCallBack
                         OrderClass::cancelOrderSend($order, ['staffId' => 0, 'staffName' => '']);
 
                         $abortType = $data['abortType'] ?? null;
-                        $event = $this->cancelFrom($sendStatus, $abortType);
+                        $event = $this  cancelFrom($sendStatus, $abortType);
                         GhsNotifyClass::ptErrorNotify($order->id, $event);
                     }
 

+ 33 - 9
common/components/delivery/platform/shunfeng/CallBackHandler.php

@@ -194,12 +194,18 @@ class CallBackHandler
     private function handleSfCancel($data)
     {
         return $this->processOrderCallback($data, '顺丰取消订单回调', 'sf_order_id', function($order, $sendStatus, $isGhs, $data) {
-            if ($isGhs && !in_array($order->sendStatus, [-1]) && $sendStatus == -1) {
-                OrderClass::cancelOrderSend($order, ['staffId' => 0, 'staffName' => '']);
-
+            if(!in_array($order->sendStatus, [-2]) && $sendStatus == -2) {
                 $cancelCode = $data['cancel_code'];
                 $event = $this->cancelFrom($sendStatus, $cancelCode);
-                GhsNotifyClass::ptErrorNotify($order->id, $event);
+
+                if($isGhs) {
+                    OrderClass::cancelOrderSend($order, ['staffId' => 0, 'staffName' => '']);
+                    GhsNotifyClass::ptErrorNotify($order->id, $event);
+                }
+
+                if(!$isGhs) {
+                    HdNotifyClass::ptErrorNotify($order->id, $event);
+                }
             }
         });
     }
@@ -214,12 +220,18 @@ class CallBackHandler
     private function handleRiderException($data)
     {
         return $this->processOrderCallback($data, '顺丰订单异常回调', 'sf_order_id', function($order, $sendStatus, $isGhs, $data) {
-            if ($isGhs && !in_array($order->sendStatus, [-1]) && $sendStatus == -2) {
-                OrderClass::cancelOrderSend($order, ['staffId' => 0, 'staffName' => '']);
-
+            if(!in_array($order->sendStatus, [-2]) && $sendStatus == -2){
                 $exId = $data['ex_id'];
                 $event = $this->cancelFrom($sendStatus, $exId);
-                HdNotifyClass::ptErrorNotify($order->id, $event);
+
+                if ($isGhs) {
+                    OrderClass::cancelOrderSend($order, ['staffId' => 0, 'staffName' => '']);
+                    GhsNotifyClass::ptErrorNotify($order->id, $event);
+                }
+
+                if (!$isGhs) {
+                    HdNotifyClass::ptErrorNotify($order->id, $event);
+                }
             }
         });
     }
@@ -233,7 +245,19 @@ class CallBackHandler
      */
     private function handleRiderRecall($data)
     {
-        return $this->processOrderCallback($data, '顺丰骑士撤单回调', 'sf_order_id');
+        return $this->processOrderCallback($data, '顺丰骑士撤单回调', 'sf_order_id', function($order, $sendStatus, $isGhs, $data) {
+            if (!in_array($order->sendStatus, [-2]) && $sendStatus == -2) {
+                $statusDesc = $data['status_desc'];
+
+                if($isGhs){
+                    GhsNotifyClass::ptErrorNotify($order->id, $statusDesc);
+                }
+
+                if(!$isGhs){
+                    HdNotifyClass::ptErrorNotify($order->id, $statusDesc);
+                }
+            }
+        });
     }
 
     /**