shish 11 miesięcy temu
rodzic
commit
077353baf0
1 zmienionych plików z 8 dodań i 15 usunięć
  1. 8 15
      app-hd/controllers/IntraCityController.php

+ 8 - 15
app-hd/controllers/IntraCityController.php

@@ -255,7 +255,7 @@ class IntraCityController extends BaseController
             util::fail('订单出错');
         }
         if ($order['mainId'] != $this->mainId) {
-            util::fail('订单出错');
+            util::fail('不是你的订单哈。');
         }
         $sn = $order['orderSn'];
         $shopId = intval($this->shopId);
@@ -422,8 +422,7 @@ class IntraCityController extends BaseController
                 // store_order_id 门店订单编号, 即 orderId。如果是重新配送的第n次,订单编号的命名规则为:orderId_copy_n
                 $query = (new Query())
                     ->from('xhExpressOrder')
-                    ->where(new \yii\db\Expression('storeOrderId LIKE CONCAT(:prefix, "%")', [':prefix' => $orderId . '_copy_%']))
-                    ->andWhere(['mainId' => $this->mainId]);
+                    ->where(['orderId' => $orderId]);
                 // $command = $query->createCommand();
                 // $sql = $command->sql;
                 $copyOrderCount = $query->count();
@@ -431,7 +430,6 @@ class IntraCityController extends BaseController
                 $storeOrderId = $orderId . '_copy_' . $copyOrderCount;
             }
 
-
             $callbackUrl = Yii::$app->params['hdHost'] . '/intra-city/callback';
             $orderData = [
                 'wx_store_id' => $shopExt['wxStoreId'],
@@ -475,6 +473,7 @@ class IntraCityController extends BaseController
                     'wxOrderId' => $result['wx_order_id'] ?? '',
                     'wxStoreId' => $result['wx_store_id'] ?? '',
                     'storeOrderId' => $result['store_order_id'] ?? '',
+                    'orderId' => $orderId,
                     'transOrderId' => $result['trans_order_id'] ?? '',
                     'distance' => $result['distance'] ?? 0,
                     'fee' => $result['fee'] ?? 0,
@@ -521,30 +520,26 @@ class IntraCityController extends BaseController
             }
             $order = OrderClass::getById($orderId, false, 'id, mainId, sendStatus');
             if ($order['mainId'] != $this->mainId) {
-                util::fail('订单未找到');
+                util::fail('不是你的订单!');
             }
 
             // 检查是否存在重复的订单:如果存在,则使用最后一个订单的 store_order_id
             $storeOrderId = $orderId; // ------------------------------------- 注意区分:$storeOrderId , $orderId 。它们有可能不相同
             $query = (new Query())
                 ->from('xhExpressOrder')
-                ->where(['and',
-                    new \yii\db\Expression('storeOrderId LIKE CONCAT(:prefix, "%")', [':prefix' => $orderId . '_copy_']),
-                    ['status' => 2] // 取完成状态
-                ])->andWhere(['mainId' => $this->mainId])
+                ->where(['orderId' => $orderId])
+                ->andWhere(['status' => 1])
                 ->orderBy('addTime DESC');
             $esDatas = $query->all();
             $count = count($esDatas);
             if ($count > 0) {
                 $es = $esDatas[0];
                 $storeOrderId = $es['storeOrderId'];
-
                 if ($count > 1) {
                     noticeUtil::push('同城配送订单重复多于1个. store_order_id:' . $orderId . ',wx_store_id:' . $wxStoreId);
                 }
             }
 
-
             $result = IntraCityExpress::queryOrder($wxStoreId, $storeOrderId, $wxOrderId);
             if (isset($result['errcode']) && $result['errcode'] === 0) {
                 util::success($result, "查询成功");
@@ -593,10 +588,8 @@ class IntraCityController extends BaseController
             $storeOrderId = $orderId; // ------------------------------------- 注意区分:$storeOrderId , $orderId 。它们有可能不相同
             $query = (new Query())
                 ->from('xhExpressOrder')
-                ->where(['and',
-                    new \yii\db\Expression('storeOrderId LIKE CONCAT(:prefix, "%")', [':prefix' => $orderId . '_copy_']),
-                    ['status' => 1]
-                ])->andWhere(['mainId' => $this->mainId])
+                ->where(['orderId' => $orderId])
+                ->andWhere(['status' => 1])
                 ->orderBy('addTime DESC');
             // $command = $query->createCommand();
             // $sql = $command->sql;