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

refactor(order): 优化订单结算流程

- 将订单奖励结算时的结算字段更新操作移至事务开始处执行
- 确保订单自身结算字段在结算流程早期得到更新
- 避免在异常情况下结算字段未能正确更新的问题
- 提高订单结算流程的数据一致性保障
shichen месяцев назад: 5
Родитель
Сommit
f8cf0ab3b6
1 измененных файлов с 3 добавлено и 3 удалено
  1. 3 3
      app/common/repositories/store/order/StoreOrderRepository.php

+ 3 - 3
app/common/repositories/store/order/StoreOrderRepository.php

@@ -12055,6 +12055,9 @@ class StoreOrderRepository extends BaseRepository
12055 12055
                 return;
12056 12056
             }
12057 12057
             try {
12058
+                // 订单奖励结算时 更新订单自身 结算字段
12059
+                $this->dao->settlementOrderByOrderIdList($unsettledOrderIdList);
12060
+
12058 12061
                 /** 结算 养老金 佣金 */
12059 12062
                 /** @var UserBillRepository $userBillRepository */
12060 12063
                 $userBillRepository = app()->make(UserBillRepository::class);
@@ -12154,9 +12157,6 @@ class StoreOrderRepository extends BaseRepository
12154 12157
                         $sharedProsperityUserRepository->identityUpgrade($affectedUserIdListBySharedProsperity);
12155 12158
                     }
12156 12159
                 }
12157
-
12158
-                // 订单奖励结算时 更新订单自身 结算字段
12159
-                $this->dao->settlementOrderByOrderIdList($unsettledOrderIdList);
12160 12160
             } catch (DbException $e) {
12161 12161
                 throw new ValidateException('订单结算失败');
12162 12162
             }