提交 92ee7c8e 作者: xiaowang

订单赔偿

上级 5c499da9
......@@ -346,9 +346,9 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
setConfirmReceiptInfo(id, OrderType.REC.getCode(), leaseOrderDTO);
// 设置退款信息
setConfirmReceiptInfo(id, OrderType.RETREAT.getCode(), leaseOrderDTO);
// 设置破损信息
setConfirmReceiptInfo(id, OrderType.PFREC.getCode(), leaseOrderDTO);
}
// 设置破损信息
setConfirmReceiptInfo(id, OrderType.PFREC.getCode(), leaseOrderDTO);
// 设置个人信息
UserAccountSimpleDTO userAccountSimpleDTO = userAppApi.feignGetUserSimpleInfo(leaseOrderDO.getUserAccountId(), currentAccount.getToken());
if (userAccountSimpleDTO != null) {
......@@ -728,7 +728,7 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
}
if (isWaitingMerchantConfirm) {
return businessIncome(currentAccount, param.getOrderId(), leaseOrderDO);
return businessIncome(currentAccount, param.getOrderId(), leaseOrderDO, 0);
}
} else {
// 有破损等待平台
......@@ -752,27 +752,38 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
return ResultBody.success();
}
private ResultBody businessIncome(BaseAccountDTO currentAccount, Integer orderId, LeaseOrderDO leaseOrderDO) {
BigDecimal orderTotalAmount = leaseOrderDO.getOrderTotalAmount().subtract(leaseOrderDO.getDeposit());
BigDecimal thirdAmount = orderTotalAmount.multiply(
BigDecimal.valueOf(100).subtract(UavOrderProportion.PROPORTION).divide(BigDecimal.valueOf(100)));
PayUavWalletVO payUavWalletVO = new PayUavWalletVO();
payUavWalletVO.setSalaryAmount(thirdAmount);
payUavWalletVO.setCashAmount(BigDecimal.ZERO);
payUavWalletVO.setRemark("租赁订单收入,订单编号" + leaseOrderDO.getOrderNo());
payUavWalletVO.setOrderStatus(1500);
private ResultBody businessIncome(BaseAccountDTO currentAccount, Integer orderId, LeaseOrderDO leaseOrderDO, Integer flag) {
// 拿到商家管理员的用户id
ResultBody managerRes = userAppApi.getManagerIdByBackUserId(leaseOrderDO.getThirdBackUserAccountId(), null);
if (!managerRes.getCode().equals(ResultEnum.SUCCESS.getResultCode())) {
return managerRes;
}
PayUavWalletVO payUavWalletVO = new PayUavWalletVO();
payUavWalletVO.setCashAmount(BigDecimal.ZERO);
// 为0时标识订单收益,否则就是押金赔损
if (flag == 0) {
BigDecimal orderTotalAmount = leaseOrderDO.getOrderTotalAmount().subtract(leaseOrderDO.getDeposit());
BigDecimal thirdAmount = orderTotalAmount.multiply(
BigDecimal.valueOf(100).subtract(UavOrderProportion.PROPORTION).divide(BigDecimal.valueOf(100)));
payUavWalletVO.setSalaryAmount(thirdAmount);
payUavWalletVO.setRemark("租赁订单收入,订单编号" + leaseOrderDO.getOrderNo());
payUavWalletVO.setOrderStatus(1500);
leaseOrderDao.updateLeaseOrderProportion(leaseOrderDO.getId(), UavOrderProportion.PROPORTION.intValue());
this.updateLeaseOrderStatus(orderId, LeaseOrderStatus.REMAIN_TO_BE_EVALUATED);
} else {
// 获取损坏的金额
LeaseRefundOrderDO leaseRefundOrderDO = leaseOrderDao.selectGiveBackByOrderId(leaseOrderDO.getId(), OrderType.PFREC.getCode());
payUavWalletVO.setSalaryAmount(leaseRefundOrderDO.getModifiedDeposit());
payUavWalletVO.setRemark("租赁订单获赔,订单编号" + leaseOrderDO.getOrderNo());
payUavWalletVO.setOrderStatus(1800);
// 修改退款操状态
this.updateLeaseOrderStatus(leaseOrderDO.getId(), LeaseOrderStatus.CLOSE);
}
payUavWalletVO.setUserAccountId((Integer) managerRes.getResult());
ResultBody resultIncomeBody = userAppApi.feignPayUavWallet(payUavWalletVO, currentAccount.getToken());
if (!resultIncomeBody.getCode().equals(ResultEnum.SUCCESS.getResultCode())) {
return resultIncomeBody;
}
leaseOrderDao.updateLeaseOrderProportion(leaseOrderDO.getId(), UavOrderProportion.PROPORTION.intValue());
this.updateLeaseOrderStatus(orderId, LeaseOrderStatus.REMAIN_TO_BE_EVALUATED);
return ResultBody.success();
}
......@@ -875,7 +886,7 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
}
if (isModifiedConfirmed) {
// 进行平台打款
return businessIncome(currentAccount, id, leaseOrderDO);
return businessIncome(currentAccount, id, leaseOrderDO, 0);
}
if (isRefund) {
// 退回微信的钱
......@@ -900,9 +911,10 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
return resultBody;
}
}
// 修改退款操状态
this.updateLeaseOrderStatus(id, LeaseOrderStatus.CLOSE);
// 进行平台打款
return businessIncome(currentAccount, id, leaseOrderDO, 1);
}
return ResultBody.success();
} else {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论