Commit dfc1faf6 authored by 周健威's avatar 周健威

Merge branch 'feature-delay-add' into dev

parents b37e2aaa 8ba207e8
...@@ -606,17 +606,9 @@ public class OrderAccountBiz extends BaseBiz<OrderAccountMapper,OrderAccount> { ...@@ -606,17 +606,9 @@ public class OrderAccountBiz extends BaseBiz<OrderAccountMapper,OrderAccount> {
for(OrderAccountDeduction deduction : oad.getDeductions()) { for(OrderAccountDeduction deduction : oad.getDeductions()) {
if(DeductionTypeEnum.OTHER_DELAY_SAFE.getCode().equals(deduction.getType())) { if(DeductionTypeEnum.OTHER_DELAY_SAFE.getCode().equals(deduction.getType())) {
deduction.setName(vio.getDeductions()); deduction.setName(vio.getDeductions());
BigDecimal diff = vio.getCost().subtract(deduction.getAmount());
//修改归还押金金额
BigDecimal toBeDeposit = oad.getDepositAmount().subtract(diff);
// if(BigDecimal.ZERO.compareTo(toBeDeposit) > 0) {
// toBeDeposit = BigDecimal.ZERO;
// } else
if(oad.getOriginDepositAmount().compareTo(toBeDeposit) < 0){
toBeDeposit = BigDecimal.ZERO.add(oad.getOriginDepositAmount());
}
oad.setDepositAmount(toBeDeposit);
deduction.setAmount(vio.getCost()); deduction.setAmount(vio.getCost());
//修改归还押金金额
resetDeposit(oad);
flag = Boolean.TRUE; flag = Boolean.TRUE;
break; break;
...@@ -628,12 +620,7 @@ public class OrderAccountBiz extends BaseBiz<OrderAccountMapper,OrderAccount> { ...@@ -628,12 +620,7 @@ public class OrderAccountBiz extends BaseBiz<OrderAccountMapper,OrderAccount> {
OrderAccountDeduction oadNew = initDeduction(vio.getCost(), vio.getDeductions(), DeductionTypeEnum.OTHER_DELAY_SAFE, OrderAccountDeduction.ORIGIN_DEPOSIT); OrderAccountDeduction oadNew = initDeduction(vio.getCost(), vio.getDeductions(), DeductionTypeEnum.OTHER_DELAY_SAFE, OrderAccountDeduction.ORIGIN_DEPOSIT);
oad.getDeductions().add(oadNew); oad.getDeductions().add(oadNew);
//修改归还押金金额 //修改归还押金金额
BigDecimal toBeDeposit = oad.getDepositAmount().subtract(oadNew.getAmount()); resetDeposit(oad);
if(oad.getOriginDepositAmount().compareTo(toBeDeposit) < 0){
toBeDeposit = BigDecimal.ZERO.add(oad.getOriginDepositAmount());
}
//修改归还押金金额
oad.setDepositAmount(toBeDeposit);
} }
} }
...@@ -644,19 +631,21 @@ public class OrderAccountBiz extends BaseBiz<OrderAccountMapper,OrderAccount> { ...@@ -644,19 +631,21 @@ public class OrderAccountBiz extends BaseBiz<OrderAccountMapper,OrderAccount> {
} }
} }
private void resetDeposit(OrderAccountDetail oad) {
//修改归还押金金额
BigDecimal toDeduction = oad.getDeductions().parallelStream().map(OrderAccountDeduction::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
oad.setDepositAmount(oad.getOriginDepositAmount().subtract(toDeduction));
}
private void handleViolateDetail(DeductionTypeEnum dte, OrderAccountDetail oad, DedDetailDTO vio, CancelStartedVO csv) { private void handleViolateDetail(DeductionTypeEnum dte, OrderAccountDetail oad, DedDetailDTO vio, CancelStartedVO csv) {
Boolean flag = Boolean.FALSE; Boolean flag = Boolean.FALSE;
for(OrderAccountDeduction deduction : oad.getDeductions()) { for(OrderAccountDeduction deduction : oad.getDeductions()) {
if(dte.getCode().equals(deduction.getType())) { if(dte.getCode().equals(deduction.getType())) {
deduction.setName(vio.getDeductions()); deduction.setName(vio.getDeductions());
BigDecimal diff = vio.getCost().subtract(deduction.getAmount()); BigDecimal diff = vio.getCost().subtract(deduction.getAmount());
//修改归还押金金额
BigDecimal toBeDeposit = oad.getDepositAmount().subtract(diff);
if(oad.getOriginDepositAmount().compareTo(toBeDeposit) < 0){
toBeDeposit = BigDecimal.ZERO.add(oad.getOriginDepositAmount());
}
oad.setDepositAmount(toBeDeposit);
deduction.setAmount(vio.getCost()); deduction.setAmount(vio.getCost());
//修改归还押金金额
resetDeposit(oad);
//设置订单明细参数 //设置订单明细参数
csv.setViolateAmount(csv.getViolateAmount().add(diff)); csv.setViolateAmount(csv.getViolateAmount().add(diff));
...@@ -671,11 +660,7 @@ public class OrderAccountBiz extends BaseBiz<OrderAccountMapper,OrderAccount> { ...@@ -671,11 +660,7 @@ public class OrderAccountBiz extends BaseBiz<OrderAccountMapper,OrderAccount> {
OrderAccountDeduction oadNew = initDeduction(vio.getCost(), vio.getDeductions(), dte, OrderAccountDeduction.ORIGIN_DEPOSIT); OrderAccountDeduction oadNew = initDeduction(vio.getCost(), vio.getDeductions(), dte, OrderAccountDeduction.ORIGIN_DEPOSIT);
oad.getDeductions().add(oadNew); oad.getDeductions().add(oadNew);
//修改归还押金金额 //修改归还押金金额
BigDecimal toBeDeposit = oad.getDepositAmount().subtract(oadNew.getAmount()); resetDeposit(oad);
if(oad.getOriginDepositAmount().compareTo(toBeDeposit) < 0){
toBeDeposit = BigDecimal.ZERO.add(oad.getOriginDepositAmount());
}
oad.setDepositAmount(toBeDeposit);
//设置订单明细参数 //设置订单明细参数
csv.setViolateAmount(csv.getViolateAmount().add(oadNew.getAmount())); csv.setViolateAmount(csv.getViolateAmount().add(oadNew.getAmount()));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment