支持挂账部分退款
This commit is contained in:
@@ -325,22 +325,22 @@ public class TbCreditBuyerOrderServiceImpl extends ServiceImpl<TbCreditBuyerOrde
|
|||||||
record.setCreateTime(new Date());
|
record.setCreateTime(new Date());
|
||||||
tbCreditPaymentRecordMapper.insert(record);
|
tbCreditPaymentRecordMapper.insert(record);
|
||||||
dto = baseMapper.getOne(params);
|
dto = baseMapper.getOne(params);
|
||||||
if (NumberUtil.isGreater(dto.getPaidAmount(), BigDecimal.ZERO)) {
|
if (NumberUtil.equals(dto.getPayAmount(), BigDecimal.ZERO) && NumberUtil.isGreater(dto.getPaidAmount(), BigDecimal.ZERO) && NumberUtil.isLess(dto.getUnpaidAmount(), BigDecimal.ZERO)) {
|
||||||
TbCreditPaymentRecord flow = new TbCreditPaymentRecord();
|
TbCreditPaymentRecord flow = new TbCreditPaymentRecord();
|
||||||
flow.setCreditBuyerId(creditBuyerId);
|
flow.setCreditBuyerId(creditBuyerId);
|
||||||
flow.setOrderId(orderId);
|
flow.setOrderId(orderId);
|
||||||
flow.setRepaymentAmount(NumberUtil.sub(BigDecimal.ZERO, dto.getPaidAmount()));
|
flow.setRepaymentAmount(dto.getUnpaidAmount());
|
||||||
flow.setPaymentMethod("挂账退款");
|
flow.setPaymentMethod("挂账退款");
|
||||||
flow.setPaymentTime(new Date());
|
flow.setPaymentTime(new Date());
|
||||||
flow.setRemark(StrUtil.format("挂账订单:{},申请退款¥{}元,由于此挂账订单已提前还款,溢出部分¥{}元将转储至账户余额。", orderInfo.getOrderNo(), refundAmount, dto.getPaidAmount()));
|
flow.setRemark(StrUtil.format("挂账订单:{},申请退款¥{}元,由于此挂账订单已提前还款,溢出部分¥{}元将转储至账户余额。", orderInfo.getOrderNo(), refundAmount, dto.getUnpaidAmount().abs()));
|
||||||
flow.setCreateTime(new Date());
|
flow.setCreateTime(new Date());
|
||||||
tbCreditPaymentRecordMapper.insert(flow);
|
tbCreditPaymentRecordMapper.insert(flow);
|
||||||
tbCreditBuyerOrderMapper.update(Wrappers.<TbCreditBuyerOrder>lambdaUpdate()
|
tbCreditBuyerOrderMapper.update(Wrappers.<TbCreditBuyerOrder>lambdaUpdate()
|
||||||
.eq(TbCreditBuyerOrder::getId, dto.getId())
|
.eq(TbCreditBuyerOrder::getId, dto.getId())
|
||||||
.set(TbCreditBuyerOrder::getPaidAmount, BigDecimal.ZERO)
|
.set(TbCreditBuyerOrder::getPaidAmount, NumberUtil.add(dto.getPaidAmount(), dto.getUnpaidAmount()))
|
||||||
);
|
);
|
||||||
// 退回余额
|
// 退回余额
|
||||||
creditBuyer.setAccountBalance(NumberUtil.add(creditBuyer.getAccountBalance(), dto.getPaidAmount()));
|
creditBuyer.setAccountBalance(NumberUtil.add(creditBuyer.getAccountBalance(), dto.getUnpaidAmount().abs()));
|
||||||
tbCreditBuyerService.updateById(creditBuyer);
|
tbCreditBuyerService.updateById(creditBuyer);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
Reference in New Issue
Block a user