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

xhGhsOrder表的sameTimeIds 数据异常跟踪 -- 1

shizhongqi 3 месяцев назад
Родитель
Сommit
9012aac6fb

+ 0 - 2
app-ghs/controllers/OrderController.php

@@ -1039,7 +1039,6 @@ class OrderController extends BaseController
 
         $shopId = $this->shopId;
         $customId = $post['customId'] ?? 0;
-        $post['customId'] = $customId;
         //开单必须选客户
         if (empty($customId)) {
             util::fail('请选择客户');
@@ -1391,7 +1390,6 @@ class OrderController extends BaseController
             $saleId = $return->id ?? 0;
             $order = OrderClass::getById($saleId, true);
             if (!empty($order)) {
-
                 //订单发跑腿流程
                 GhsDeliveryOrderClass::prepareAskData($post, $order);
 

+ 13 - 9
biz-ghs/order/classes/OrderClass.php

@@ -1386,7 +1386,6 @@ class OrderClass extends BaseClass
 
         if (isset($data['list']) && !empty($data['list'])) {
             foreach ($data['list'] as $key => $val) {
-
                 //同个人同地址当天订单数
                 $sameTimeIds = $val['sameTimeIds'] ?? '';
                 $sameNum = 0;
@@ -3107,7 +3106,12 @@ XL;
         return true;
     }
 
-    // 更新同天内的所有订单的 sameTimeIds
+    /**
+     * 更新同天内的所有订单的 sameTimeIds
+     * @param $order
+     * @param $date 账单日期
+     * @throws \Exception
+     */
     public static function updateSameTimeIds($order, $date)
     {
         $id = $order->id ?? 0;
@@ -3115,7 +3119,7 @@ XL;
         $mainId = $order->mainId ?? 0;
         $oldSameTimeIds = $order->sameTimeIds ?? '';
 
-        //找到当前订单客户的账单日期为 $date 的所有订单,然后更新同天内的所有订单的 sameTimeIds(加此次要改变的订单的订单号$id)
+        //找到当前客户的账单日期为 $date 的所有订单,然后更新同天内的所有订单的 sameTimeIds(加此次要改变的订单的订单号$id)
         $startTime = $date . ' 00:00:00';
         $endTime = $date . ' 23:59:59';
         $dayOrders = self::getAllByCondition([
@@ -3142,12 +3146,12 @@ XL;
         }
 
         //从原先同天内的订单中删除此次要改变的订单的订单号$id
-        $oldSameTimeIdsArr = explode(',', $oldSameTimeIds);
-        if (in_array($id, $oldSameTimeIdsArr)) {
-            $oldSameTimeIdsArr = array_diff($oldSameTimeIdsArr, [$id]);
-            $oldSameTimeIdsStr = implode(',', $oldSameTimeIdsArr);
-            if (!empty($oldSameTimeIdsArr)) {
-                self::updateByIds($oldSameTimeIdsArr, ['sameTimeIds' => $oldSameTimeIdsStr]);
+        $newSameTimeIdsArr = explode(',', $oldSameTimeIds);
+        if (in_array($id, $newSameTimeIdsArr)) {
+            $newSameTimeIdsArr = array_diff($newSameTimeIdsArr, [$id]);
+            $newSameTimeIdsStr = implode(',', $newSameTimeIdsArr);
+            if (!empty($newSameTimeIdsArr)) {
+                self::updateByIds($newSameTimeIdsArr, ['sameTimeIds' => $newSameTimeIdsStr]);
             }
         }
     }

+ 2 - 3
biz-ghs/order/services/OrderService.php

@@ -273,7 +273,6 @@ class OrderService extends BaseService
 
         //欠款和已付款的走付款后流程
         if (in_array($hasPay, [dict::getDict('hasPay', 'payed'), dict::getDict('hasPay', 'debt')])) {
-
             if ($hasPay == dict::getDict('hasPay', 'debt')) {
                 $shopId = $data['shopId'] ?? 0;
                 $shop = ShopClass::getById($shopId, true);
@@ -915,13 +914,13 @@ class OrderService extends BaseService
                 foreach ($newIdsArray as $currentOrderId) {
                     OrderClass::updateById($currentOrderId, ['sameTimeIds' => $newString]);
                 }
-                //noticeUtil::push($sameKey . '' . $sameAddress . " 当天汇总ids:" . $newString, '15280215347');
+                noticeUtil::push($sameKey . '' . $sameAddress . " 当天汇总ids:" . $newString, '15280215347');
             }
         } else {
             Yii::$app->redis->executeCommand('SETEX', [$sameKey, 186400, $orderId]);
             $order->sameTimeIds = $orderId;
             $order->save();
-            //noticeUtil::push($sameKey . '' . $sameAddress . " 当天汇总ids:" . $orderId, '15280215347');
+            noticeUtil::push($sameKey . '' . $sameAddress . " 当天汇总ids:" . $orderId, '15280215347');
         }
 
     }