Commit 8204300f by rui.zhu

Merge branch 'feature/rui.zhu/付费会员卡系列优化-20240312' into develop

parents e5895cfa 4ddcf5d5
...@@ -86,12 +86,16 @@ public class PaymentHandle { ...@@ -86,12 +86,16 @@ public class PaymentHandle {
PayRefundResponse refundResponse; PayRefundResponse refundResponse;
try { try {
// 最大可退金额 = 订单实付总额 - 开通会员卡金额 退款的时候会员卡已经开通了,所以开卡费不可退 // 最大可退金额 = 订单实付总额 - 开通会员卡金额 退款的时候会员卡已经开通了,所以开卡费不可退
OrderCostResp openMemberCardCost = null; BigDecimal openMemberCardCostAmount = new BigDecimal(0);
if (CollectionUtils.isNotEmpty(orderBean.getOrderCostDetailList())) { if (CollectionUtils.isNotEmpty(orderBean.getOrderCostDetailList())) {
openMemberCardCost = orderBean.getOrderCostDetailList().stream().filter(c -> Objects.equals(c.getCostType(), OrderCostType.OPEN_MEMBER_CARD_FEE.getType())).findFirst().orElse(null); for (OrderCostResp orderCostResp : orderBean.getOrderCostDetailList()) {
if (Objects.equals(orderCostResp.getCostType(), OrderCostType.OPEN_MEMBER_CARD_FEE.getType())) {
openMemberCardCostAmount = openMemberCardCostAmount.add(orderCostResp.getCostAmount() == null ? BigDecimal.ZERO : orderCostResp.getCostAmount());
}
}
} }
// 最大可退金额 = 订单实付总额 - 开通会员卡金额 退款的时候会员卡已经开通了,所以开卡费不可退 // 最大可退金额 = 订单实付总额 - 开通会员卡金额 退款的时候会员卡已经开通了,所以开卡费不可退
BigDecimal maxRefundAmount = openMemberCardCost != null ? new BigDecimal(orderBean.getAmount()).subtract(openMemberCardCost.getCostAmount()) : new BigDecimal(orderBean.getAmount()); BigDecimal maxRefundAmount = new BigDecimal(orderBean.getAmount()).subtract(openMemberCardCostAmount);
BigDecimal refundAmount = maxRefundAmount; BigDecimal refundAmount = maxRefundAmount;
AfterSalesOrderResp afterSalesOrder = getAfterSalesOrder(orderBean.getCompanyId(), orderBean.getOid()); AfterSalesOrderResp afterSalesOrder = getAfterSalesOrder(orderBean.getCompanyId(), orderBean.getOid());
if (afterSalesOrder != null) { if (afterSalesOrder != null) {
...@@ -161,11 +165,15 @@ public class PaymentHandle { ...@@ -161,11 +165,15 @@ public class PaymentHandle {
PayRefundResponse refundResponse; PayRefundResponse refundResponse;
try { try {
// 最大可退金额 = 订单实付总额 - 开通会员卡金额 退款的时候会员卡已经开通了,所以开卡费不可退 // 最大可退金额 = 订单实付总额 - 开通会员卡金额 退款的时候会员卡已经开通了,所以开卡费不可退
OrderCostResp openMemberCardCost = null; BigDecimal openMemberCardCostAmount = new BigDecimal(0);
if (CollectionUtils.isNotEmpty(order.getOrderCostDetailList())) { if (CollectionUtils.isNotEmpty(order.getOrderCostDetailList())) {
openMemberCardCost = order.getOrderCostDetailList().stream().filter(c -> Objects.equals(c.getCostType(), OrderCostType.OPEN_MEMBER_CARD_FEE.getType())).findFirst().orElse(null); for (OrderCostResp orderCostResp : order.getOrderCostDetailList()) {
if (Objects.equals(orderCostResp.getCostType(), OrderCostType.OPEN_MEMBER_CARD_FEE.getType())) {
openMemberCardCostAmount = openMemberCardCostAmount.add(orderCostResp.getCostAmount() == null ? BigDecimal.ZERO : orderCostResp.getCostAmount());
}
}
} }
BigDecimal maxRefundAmount = openMemberCardCost != null ? order.getSettlementAmount().subtract(openMemberCardCost.getCostAmount()) : order.getSettlementAmount(); BigDecimal maxRefundAmount = order.getSettlementAmount().subtract(openMemberCardCostAmount);
BigDecimal refundAmount = maxRefundAmount; BigDecimal refundAmount = maxRefundAmount;
AfterSalesOrderResp afterSalesOrder = getAfterSalesOrder(order.getPartnerId(), order.getOrderCode()); AfterSalesOrderResp afterSalesOrder = getAfterSalesOrder(order.getPartnerId(), order.getOrderCode());
if (afterSalesOrder != null) { if (afterSalesOrder != null) {
......
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