Commit 1fac8374 by zhiheng.zhang

Merge branch 'feature/20201110_混合支付退款_张志恒' into develop

parents 1cb74828 d7514194
...@@ -15,15 +15,15 @@ public class MultiOrderRefundResponse<T> { ...@@ -15,15 +15,15 @@ public class MultiOrderRefundResponse<T> {
private String msg; private String msg;
private T data; private RefundPlatform data;
@lombok.Data @Data
public class Data { public class RefundPlatform {
public List<RefundPlatformResponse> refundPlatformResponseList; public List<RefundPlatformResponse> refundPlatformResponseList;
} }
@lombok.Data @Data
public static class RefundPlatformResponse{ public class RefundPlatformResponse{
private String endTransTradeNo; private String endTransTradeNo;
private String fmRefundNo; private String fmRefundNo;
private String fmTradeNo; private String fmTradeNo;
......
...@@ -2196,6 +2196,7 @@ public class OrderAdapter { ...@@ -2196,6 +2196,7 @@ public class OrderAdapter {
multiQueryRequest.setNotifyUrl(refundNotifyCallback); multiQueryRequest.setNotifyUrl(refundNotifyCallback);
multiQueryRequest.setVer("V1"); multiQueryRequest.setVer("V1");
multiQueryRequest.setVer3(false); multiQueryRequest.setVer3(false);
multiQueryRequest.setOutOrderNo(orderBean.getOid());
return multiQueryRequest; return multiQueryRequest;
} }
......
...@@ -1761,11 +1761,11 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1761,11 +1761,11 @@ public class OrderServiceImpl implements Orderservice {
if(orderBean.getPayChannelType().equalsIgnoreCase("4")){ if(orderBean.getPayChannelType().equalsIgnoreCase("4")){
//调用支付退款 //调用支付退款
MultiOrderRefundRequest multiOrderRefundRequest = orderAdapter.getMultiOrderPayRefundRequest(orderBean, refundId); MultiOrderRefundRequest multiOrderRefundRequest = orderAdapter.getMultiOrderPayRefundRequest(orderBean, refundId);
MultiOrderRefundResponse<MultiOrderRefundResponse.Data> multiOrderRefundResponse = mulitiPaymentClient.paymentApplicationRefund(multiOrderRefundRequest,orderBean.getCompanyId()); MultiOrderRefundResponse multiOrderRefundResponse = mulitiPaymentClient.paymentApplicationRefund(multiOrderRefundRequest,orderBean.getCompanyId());
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())) {
return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "orderRefund_failed"); return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "orderRefund_failed");
} }
List<MultiOrderRefundResponse.RefundPlatformResponse> refundPlatformResponseList = multiOrderRefundResponse.getData().getRefundPlatformResponseList(); List<MultiOrderRefundResponse.RefundPlatformResponse> refundPlatformResponseList = multiOrderRefundResponse.getData().refundPlatformResponseList;
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(refundPlatformResponseList.get(0).getTransId()),orderBean.getOid(),1L,TimeUnit.DAYS); redisCache.save(RedisUtil.getPaymentTransIdSequenceKey(refundPlatformResponseList.get(0).getTransId()),orderBean.getOid(),1L,TimeUnit.DAYS);
......
...@@ -3,6 +3,9 @@ package cn.freemud.service.impl; ...@@ -3,6 +3,9 @@ package cn.freemud.service.impl;
import cn.freemud.management.entities.dto.request.order.OrderManagerRequest; import cn.freemud.management.entities.dto.request.order.OrderManagerRequest;
import cn.freemud.management.service.adapter.OrderManagerAdapter; import cn.freemud.management.service.adapter.OrderManagerAdapter;
import cn.freemud.management.thirdparty.MulitiPaymentClient; import cn.freemud.management.thirdparty.MulitiPaymentClient;
import com.alibaba.fastjson.JSON;
import com.freemud.application.sdk.api.ordercenter.request.OrderConditionsReq;
import com.freemud.application.sdk.api.ordercenter.service.OrderDownLoadSdkService;
import com.freemud.sdk.api.assortment.order.request.order.MultiOrderRefundRequest; import com.freemud.sdk.api.assortment.order.request.order.MultiOrderRefundRequest;
import com.freemud.sdk.api.assortment.order.response.order.MultiOrderRefundResponse; import com.freemud.sdk.api.assortment.order.response.order.MultiOrderRefundResponse;
import org.junit.Test; import org.junit.Test;
...@@ -13,6 +16,7 @@ import org.springframework.boot.test.context.SpringBootTest; ...@@ -13,6 +16,7 @@ import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.feign.EnableFeignClients; import org.springframework.cloud.netflix.feign.EnableFeignClients;
import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.context.junit4.SpringRunner;
import springfox.documentation.spring.web.json.Json;
@RunWith(SpringRunner.class) @RunWith(SpringRunner.class)
@SpringBootTest @SpringBootTest
...@@ -22,16 +26,19 @@ import org.springframework.test.context.junit4.SpringRunner; ...@@ -22,16 +26,19 @@ import org.springframework.test.context.junit4.SpringRunner;
public class MallOrderServiceImplTest { public class MallOrderServiceImplTest {
@Autowired @Autowired
private MallOrderServiceImpl mallOrderService; private OrderDownLoadSdkService orderDownLoadSdkService;
@Autowired // @Autowired
private MCCafeOrderServiceImpl mcCafeOrderService; // private MallOrderServiceImpl mallOrderService;
//
@Autowired // @Autowired
private MulitiPaymentClient mulitiPaymentClient; // private MCCafeOrderServiceImpl mcCafeOrderService;
//
@Autowired // @Autowired
private OrderManagerAdapter orderManagerAdapter; // private MulitiPaymentClient mulitiPaymentClient;
//
// @Autowired
// private OrderManagerAdapter orderManagerAdapter;
// @Before // @Before
// public void before() throws Exception { // public void before() throws Exception {
...@@ -92,10 +99,14 @@ public class MallOrderServiceImplTest { ...@@ -92,10 +99,14 @@ public class MallOrderServiceImplTest {
// multiOrderRefundRequest.setOutOrderNo("3900472893821604933666"); // multiOrderRefundRequest.setOutOrderNo("3900472893821604933666");
// MultiOrderRefundResponse<MultiOrderRefundResponse.Data> multiOrderRefundResponseDto = mulitiPaymentClient.paymentApplicationRefund(multiOrderRefundRequest,"1864"); // MultiOrderRefundResponse<MultiOrderRefundResponse.Data> multiOrderRefundResponseDto = mulitiPaymentClient.paymentApplicationRefund(multiOrderRefundRequest,"1864");
// System.out.println(2345678); // System.out.println(2345678);
OrderManagerRequest orderManagerRequest = new OrderManagerRequest(); // OrderManagerRequest orderManagerRequest = new OrderManagerRequest();
orderManagerRequest.setOrderId("19404015572678969200003"); // orderManagerRequest.setOrderId("19404015572678969200003");
orderManagerRequest.setPartnerId("1864"); // orderManagerRequest.setPartnerId("1864");
orderManagerAdapter.orderAgreeRefund(orderManagerRequest); // orderManagerAdapter.orderAgreeRefund(orderManagerRequest);
OrderConditionsReq request ;
String str = "{\"abnormalStatuses\":[],\"afterSalesStatus\":0,\"appId\":\"\",\"bizType\":0,\"bizTypes\":[1,6,97,98],\"dispenseStatus\":0,\"endTimestamp\":1605542399,\"endUpdateTimestamp\":0,\"expressType\":0,\"externalObjectIds\":[],\"finishStatus\":false,\"isDeleted\":0,\"mobile\":\"\",\"orderClients\":[],\"orderCode\":\"19356550932276285500005\",\"orderCodes\":[],\"orderStatus\":0,\"orderStatuses\":[],\"orderTypes\":[],\"pageNum\":1,\"pageSize\":10,\"partnerId\":\"2655\",\"payStatuses\":[2,3,4],\"payTypes\":[],\"printNum\":0,\"productId\":\"\",\"productName\":\"\",\"settlementTypes\":[],\"startTimestamp\":1604160000,\"startUpdateTimestamp\":0,\"storeIds\":[],\"suspendState\":0,\"thirdOrderCode\":\"\",\"userId\":\"\",\"userName\":\"\"}";
request = JSON.toJavaObject(JSON.parseObject(str),OrderConditionsReq.class);
orderDownLoadSdkService.queryOrderByConditions(request,"");
} }
......
...@@ -55,6 +55,7 @@ public class PaymentSdkAdapter { ...@@ -55,6 +55,7 @@ public class PaymentSdkAdapter {
multiQueryRequest.setNotifyUrl(refundNotifyCallback); multiQueryRequest.setNotifyUrl(refundNotifyCallback);
multiQueryRequest.setVer("V1"); multiQueryRequest.setVer("V1");
multiQueryRequest.setVer3(false); multiQueryRequest.setVer3(false);
multiQueryRequest.setOutOrderNo(orderBean.getOid());
return multiQueryRequest; return multiQueryRequest;
} }
......
...@@ -145,12 +145,12 @@ public class PaymentHandle { ...@@ -145,12 +145,12 @@ public class PaymentHandle {
public PayRefundResponse multiRefund(QueryOrdersResponse.DataBean.OrderBean orderBean){ public PayRefundResponse multiRefund(QueryOrdersResponse.DataBean.OrderBean orderBean){
PayRefundStatus refundStatus=PayRefundStatus.SUCCESS; PayRefundStatus refundStatus=PayRefundStatus.SUCCESS;
MultiOrderRefundRequest multiOrderRefundRequest = paymentSdkAdapter.getMultiOrderPayRefundRequest(orderBean); MultiOrderRefundRequest multiOrderRefundRequest = paymentSdkAdapter.getMultiOrderPayRefundRequest(orderBean);
MultiOrderRefundResponse<MultiOrderRefundResponse.Data> multiOrderRefundResponse = mulitiPaymentClient.paymentApplicationRefund(multiOrderRefundRequest,orderBean.getCompanyId()); MultiOrderRefundResponse multiOrderRefundResponse = mulitiPaymentClient.paymentApplicationRefund(multiOrderRefundRequest,orderBean.getCompanyId());
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(); List<MultiOrderRefundResponse.RefundPlatformResponse> refundPlatformResponseList = multiOrderRefundResponse.getData().refundPlatformResponseList;
refundPlatformResponseList = refundPlatformResponseList.stream().filter(m -> !m.getEbCode().equalsIgnoreCase("4")).collect(Collectors.toList()); refundPlatformResponseList = refundPlatformResponseList.stream().filter(m -> !m.getEbCode().equalsIgnoreCase("10102")).collect(Collectors.toList());
if(null != refundPlatformResponseList && refundPlatformResponseList.size()>0){ if(null != refundPlatformResponseList && refundPlatformResponseList.size()>0){
redisCache.save(RedisUtil.getPaymentTransIdSequenceKey(refundPlatformResponseList.get(0).getTransId()),orderBean.getOid(),1L,TimeUnit.DAYS); redisCache.save(RedisUtil.getPaymentTransIdSequenceKey(refundPlatformResponseList.get(0).getTransId()),orderBean.getOid(),1L,TimeUnit.DAYS);
} }
......
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