退款 金额 回填
This commit is contained in:
parent
8887ce766d
commit
e939ae9cd1
|
|
@ -432,6 +432,7 @@ public class PayServiceImpl implements PayService {
|
|||
isPay = false;
|
||||
refPayOrderNo = "";
|
||||
}
|
||||
orderInfo.setStatus(OrderStatusEnums.PART_REFUND.getCode());
|
||||
if (CollUtil.isNotEmpty(param.getRefundDetails())) {
|
||||
for (OrderDetail refundDetail : param.getRefundDetails()) {
|
||||
AssertUtil.isNull(refundDetail.getNum(), "退单数量不能为空");
|
||||
|
|
@ -475,10 +476,30 @@ public class PayServiceImpl implements PayService {
|
|||
}
|
||||
orderDetail.setRefundNo(refPayOrderNo);
|
||||
orderDetail.setRefundRemark(orderDetail.getRefundRemark() + param.getRefundReason());
|
||||
if (orderDetail.getNum().compareTo(orderDetail.getRefundNum().add(orderDetail.getReturnNum())) == 0) {
|
||||
orderDetail.setStatus(OrderStatusEnums.REFUND.getCode());
|
||||
} else {
|
||||
orderDetail.setStatus(OrderStatusEnums.PART_REFUND.getCode());
|
||||
|
||||
}
|
||||
orderDetailService.updateById(orderDetail);
|
||||
}
|
||||
} else {
|
||||
refundAmountTotal = param.getRefundAmount();
|
||||
if (isPay) {
|
||||
orderDetailService.updateChain()
|
||||
.eq(OrderDetail::getOrderId, param.getOrderId())
|
||||
.setRaw(OrderDetail::getRefundNum, "num-refund_num")
|
||||
.setRaw(OrderDetail::getReturnAmount, "pay_amount")
|
||||
.set(OrderDetail::getStatus, OrderStatusEnums.REFUND.getCode())
|
||||
.update();
|
||||
} else {
|
||||
orderDetailService.updateChain()
|
||||
.eq(OrderDetail::getOrderId, param.getOrderId())
|
||||
.setRaw(OrderDetail::getReturnNum, "num")
|
||||
.set(OrderDetail::getStatus, OrderStatusEnums.REFUND.getCode())
|
||||
.update();
|
||||
}
|
||||
}
|
||||
//总退款金额
|
||||
//TODO 退款 券 未处理
|
||||
|
|
@ -501,7 +522,7 @@ public class PayServiceImpl implements PayService {
|
|||
.bizEnum(ShopUserFlowBizEnum.ORDER_REFUND)
|
||||
.build();
|
||||
shopUserService.updateMoney(orderInfo.getShopId(), shopUserMoneyEditDTO);
|
||||
} else if (!orderInfo.getPayType().equals(PayEnums.CASH_PAY.getValue())){
|
||||
} else if (!orderInfo.getPayType().equals(PayEnums.CASH_PAY.getValue())) {
|
||||
//退款 param.getRefundAmount()
|
||||
refundOrder(orderInfo.getShopId(), orderInfo.getId(), orderInfo.getPayOrderId(),
|
||||
refPayOrderNo, param.getRefundReason(), param.getRefundAmount());
|
||||
|
|
|
|||
Loading…
Reference in New Issue