提交 965aab82 authored 作者: huyufan's avatar huyufan

Merge remote-tracking branch 'origin/v6.5_transport_open_20231115' into test

...@@ -862,8 +862,8 @@ public class OwnerAccountServiceImpl implements OwnerAccountService { ...@@ -862,8 +862,8 @@ public class OwnerAccountServiceImpl implements OwnerAccountService {
prepaidFreight.setRelationId(null); prepaidFreight.setRelationId(null);
prepaidFreight.setAlterationBalance(frozenBalance); prepaidFreight.setAlterationBalance(frozenBalance);
prepaidFreight.setFrozenBalance(ownerAccount.getFrozenBalance().add(frozenBalance)); prepaidFreight.setFrozenBalance(ownerAccount.getFrozenBalance());
prepaidFreight.setUsableBalance(ownerAccount.getUsableBalance().subtract(frozenBalance)); prepaidFreight.setUsableBalance(ownerAccount.getUsableBalance());
prepaidFreight.setTakeOutBalance(BigDecimal.ZERO); prepaidFreight.setTakeOutBalance(BigDecimal.ZERO);
prepaidFreight.setAccountBalance(ownerAccount.getAccountBalance()); prepaidFreight.setAccountBalance(ownerAccount.getAccountBalance());
prepaidFreight.setOwnerUserNo(userNo); prepaidFreight.setOwnerUserNo(userNo);
......
...@@ -121,6 +121,21 @@ public class SettlementServiceImpl implements SettlementService { ...@@ -121,6 +121,21 @@ public class SettlementServiceImpl implements SettlementService {
if (subtract.subtract(ans).compareTo(BigDecimal.ZERO) >= 0) { if (subtract.subtract(ans).compareTo(BigDecimal.ZERO) >= 0) {
OwnerAccount account = ownerAccountDao.getAccountByOwnerUserNoAndAccountType(orderChild.getOwnerUserNo(), OwnerAccount account = ownerAccountDao.getAccountByOwnerUserNoAndAccountType(orderChild.getOwnerUserNo(),
OwnerAccountEnum.AccountTypeStatus.PREPAID_FREIGHT_ACCOUNT.getCode()); OwnerAccountEnum.AccountTypeStatus.PREPAID_FREIGHT_ACCOUNT.getCode());
while (true) {
OwnerAccount update = new OwnerAccount();
update.setId(account.getId());
update.setAccountBalance(ans);
update.setModifiedTime(account.getModifiedTime());
update.setFrozenBalance(ans);
update.setUsableBalance(BigDecimal.ZERO);
Integer i = ownerAccountDao.updateAccountCAS(update, LocalDateTime.now(), false);
if (null != i && i >0 ) {
break;
}
}
account = ownerAccountDao.getAccountByOwnerUserNoAndAccountType(orderChild.getOwnerUserNo(),
OwnerAccountEnum.AccountTypeStatus.PREPAID_FREIGHT_ACCOUNT.getCode());
settlementOwnerDetail.setPrepayFreight(ans); settlementOwnerDetail.setPrepayFreight(ans);
settlementDriverDetail.setPrepayFreightFlag(1); settlementDriverDetail.setPrepayFreightFlag(1);
...@@ -136,28 +151,17 @@ public class SettlementServiceImpl implements SettlementService { ...@@ -136,28 +151,17 @@ public class SettlementServiceImpl implements SettlementService {
runningWaterRecord.setOrderChildNo(orderChild.getChildNo()); runningWaterRecord.setOrderChildNo(orderChild.getChildNo());
runningWaterRecord.setRelationId(null); runningWaterRecord.setRelationId(null);
runningWaterRecord.setAlterationBalance(ans); runningWaterRecord.setAlterationBalance(ans);
runningWaterRecord.setFrozenBalance(account.getFrozenBalance().subtract(ans)); runningWaterRecord.setFrozenBalance(account.getFrozenBalance());
runningWaterRecord.setUsableBalance(account.getUsableBalance()); runningWaterRecord.setUsableBalance(account.getUsableBalance());
runningWaterRecord.setTakeOutBalance(ans); runningWaterRecord.setTakeOutBalance(ans);
runningWaterRecord.setAccountBalance(account.getFrozenBalance().subtract(ans).add(account.getUsableBalance())); runningWaterRecord.setAccountBalance(account.getAccountBalance());
runningWaterRecord.setOwnerUserNo(account.getOwnerUserNo()); runningWaterRecord.setOwnerUserNo(account.getOwnerUserNo());
runningWaterRecord.setAccountType(OwnerAccountEnum.AccountTypeStatus.PREPAID_FREIGHT_ACCOUNT.getCode()); runningWaterRecord.setAccountType(OwnerAccountEnum.AccountTypeStatus.PREPAID_FREIGHT_ACCOUNT.getCode());
runningWaterRecord.setRunningWaterType(OwnerAccountEnum.RunningWaterStatus.TAKE_OUT.getCode()); runningWaterRecord.setRunningWaterType(OwnerAccountEnum.RunningWaterStatus.TAKE_OUT.getCode());
runningWaterRecord.setRunningWaterNo(idGenerateSnowFlake.nextId(IdTypeEnum.Type.TAKE_OUT.getCode())); runningWaterRecord.setRunningWaterNo(idGenerateSnowFlake.nextId(IdTypeEnum.Type.TAKE_OUT.getCode()));
ownerRunningWaterRecordDao.saveEntity(runningWaterRecord); ownerRunningWaterRecordDao.saveEntity(runningWaterRecord);
while (true) {
OwnerAccount update = new OwnerAccount();
update.setId(account.getId());
update.setAccountBalance(ans);
update.setModifiedTime(account.getModifiedTime());
update.setFrozenBalance(ans);
update.setUsableBalance(BigDecimal.ZERO);
Integer i = ownerAccountDao.updateAccountCAS(update, LocalDateTime.now(), false);
if (null != i && i >0 ) {
break;
}
}
} else { } else {
settlementOwnerDetail.setPrepayFreight(BigDecimal.ZERO); settlementOwnerDetail.setPrepayFreight(BigDecimal.ZERO);
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论