|
|
@@ -214,10 +214,10 @@ public class OrderCloseEventHandler implements AwoaraEventHandler<OrderInfoObjec
|
|
|
var unfreezeAmount = washOrder.getAmount();
|
|
|
|
|
|
// 归属站点账户解冻扣除平台技术服务费后总共用于分账的金额
|
|
|
- var localAmount = (int)(unfreezeAmount * 0.3) - platformAmount;
|
|
|
+ var localAmount = (int) (unfreezeAmount * 0.3) - platformAmount;
|
|
|
|
|
|
// 当前消费站点分账收入(订单金额的70%,不承担平台手续费)
|
|
|
- var crossAmount = washOrder.getAmount() - (int)(unfreezeAmount * 0.3);
|
|
|
+ var crossAmount = washOrder.getAmount() - (int) (unfreezeAmount * 0.3);
|
|
|
|
|
|
// 当前消费站点收入(跨店消费,原充值站点要分订单的70%)
|
|
|
stationAccountService.lambdaUpdate()
|
|
|
@@ -231,7 +231,7 @@ public class OrderCloseEventHandler implements AwoaraEventHandler<OrderInfoObjec
|
|
|
.eq(StationAccount::getStationId, userStationId)
|
|
|
.update();
|
|
|
|
|
|
- // t_split_record 0.平台服务费收入 1.消费站点收入 2.归属站点收入 3.归属站点解冻 4.归属站点支出(给消费站点结算)
|
|
|
+ // t_split_record 0.平台服务费收入 1.消费站点收入 2.归属站点解冻 3.归属站点收入 4.归属站点支出(给消费站点结算)
|
|
|
var splitRecord0 = new SplitRecord()
|
|
|
.setFromStationId(userStationId)
|
|
|
.setToStationId(StationAccount.PLATFORM_STATION_ID)
|
|
|
@@ -248,17 +248,17 @@ public class OrderCloseEventHandler implements AwoaraEventHandler<OrderInfoObjec
|
|
|
|
|
|
var splitRecord2 = new SplitRecord()
|
|
|
.setFromStationId(userStationId)
|
|
|
- .setToStationId(userStationId)
|
|
|
+ .setToStationId(washOrder.getStationId())
|
|
|
.setTradeNo(washOrder.getOrderId())
|
|
|
- .setAmount(localAmount)
|
|
|
- .setType(SplitRecord.TYPE_CONSUME);
|
|
|
+ .setAmount(unfreezeAmount)
|
|
|
+ .setType(SplitRecord.TYPE_UNFREEZE);
|
|
|
|
|
|
var splitRecord3 = new SplitRecord()
|
|
|
.setFromStationId(userStationId)
|
|
|
- .setToStationId(washOrder.getStationId())
|
|
|
+ .setToStationId(userStationId)
|
|
|
.setTradeNo(washOrder.getOrderId())
|
|
|
- .setAmount(unfreezeAmount)
|
|
|
- .setType(SplitRecord.TYPE_UNFREEZE);
|
|
|
+ .setAmount(localAmount)
|
|
|
+ .setType(SplitRecord.TYPE_CONSUME);
|
|
|
|
|
|
var splitRecord4 = new SplitRecord()
|
|
|
.setFromStationId(userStationId)
|
|
|
@@ -269,11 +269,12 @@ public class OrderCloseEventHandler implements AwoaraEventHandler<OrderInfoObjec
|
|
|
|
|
|
splitRecordService.saveBatch(List.of(splitRecord0, splitRecord1, splitRecord2, splitRecord3, splitRecord4));
|
|
|
|
|
|
- // t_station_account_record 0.平台服务费收入 1.消费站点收入 2.归属站点收入 3.归属站点解冻 4.归属站点支出(给消费站点结算)
|
|
|
+ // t_station_account_record 0.平台服务费收入 1.消费站点收入 2.归属站点解冻 3.归属站点收入 4.归属站点支出(给消费站点结算)
|
|
|
var platformStationAccount = stationAccountService.getStationAccount(StationAccount.PLATFORM_STATION_ID);
|
|
|
var consumeStationAccount = stationAccountService.getStationAccount(washOrder.getStationId());
|
|
|
var userStationAccount = stationAccountService.getStationAccount(userStationId);
|
|
|
|
|
|
+ // 平台服务费收入
|
|
|
var stationAccountRecord0 = new StationAccountRecord()
|
|
|
.setStationId(StationAccount.PLATFORM_STATION_ID)
|
|
|
.setTradeNo(washOrder.getOrderId())
|
|
|
@@ -283,6 +284,7 @@ public class OrderCloseEventHandler implements AwoaraEventHandler<OrderInfoObjec
|
|
|
.setBeforeBalance(platformStationAccount.getBalance())
|
|
|
.setAfterBalance(platformStationAccount.getBalance() + platformAmount);
|
|
|
|
|
|
+ // 消费站点收入
|
|
|
var stationAccountRecord1 = new StationAccountRecord()
|
|
|
.setStationId(washOrder.getStationId())
|
|
|
.setTradeNo(washOrder.getOrderId())
|
|
|
@@ -292,20 +294,33 @@ public class OrderCloseEventHandler implements AwoaraEventHandler<OrderInfoObjec
|
|
|
.setBeforeBalance(consumeStationAccount.getBalance())
|
|
|
.setAfterBalance(consumeStationAccount.getBalance() + crossAmount);
|
|
|
|
|
|
- // 归属站点收入和归属站点解冻合并成一条数据
|
|
|
+ //归属站点解冻(站点收入)
|
|
|
var stationAccountRecord2 = new StationAccountRecord()
|
|
|
.setStationId(userStationId)
|
|
|
.setTradeNo(washOrder.getOrderId())
|
|
|
- .setAmount(localAmount)
|
|
|
- .setType(SplitRecord.TYPE_CONSUME) // Todo 是否要拆分消费和解冻
|
|
|
+ .setAmount(unfreezeAmount)
|
|
|
+ .setType(SplitRecord.TYPE_UNFREEZE)
|
|
|
.setTypeDesc(StationAccountRecord.TYPE_收入)
|
|
|
.setBeforeBalance(userStationAccount.getBalance())
|
|
|
.setAfterBalance(userStationAccount.getBalance() + localAmount)
|
|
|
.setBeforeFrozenAmount(userStationAccount.getFrozenAmount())
|
|
|
.setAfterFrozenAmount(userStationAccount.getFrozenAmount() - unfreezeAmount);
|
|
|
|
|
|
+ // 归属站点收入
|
|
|
+// var stationAccountRecord3 = new StationAccountRecord()
|
|
|
+// .setStationId(userStationId)
|
|
|
+// .setTradeNo(washOrder.getOrderId())
|
|
|
+// .setAmount(localAmount)
|
|
|
+// .setType(SplitRecord.TYPE_CONSUME)
|
|
|
+// .setTypeDesc(StationAccountRecord.TYPE_收入)
|
|
|
+// .setBeforeBalance(userStationAccount.getBalance())
|
|
|
+// .setAfterBalance(userStationAccount.getBalance() + localAmount)
|
|
|
+// .setBeforeFrozenAmount(userStationAccount.getFrozenAmount())
|
|
|
+// .setAfterFrozenAmount(userStationAccount.getFrozenAmount() - unfreezeAmount);
|
|
|
+
|
|
|
+
|
|
|
// 归属站点支出(结算给消费站点)
|
|
|
- var stationAccountRecord3 = new StationAccountRecord()
|
|
|
+ var stationAccountRecord4 = new StationAccountRecord()
|
|
|
.setStationId(userStationId)
|
|
|
.setTradeNo(washOrder.getOrderId())
|
|
|
.setAmount(crossAmount)
|
|
|
@@ -314,6 +329,6 @@ public class OrderCloseEventHandler implements AwoaraEventHandler<OrderInfoObjec
|
|
|
.setBeforeBalance(stationAccountRecord2.getAfterBalance())
|
|
|
.setAfterBalance(stationAccountRecord2.getAfterBalance() - unfreezeAmount);
|
|
|
|
|
|
- stationAccountRecordService.saveBatch(List.of(stationAccountRecord0, stationAccountRecord1, stationAccountRecord2, stationAccountRecord3));
|
|
|
+ stationAccountRecordService.saveBatch(List.of(stationAccountRecord0, stationAccountRecord1, stationAccountRecord2, stationAccountRecord4));
|
|
|
}
|
|
|
}
|