Commit 415d1ab6 by zhiheng.zhang

退款返回transId映射orderCode

parent 96767b5f
...@@ -627,6 +627,11 @@ public class OrderServiceImpl implements Orderservice { ...@@ -627,6 +627,11 @@ public class OrderServiceImpl implements Orderservice {
@Override @Override
public String refundNotifyCallback(RefundNotifyCallbackRequestVo requestVo) { public String refundNotifyCallback(RefundNotifyCallbackRequestVo requestVo) {
//混合支付需要从换从中获取订单号码,正常支付TransId = orderId
String orderId = redisCache.getValue(RedisUtil.getPaymentTransIdOrderKey(requestVo.getTransId()));
if(StringUtils.isNotEmpty(orderId)){
requestVo.setTransId(orderId);
}
String trackingNo = LogTreadLocal.getTrackingNo(); String trackingNo = LogTreadLocal.getTrackingNo();
if (StringUtils.isEmpty(requestVo.getTransId())) { if (StringUtils.isEmpty(requestVo.getTransId())) {
//订单号不能为空 //订单号不能为空
...@@ -1674,7 +1679,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1674,7 +1679,7 @@ public class OrderServiceImpl implements Orderservice {
List<MultiOrderRefundResponse.RefundPlatformResponse> refundPlatformResponseList = multiOrderRefundResponse.getData().getRefundPlatformResponseList(); List<MultiOrderRefundResponse.RefundPlatformResponse> refundPlatformResponseList = multiOrderRefundResponse.getData().getRefundPlatformResponseList();
refundPlatformResponseList = refundPlatformResponseList.stream().filter(m -> !m.getEbCode().equalsIgnoreCase("4")).collect(Collectors.toList()); refundPlatformResponseList = refundPlatformResponseList.stream().filter(m -> !m.getEbCode().equalsIgnoreCase("4")).collect(Collectors.toList());
if(null != refundPlatformResponseList && refundPlatformResponseList.size()>0){ if(null != refundPlatformResponseList && refundPlatformResponseList.size()>0){
redisCache.save(RedisUtil.getPaymentTransIdSequenceKey(orderBean.getOid()),refundPlatformResponseList.get(0).getTransId(),1L,TimeUnit.DAYS); redisCache.save(RedisUtil.getPaymentTransIdSequenceKey(refundPlatformResponseList.get(0).getTransId()),orderBean.getOid(),1L,TimeUnit.DAYS);
} }
//获取支付返回退款状态 //获取支付返回退款状态
state = PayRefundStatus.SUCCESS.getCode(); state = PayRefundStatus.SUCCESS.getCode();
......
...@@ -6,7 +6,9 @@ import cn.freemud.management.entities.dto.response.pay.PayRefundResponse; ...@@ -6,7 +6,9 @@ import cn.freemud.management.entities.dto.response.pay.PayRefundResponse;
import cn.freemud.management.enums.ResponseResult; import cn.freemud.management.enums.ResponseResult;
import cn.freemud.management.intercept.OrderServiceException; import cn.freemud.management.intercept.OrderServiceException;
import cn.freemud.management.thirdparty.MulitiPaymentClient; import cn.freemud.management.thirdparty.MulitiPaymentClient;
import cn.freemud.management.util.RedisUtil;
import cn.freemud.management.util.ResponseUtil; import cn.freemud.management.util.ResponseUtil;
import cn.freemud.redis.RedisCache;
import com.freemud.application.sdk.api.base.BaseResponse; import com.freemud.application.sdk.api.base.BaseResponse;
import com.freemud.application.sdk.api.log.ErrorLog; import com.freemud.application.sdk.api.log.ErrorLog;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.AfterSalesOrderResp; import com.freemud.application.sdk.api.ordercenter.response.orderInfo.AfterSalesOrderResp;
...@@ -25,6 +27,8 @@ import org.springframework.stereotype.Component; ...@@ -25,6 +27,8 @@ import org.springframework.stereotype.Component;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.List; import java.util.List;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
/** /**
* All rights Reserved, Designed By www.freemud.cn * All rights Reserved, Designed By www.freemud.cn
...@@ -51,7 +55,8 @@ public class PaymentHandle { ...@@ -51,7 +55,8 @@ public class PaymentHandle {
private OrderSdkService orderSdkService; private OrderSdkService orderSdkService;
@Autowired @Autowired
private MulitiPaymentClient mulitiPaymentClient; private MulitiPaymentClient mulitiPaymentClient;
@Autowired
private RedisCache redisCache;
/** /**
* 退款 * 退款
* @param request * @param request
...@@ -145,6 +150,12 @@ public class PaymentHandle { ...@@ -145,6 +150,12 @@ public class PaymentHandle {
if (multiOrderRefundResponse == null || multiOrderRefundResponse.getData() == null || !com.freemud.sdk.api.assortment.order.domain.ResponseCodeConstant.ORDER_PAY_RESPONSE_SUCCESS.equals(multiOrderRefundResponse.getCode())) { if (multiOrderRefundResponse == null || multiOrderRefundResponse.getData() == null || !com.freemud.sdk.api.assortment.order.domain.ResponseCodeConstant.ORDER_PAY_RESPONSE_SUCCESS.equals(multiOrderRefundResponse.getCode())) {
throw new OrderServiceException(ResponseResult.REFUND_EXCEPTION); throw new OrderServiceException(ResponseResult.REFUND_EXCEPTION);
} }
List<MultiOrderRefundResponse.RefundPlatformResponse> refundPlatformResponseList = multiOrderRefundResponse.getData().getRefundPlatformResponseList();
refundPlatformResponseList = refundPlatformResponseList.stream().filter(m -> !m.getEbCode().equalsIgnoreCase("4")).collect(Collectors.toList());
if(null != refundPlatformResponseList && refundPlatformResponseList.size()>0){
redisCache.save(RedisUtil.getPaymentTransIdSequenceKey(refundPlatformResponseList.get(0).getTransId()),orderBean.getOid(),1L,TimeUnit.DAYS);
}
return handlePayRefundResponse(refundStatus,multiOrderRefundRequest.getRefundTradeNo()); return handlePayRefundResponse(refundStatus,multiOrderRefundRequest.getRefundTradeNo());
} }
} }
...@@ -165,7 +165,7 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService { ...@@ -165,7 +165,7 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
//支付退款 //支付退款
PayRefundResponse refundResponse = new PayRefundResponse(); PayRefundResponse refundResponse = new PayRefundResponse();
try { try {
if(orderBean.getPayChannelType() == "4"){ if(orderBean.getPayChannelType() != "4"){
refundResponse = paymentHandle.refund(request, orderBean); refundResponse = paymentHandle.refund(request, orderBean);
}else{ }else{
refundResponse = paymentHandle.multiRefund(orderBean); refundResponse = paymentHandle.multiRefund(orderBean);
......
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