Browse Source

Merge branch 'zhongqi-delivery'

shish 8 months ago
parent
commit
1c1e47dabb

+ 1 - 1
app-ghs/controllers/DeliveryController.php

@@ -429,7 +429,7 @@ class DeliveryController extends BaseController
             $ghsOrder->sendDistance = 0;
 
             // 测试发现取消配送没回调的平台,统一在这主动更新配送状态
-            if(in_array($platform, ['shunfeng'])){
+            if(in_array($platform, ['shunfeng', 'fengniao'])){
                 $ghsOrder->sendStatus = -1;
                 OrderClass::cancelOrderSend($ghsOrder, ['staffId' => 0, 'staffName' => '']);
 

+ 62 - 15
app-ghs/controllers/ShopExtController.php

@@ -4,7 +4,6 @@ namespace ghs\controllers;
 
 use biz\product\classes\XjClass;
 use biz\shop\classes\ShopExtClass;
-use bizGhs\order\classes\PurchaseOrderClass;
 use bizGhs\product\classes\ProductClass;
 use common\components\printUtil;
 use common\components\util;
@@ -19,16 +18,24 @@ class ShopExtController extends BaseController
     public function actionModifyExt()
     {
         $post = Yii::$app->request->post();
-        $arr = [];
+
+        $hdArr = [];
+        $ghsArr = [];
+
         if (isset($post['orderFlow'])) {
-            $arr['orderFlow'] = $post['orderFlow'];
+            $hdArr['orderFlow'] = $post['orderFlow'];
+            $ghsArr['orderFlow'] = $post['orderFlow'];
         }
         if (isset($post['thirdSend'])) {
-            $arr['thirdSend'] = $post['thirdSend'];
+            $hdArr['thirdSend'] = $post['thirdSend'];
+            $ghsArr['thirdSend'] = $post['thirdSend'];
         }
         if (isset($post['thirdSendFee'])) {
-            $arr['thirdSendFee'] = $post['thirdSendFee'];
+            $hdArr['thirdSendFee'] = $post['thirdSendFee'];
+            $ghsArr['thirdSendFee'] = $post['thirdSendFee'];
         }
+
+        // 组建零售数据
         if (!empty($post['hcMap'])) {
             $str = $post['hcMap'];
             $map = json_decode($str, true);
@@ -40,27 +47,56 @@ class ShopExtController extends BaseController
                         }
                     }
                 }
-                $arr['hcMap'] = json_encode($map);
+                $hdArr['hcMap'] = json_encode($map);
             }
         }
         if(isset($post['hsFreeKm'])){
-            $arr['hsFreeKm'] = $post['hsFreeKm'];
+            $hdArr['hsFreeKm'] = $post['hsFreeKm'];
         }
         if(isset($post['hsAddFee'])){
-            $arr['hsAddFee'] = $post['hsAddFee'];
+            $hdArr['hsAddFee'] = $post['hsAddFee'];
         }
         if(isset($post['hcFreeKm'])){
-            $arr['hcFreeKm'] = $post['hcFreeKm'];
+            $hdArr['hcFreeKm'] = $post['hcFreeKm'];
         }
-        if (empty($arr)) {
+
+        // 组建批发数据
+        if (!empty($post['pfHcMap'])) {
+            $str = $post['pfHcMap'];
+            $map = json_decode($str, true);
+            if (!empty($map)) {
+                foreach ($map as $v) {
+                    foreach ($v as $v1) {
+                        if(!is_numeric($v1)){
+                            util::fail('请填写完整');
+                        }
+                    }
+                }
+                $ghsArr['hcMap'] = json_encode($map);
+            }
+        }
+        if(isset($post['pfHsFreeKm'])){
+            $ghsArr['hsFreeKm'] = $post['pfHsFreeKm'];
+        }
+        if(isset($post['pfHsAddFee'])){
+            $ghsArr['hsAddFee'] = $post['pfHsAddFee'];
+        }
+        if(isset($post['pfHcFreeKm'])){
+            $ghsArr['hcFreeKm'] = $post['pfHcFreeKm'];
+        }
+
+        if (empty($hdArr) && empty($ghsArr)) {
             util::fail('没有需要修改');
         }
+
+        //批发端更新
         $shopId = $this->shopId;
-        ShopExtClass::updateByCondition(['shopId' => $shopId], $arr);
-        //零售端暂时同步更新
+        ShopExtClass::updateByCondition(['shopId' => $shopId], $ghsArr);
+
+        //零售端更新
         $shop = $this->shop;
         $lsShopId = $shop->lsShopId;
-        ShopExtClass::updateByCondition(['shopId' => $lsShopId], $arr);
+        ShopExtClass::updateByCondition(['shopId' => $lsShopId], $hdArr);
         util::complete('修改成功');
     }
 
@@ -115,10 +151,21 @@ class ShopExtController extends BaseController
         $zjGatheringItemId = $ext->zjGatheringItem ?? 0;
         $zjGatheringItem = ProductClass::getById($zjGatheringItemId, true);
         $zjGatheringItemName = $zjGatheringItem->name ?? '';
-        $arr = $ext->attributes ?? [];
+
+        //零售 shopExt
+        $shop = $this->shop;
+        $lsShopId = $shop->lsShopId;
+        $shopObj = ShopExtClass::getByCondition(['shopId' => $lsShopId], true, 'id,hcMap,hcFreeKm,hsFreeKm,hsAddFee');
+        $arr = $shopObj->attributes;
+
+        //批发 shopExt
+        $arr['pfHcMap'] = $ext['hcMap'];
+        $arr['pfHcFreeKm'] = $ext['hcFreeKm'];
+        $arr['pfHsFreeKm'] = $ext['hsFreeKm'];
+        $arr['pfHsAddFee'] = $ext['hsAddFee'];
+
         $arr['losingItemName'] = $losingItemName;
         $arr['zjGatheringItemName'] = $zjGatheringItemName;
-
         $arr['main'] = $this->main;
 
         util::success($arr);

+ 1 - 1
app-ghs/controllers/UploadController.php

@@ -32,7 +32,7 @@ class UploadController extends BaseController
         $mainId = $this->mainId; // 变动:$this->sjId 改为 $this->mainId
         if (intval($mainId) == 0) {
             Yii::error('------- lose token -------');
-            noticeUtil::push('save-file 无token进行上传文件');
+            noticeUtil::push('save-file 无token进行上传文件 --1');
             return;
         }
         $shopId = $this->shopId;

+ 2 - 2
app-hd/controllers/DeliveryController.php

@@ -300,7 +300,7 @@ class DeliveryController extends BaseController
             $Order = OrderClass::getById($hdOrderId, true, 'id, sendDistance, sendStatus, deliveryId');
             $Order->sendDistance = 0;
 
-            if(in_array($platform, ['shunfeng'])){ // 测试发现取消配送没回调的平台,统一在这主动更新配送状态
+            if(in_array($platform, ['shunfeng', 'fengniao'])){ // 测试发现取消配送没回调的平台,统一在这主动更新配送状态
                 $Order->sendStatus = -1;
 
                 // 更新跑腿订单与批发订单状态
@@ -317,7 +317,7 @@ class DeliveryController extends BaseController
 
             $Order->status = 2;
             //$Order->deliveryId = '';
-            //$Order->sendTip = 0;
+            //$Order->sendTip = 0; //零售xhOrder表没这个字段
             if (!$Order->save()) {
                 Yii::error('保存批发订单失败: ' . json_encode($Order->errors));
                 util::fail('保存批发订单失败');

+ 1 - 1
app-hd/controllers/UploadController.php

@@ -32,7 +32,7 @@ class UploadController extends BaseController
         $mainId = $this->mainId; // 变动:$this->sjId 改为 $this->mainId
         if (intval($mainId) == 0) {
             Yii::error('------- lose token -------');
-            noticeUtil::push('save-file 无token进行上传文件');
+            noticeUtil::push('save-file 无token进行上传文件 --2');
             return;
         }
         $shopId = $this->shopId;

+ 2 - 2
common/components/delivery/platform/didi/CallBackHandler.php

@@ -242,7 +242,7 @@ class CallBackHandler
                 if (!in_array($order->sendStatus, [-2, -1]) && in_array($sendStatus, [-1, -2])) {
                     OrderClass::cancelOrderSend($order, ['staffId' => 0, 'staffName' => '']);
                     // 取消费用设置与保存
-                    if($sendStatus == -1 && isset($data['cancelInfo'])){
+                    if($sendStatus == -1 && isset($data['cancelInfo']) && isset($data['cancelInfo']['cancelFee'])){
                         $deliveryOrder->cancelCost = $data['cancelCost']['cancelFee'];
                     }
                     $event = $this->cancelFrom($data);
@@ -268,7 +268,7 @@ class CallBackHandler
             
             if (!in_array($order->sendStatus, [-2, -1]) && in_array($sendStatus, [-1, -2])) {
                 // 取消费用设置与保存
-                if($sendStatus == -1 && isset($data['cancelInfo'])){
+                if($sendStatus == -1 && isset($data['cancelInfo']) && isset($data['cancelInfo']['cancelFee'])){
                     $deliveryOrder->cancelCost = $data['cancelCost']['cancelFee'];
                 }
                 $event = $this->cancelFrom($data);

+ 4 - 0
common/components/delivery/platform/fengniao/CallBackNotify.php

@@ -61,6 +61,10 @@ class CallBackNotify
         $deliveryOrder->save();
         $orderStatus = OrderStatusUtil::convertStatus($data['order_status']);
 
+        if($sendStatus == -1){
+            noticeUtil::push('蜂鸟跑腿产生订单取消回调');
+        }
+
         if(isset($deliveryOrder->ghsOrderId)){ // 批发
             util::checkRepeatCommit('ghs_pt_'.$deliveryOrder->ghsOrderId.'_'.$data['order_status'], 2); // 防止重复回调
 

+ 4 - 0
common/components/delivery/platform/shunfeng/CallBackHandler.php

@@ -119,6 +119,10 @@ class CallBackHandler
             return false;
         }
 
+        if($sendStatus == -1){
+            noticeUtil::push('顺丰跑腿产生订单取消回调');
+        }
+
         // 更新配送订单
         $deliveryOrder->orderStatus = $sendStatus;
         $deliveryOrder->save();