Commit 741f2125 by ping.wu

Merge remote-tracking branch 'origin/qa' into qa

parents 565f5e7c a5790b5a
...@@ -987,6 +987,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService { ...@@ -987,6 +987,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
request.setRefundState(cancelOrderRequest.getRefundState()); request.setRefundState(cancelOrderRequest.getRefundState());
request.setRefundDeliveryAmount(cancelOrderRequest.isRefundDeliveryAmount()); request.setRefundDeliveryAmount(cancelOrderRequest.isRefundDeliveryAmount());
request.setPayRefundItemList(cancelOrderRequest.getPayRefundItemList()); request.setPayRefundItemList(cancelOrderRequest.getPayRefundItemList());
request.setReqAmount(cancelOrderRequest.getReqAmount());
com.freemud.application.sdk.api.ordercenter.response.OrderBaseResp response = orderSdkService.cancelOrder(request, cancelOrderRequest.getTrackingNo()); com.freemud.application.sdk.api.ordercenter.response.OrderBaseResp response = orderSdkService.cancelOrder(request, cancelOrderRequest.getTrackingNo());
return orderSdkAdapter.convent2BaseOrderResponse(response); return orderSdkAdapter.convent2BaseOrderResponse(response);
} }
......
...@@ -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) {
...@@ -131,6 +135,7 @@ public class PaymentHandle { ...@@ -131,6 +135,7 @@ public class PaymentHandle {
} else { } else {
refundResponse.setPartRefund(partRefund); refundResponse.setPartRefund(partRefund);
} }
refundResponse.setRefundAmount(refundAmount);
} catch (OrderServiceException orderEx) { } catch (OrderServiceException orderEx) {
ResponseResult result = orderEx.getResult(); ResponseResult result = orderEx.getResult();
refundResponse = new PayRefundResponse(); refundResponse = new PayRefundResponse();
...@@ -161,11 +166,15 @@ public class PaymentHandle { ...@@ -161,11 +166,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) {
......
...@@ -210,6 +210,7 @@ public class SaasOrderHandle { ...@@ -210,6 +210,7 @@ public class SaasOrderHandle {
//作废订单 //作废订单
CancelOrderRequest cancelOrderRequest = orderSdkAdapter.getCancelOrderRequest(request.getOperator(), request.getReason(), refundResponse.getPayRefundStatus(), refundResponse.getRefundId(), orderBean); CancelOrderRequest cancelOrderRequest = orderSdkAdapter.getCancelOrderRequest(request.getOperator(), request.getReason(), refundResponse.getPayRefundStatus(), refundResponse.getRefundId(), orderBean);
cancelOrderRequest.setOperationClient(request.getOperationClient()); cancelOrderRequest.setOperationClient(request.getOperationClient());
cancelOrderRequest.setReqAmount(refundResponse.getRefundAmount());
List<OrderCancelReq.PayRefundItem> refundItemList = new ArrayList<>(); List<OrderCancelReq.PayRefundItem> refundItemList = new ArrayList<>();
if (!CollectionUtils.isEmpty(refundResponse.getPayRefundItemList())) { if (!CollectionUtils.isEmpty(refundResponse.getPayRefundItemList())) {
......
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