Bläddra i källkod

分账等调试

skyline 1 år sedan
förälder
incheckning
f122acdb41

+ 13 - 12
car-wash-service/src/main/java/com/kym/service/awoara/event/handle/OrderCloseEventHandler.java

@@ -219,18 +219,6 @@ public class OrderCloseEventHandler implements AwoaraEventHandler<OrderInfoObjec
         // 当前消费站点分账收入(订单金额的70%,不承担平台手续费)
         var crossAmount = washOrder.getAmount() - (int) (unfreezeAmount * 0.3);
 
-        // 当前消费站点收入(跨店消费,原充值站点要分订单的70%)
-        stationAccountService.lambdaUpdate()
-                .setSql("balance = balance + {0}", crossAmount)
-                .eq(StationAccount::getStationId, washOrder.getStationId())
-                .update();
-
-        // 用户归属站点解冻和收入,用户归属站点支出(支付给消费站点)
-        stationAccountService.lambdaUpdate()
-                .setSql("balance = balance + {0}, frozen_amount = frozen_amount - {1}", localAmount - crossAmount, unfreezeAmount)
-                .eq(StationAccount::getStationId, userStationId)
-                .update();
-
         // t_split_record 0.平台服务费收入 1.消费站点收入 2.归属站点解冻 3.归属站点收入 4.归属站点支出(给消费站点结算)
         var splitRecord0 = new SplitRecord()
                 .setFromStationId(userStationId)
@@ -330,5 +318,18 @@ public class OrderCloseEventHandler implements AwoaraEventHandler<OrderInfoObjec
                 .setAfterBalance(stationAccountRecord2.getAfterBalance() - unfreezeAmount);
 
         stationAccountRecordService.saveBatch(List.of(stationAccountRecord0, stationAccountRecord1, stationAccountRecord2, stationAccountRecord4));
+
+        // 最后更新账户金额
+        // 当前消费站点收入(跨店消费,原充值站点要分订单的70%)
+        stationAccountService.lambdaUpdate()
+                .setSql("balance = balance + {0}", crossAmount)
+                .eq(StationAccount::getStationId, washOrder.getStationId())
+                .update();
+
+        // 用户归属站点解冻和收入,用户归属站点支出(支付给消费站点)
+        stationAccountService.lambdaUpdate()
+                .setSql("balance = balance + {0}, frozen_amount = frozen_amount - {1}", localAmount - crossAmount, unfreezeAmount)
+                .eq(StationAccount::getStationId, userStationId)
+                .update();
     }
 }