|
|
@@ -842,10 +842,10 @@ public class TradeRefundServiceImpl implements TradeRefundService {
|
|
|
fee = fee.add(tradeRefundDetailBO.getRefundDetailDO().getFee());
|
|
|
originRefundPrice = originRefundPrice.add(tradeRefundDetailBO.getRefundDetailDO().getOriginAmount());
|
|
|
}
|
|
|
-
|
|
|
+ fee = tradeOrderDO.getPayAmount().subtract(refundDO.getRefundAmount());
|
|
|
if (ObjectUtils.equalsAny(refundDO.getRefundChannel(), RefundChannelEnum.MINI_APP.getType())) {
|
|
|
//小程序需要验证前台传入的退款金额
|
|
|
- Asserts.isTrue(refundDO.getRefundAmount().compareTo(refundAmount) == 0, "退款金额不正确{},{}", refundDO.getRefundAmount(), refundAmount);
|
|
|
+// Asserts.isTrue(refundDO.getRefundAmount().compareTo(refundAmount) == 0, "退款金额不正确{},{}", refundDO.getRefundAmount(), refundAmount);
|
|
|
}
|
|
|
//ota 、otc 退款渠道 退款金额重置
|
|
|
if (ObjectUtils.equalsAny(refundDO.getRefundChannel(), RefundChannelEnum.OTA.getType(), RefundChannelEnum.OTC.getType())) {
|
|
|
@@ -869,7 +869,7 @@ public class TradeRefundServiceImpl implements TradeRefundService {
|
|
|
Asserts.isTrue(NumberUtil.isGreaterOrEqual(canRefundAmount, refundDO.getRefundAmount()), "订单退款金额发生变更,请重新发起退款{}", tradeOrderDO.getOrderNo());
|
|
|
//如果是正常退,退款金额必须一致
|
|
|
if (refundDO.getRefundMethod() == REFUND_METHOD_NORMAL) {
|
|
|
- Asserts.isTrue(NumberUtil.equals(refundAmount, refundDO.getRefundAmount()), "退款申请金额与明细金额不一致,请重新发起退款{}", tradeOrderDO.getOrderNo());
|
|
|
+// Asserts.isTrue(NumberUtil.equals(refundAmount, refundDO.getRefundAmount()), "退款申请金额与明细金额不一致,请重新发起退款{}", tradeOrderDO.getOrderNo());
|
|
|
}
|
|
|
//如果是强退,此时可以改价,如果价格不同,则认为是改价
|
|
|
if (applyAmount != null && refundDO.getRefundMethod() == REFUND_METHOD_FORCE && refundAmount.compareTo(applyAmount) != 0) {
|
|
|
@@ -934,8 +934,9 @@ public class TradeRefundServiceImpl implements TradeRefundService {
|
|
|
|
|
|
private TradeRefundCalculateRespDTO.RefundItem calculateRefundDetailPrice(TradeOrderDO tradeOrderDO, TradeDetailBO tradeDetail, ProductSpuRespDTO product, TradeRefundCreateReqDTO.RefundItem refundItem) {
|
|
|
BigDecimal originRefundPrice = BigDecimal.ZERO;
|
|
|
- BigDecimal fee;
|
|
|
+ BigDecimal fee = tradeOrderDO.getDamaged();
|
|
|
BigDecimal refundAmount;
|
|
|
+
|
|
|
TradeRefundCalculateRespDTO.RefundItem calculateRefundItem = new TradeRefundCalculateRespDTO.RefundItem();
|
|
|
calculateRefundItem.setOrderDetailId(tradeDetail.getId());
|
|
|
calculateRefundItem.setVoucherCode(tradeDetail.getVoucherCode());
|
|
|
@@ -1519,11 +1520,11 @@ public class TradeRefundServiceImpl implements TradeRefundService {
|
|
|
Long refundCount = refundCountMap.get("refundCount");
|
|
|
TradeOrderDO tradeOrderDO = new TradeOrderDO();
|
|
|
tradeOrderDO.setId(refundDO.getOrderId());
|
|
|
- if (ObjectUtil.equal(totalCount, refundCount)) {
|
|
|
+// if (ObjectUtil.equal(totalCount, refundCount)) {
|
|
|
tradeOrderDO.setOrderStatus(TradeOrderStatusEnum.ALL_REFUND.getStatus());
|
|
|
- } else {
|
|
|
- tradeOrderDO.setOrderStatus(TradeOrderStatusEnum.PARTIAL_REFUND.getStatus());
|
|
|
- }
|
|
|
+// } else {
|
|
|
+// tradeOrderDO.setOrderStatus(TradeOrderStatusEnum.PARTIAL_REFUND.getStatus());
|
|
|
+// }
|
|
|
tradeOrderRepositoryService.updateOrderStatus(tradeOrderDO);
|
|
|
|
|
|
afterRefundAmountSuccess(tradeOrderDO.getId(), refundDO.getId(), refundDO.getRefundAmount());
|