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 {
request.setRefundState(cancelOrderRequest.getRefundState());
request.setRefundDeliveryAmount(cancelOrderRequest.isRefundDeliveryAmount());
request.setPayRefundItemList(cancelOrderRequest.getPayRefundItemList());
request.setReqAmount(cancelOrderRequest.getReqAmount());
com.freemud.application.sdk.api.ordercenter.response.OrderBaseResp response = orderSdkService.cancelOrder(request, cancelOrderRequest.getTrackingNo());
return orderSdkAdapter.convent2BaseOrderResponse(response);
}
......
......@@ -86,12 +86,16 @@ public class PaymentHandle {
PayRefundResponse refundResponse;
try {
// 最大可退金额 = 订单实付总额 - 开通会员卡金额 退款的时候会员卡已经开通了,所以开卡费不可退
OrderCostResp openMemberCardCost = null;
BigDecimal openMemberCardCostAmount = new BigDecimal(0);
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;
AfterSalesOrderResp afterSalesOrder = getAfterSalesOrder(orderBean.getCompanyId(), orderBean.getOid());
if (afterSalesOrder != null) {
......@@ -131,6 +135,7 @@ public class PaymentHandle {
} else {
refundResponse.setPartRefund(partRefund);
}
refundResponse.setRefundAmount(refundAmount);
} catch (OrderServiceException orderEx) {
ResponseResult result = orderEx.getResult();
refundResponse = new PayRefundResponse();
......@@ -161,11 +166,15 @@ public class PaymentHandle {
PayRefundResponse refundResponse;
try {
// 最大可退金额 = 订单实付总额 - 开通会员卡金额 退款的时候会员卡已经开通了,所以开卡费不可退
OrderCostResp openMemberCardCost = null;
BigDecimal openMemberCardCostAmount = new BigDecimal(0);
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;
AfterSalesOrderResp afterSalesOrder = getAfterSalesOrder(order.getPartnerId(), order.getOrderCode());
if (afterSalesOrder != null) {
......
......@@ -210,6 +210,7 @@ public class SaasOrderHandle {
//作废订单
CancelOrderRequest cancelOrderRequest = orderSdkAdapter.getCancelOrderRequest(request.getOperator(), request.getReason(), refundResponse.getPayRefundStatus(), refundResponse.getRefundId(), orderBean);
cancelOrderRequest.setOperationClient(request.getOperationClient());
cancelOrderRequest.setReqAmount(refundResponse.getRefundAmount());
List<OrderCancelReq.PayRefundItem> refundItemList = new ArrayList<>();
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