Просмотр исходного кода

Merge branch 'zhongqi-delivery'

shish 7 месяцев назад
Родитель
Сommit
f1d25e3ae0
1 измененных файлов с 33 добавлено и 9 удалено
  1. 33 9
      common/components/delivery/platform/shunfeng/CallBackHandler.php

+ 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, '顺丰骑士撤单回调', 'shop_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);
+                }
+            }
+        });
     }
 
     /**