Commit 4c7b22bd by rui.zhu

Merge branch 'feature/售后单记录支付信息' into qa

parents b7789716 75867de5
...@@ -58,5 +58,14 @@ public class MultiOrderRefundResponse<T> { ...@@ -58,5 +58,14 @@ public class MultiOrderRefundResponse<T> {
@ApiModelProperty(value = "业务返回消息") @ApiModelProperty(value = "业务返回消息")
private String resultMsg; private String resultMsg;
@ApiModelProperty(value = "支付方式编号")
private String payMethodCode;
@ApiModelProperty(value = "现金类型")
private String cashType;
@ApiModelProperty(value = "支付条码")
private String uniqueCode;
} }
} }
\ No newline at end of file
...@@ -27,6 +27,7 @@ import cn.freemud.enums.PaySuccessSource; ...@@ -27,6 +27,7 @@ import cn.freemud.enums.PaySuccessSource;
import cn.freemud.enums.ResponseResult; import cn.freemud.enums.ResponseResult;
import cn.freemud.enums.TradeState; import cn.freemud.enums.TradeState;
import cn.freemud.interceptor.ServiceException; import cn.freemud.interceptor.ServiceException;
import cn.freemud.management.adapter.OrderCancelReqAdapter;
import cn.freemud.management.entities.dto.request.BatchOrderRefundV2Request; import cn.freemud.management.entities.dto.request.BatchOrderRefundV2Request;
import cn.freemud.management.entities.dto.request.order.OrderManagerRequest; import cn.freemud.management.entities.dto.request.order.OrderManagerRequest;
import cn.freemud.management.entities.dto.request.pay.PayRefundRequestDto; import cn.freemud.management.entities.dto.request.pay.PayRefundRequestDto;
...@@ -1445,7 +1446,7 @@ public class PayServiceImpl { ...@@ -1445,7 +1446,7 @@ public class PayServiceImpl {
refundResponse.setMsg(refundData.getResultMsg()); refundResponse.setMsg(refundData.getResultMsg());
refundResponse.setRefundAmount(refundData.getRefundAmount()); refundResponse.setRefundAmount(refundData.getRefundAmount());
refundResponse.setTotalAmount(refundData.getTotalAmount()); refundResponse.setTotalAmount(refundData.getTotalAmount());
refundResponse.setRefundStatus(this.getRefundStatus(refundData.getResultCode())); refundResponse.setRefundStatus(OrderCancelReqAdapter.getRefundStatus(refundData.getResultCode()));
refundResponse.setRefundTradeNo(refundData.getRefundTradeNo()); refundResponse.setRefundTradeNo(refundData.getRefundTradeNo());
refundResponse.setTradeNo(refundData.getRefundTradeNo()); refundResponse.setTradeNo(refundData.getRefundTradeNo());
refundResponse.setThirdPartRefundTradeNo(refundData.getThirdPartRefundTradeNo()); refundResponse.setThirdPartRefundTradeNo(refundData.getThirdPartRefundTradeNo());
...@@ -1462,20 +1463,8 @@ public class PayServiceImpl { ...@@ -1462,20 +1463,8 @@ public class PayServiceImpl {
return ResponseUtils.error(refundNewResponse.getCode(), refundNewResponse.getMessage()); return ResponseUtils.error(refundNewResponse.getCode(), refundNewResponse.getMessage());
} }
}
public Integer getRefundStatus(Integer resultCode) {
if (Objects.equals(resultCode, SUCCESS_RESPONSE_CODE_INT)) {
return PaymentRefundStatus.PAYMENT_REFUND_STATUS_1.getCode();
} else if (Objects.equals(resultCode, SUCCESS_RESPONSE_101_CODE_INT)) {
return PaymentRefundStatus.PAYMENT_REFUND_STATUS_1.getCode();
} else {
return Objects.equals(resultCode, REFUND_RESPONSE_CODE) ? PaymentRefundStatus.PAYMENT_REFUND_STATUS_4.getCode() : PaymentRefundStatus.PAYMENT_REFUND_STATUS_2.getCode();
}
} }
public com.freemud.application.sdk.api.base.BaseResponse<OrderRefundResponse> checkParam(String partnerId, String storeId, Long amount) { public com.freemud.application.sdk.api.base.BaseResponse<OrderRefundResponse> checkParam(String partnerId, String storeId, Long amount) {
if (StringUtils.isBlank(partnerId)) { if (StringUtils.isBlank(partnerId)) {
return ResponseUtils.error("501", "商户号不能为空"); return ResponseUtils.error("501", "商户号不能为空");
......
package cn.freemud.management.adapter; package cn.freemud.management.adapter;
import cn.freemud.base.util.DateUtil;
import cn.freemud.management.entities.dto.request.order.RefundSuccessCallbackVo;
import cn.freemud.management.entities.dto.response.pay.OrderRefundResponse;
import cn.freemud.management.entities.dto.response.pay.PayRefundData;
import cn.freemud.management.entities.dto.response.pay.PayRefundResponse; import cn.freemud.management.entities.dto.response.pay.PayRefundResponse;
import cn.freemud.management.enums.PaymentRefundStatus;
import com.freemud.application.sdk.api.ordercenter.enums.CashTypeEnum;
import com.freemud.application.sdk.api.ordercenter.enums.PayMethodEnum;
import com.freemud.application.sdk.api.ordercenter.request.OrderCancelReq; import com.freemud.application.sdk.api.ordercenter.request.OrderCancelReq;
import com.freemud.sdk.api.assortment.order.response.order.MultiOrderRefundResponse;
import com.google.common.collect.Lists;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
import static cn.freemud.management.service.handle.PaymentHandle.*;
/** /**
* @author Clover.z * @author Clover.z
...@@ -27,4 +40,89 @@ public class OrderCancelReqAdapter { ...@@ -27,4 +40,89 @@ public class OrderCancelReqAdapter {
return refundItemList; return refundItemList;
} }
public static PayRefundResponse.PayRefundItem convert(OrderRefundResponse orderRefundData) {
PayRefundResponse.PayRefundItem refundItem = new PayRefundResponse.PayRefundItem();
if (orderRefundData.getCashType() != null) {
refundItem.setPayChannelType(Integer.valueOf(orderRefundData.getCashType()));
refundItem.setPayChannelName(CashTypeEnum.getByCode(orderRefundData.getCashType()).getDesc());
} else {
refundItem.setPayChannelType(PayMethodEnum.getByCode(orderRefundData.getPayMethodCode()).getIndex());
refundItem.setPayChannelName(PayMethodEnum.getByCode(orderRefundData.getPayMethodCode()).getDesc());
}
refundItem.setAmount(orderRefundData.getRefundAmount().intValue());
refundItem.setRefundTradeNo(orderRefundData.getRefundTradeNo());
refundItem.setRefundTime(DateUtil.convert2Date(orderRefundData.getRefundTime(), "yyyy-MM-dd HH:mm:ss").getTime());
refundItem.setCardCode(PayMethodEnum.TSVC.getCode().equals(orderRefundData.getPayMethodCode()) ? orderRefundData.getUniqueCode() : null);
return refundItem;
}
public static List<PayRefundResponse.PayRefundItem> convertMultiRefundItem(List<MultiOrderRefundResponse.RefundPlatformResponse> orderRefundList) {
return orderRefundList.stream()
.map(r -> {
PayRefundResponse.PayRefundItem refundItem = new PayRefundResponse.PayRefundItem();
if (r.getCashType() != null) {
refundItem.setPayChannelType(Integer.valueOf(r.getCashType()));
refundItem.setPayChannelName(CashTypeEnum.getByCode(r.getCashType()).getDesc());
} else {
refundItem.setPayChannelType(PayMethodEnum.getByCode(r.getPayMethodCode()).getIndex());
refundItem.setPayChannelName(PayMethodEnum.getByCode(r.getPayMethodCode()).getDesc());
}
refundItem.setAmount(r.getSettleRefundAmount());
refundItem.setRefundTradeNo(r.getRefundTradeNo());
refundItem.setRefundTime(DateUtil.convert2Date(r.getRefundTime(), "yyyy-MM-dd HH:mm:ss").getTime());
refundItem.setCardCode(PayMethodEnum.TSVC.getCode().equals(r.getPayMethodCode()) ? r.getUniqueCode() : null);
return refundItem;
})
.collect(Collectors.toList());
}
public static List<PayRefundResponse.PayRefundItem> convert(RefundSuccessCallbackVo request) {
List<PayRefundResponse.PayRefundItem> payRefundItemList = Lists.newArrayList();
PayRefundResponse.PayRefundItem payRefundItem = new PayRefundResponse.PayRefundItem();
payRefundItem.setRefundTradeNo(request.getRefundTradeNo());
if (request.getCashType() != null) {
payRefundItem.setPayChannelType(Integer.valueOf(request.getCashType()));
payRefundItem.setPayChannelName(CashTypeEnum.getByCode(request.getCashType()).getDesc());
} else {
payRefundItem.setPayChannelType(PayMethodEnum.getByCode(request.getPayMethodCode()).getIndex());
payRefundItem.setPayChannelName(PayMethodEnum.getByCode(request.getPayMethodCode()).getDesc());
}
payRefundItem.setAmount(request.getRefundAmount());
payRefundItem.setRefundTime(DateUtil.convert2Date(request.getRefundTime(), "yyyy-MM-dd HH:mm:ss").getTime());
payRefundItem.setCardCode(PayMethodEnum.TSVC.getCode().equals(request.getPayMethodCode()) ? request.getUniqueCode() : null);
payRefundItemList.add(payRefundItem);
return payRefundItemList;
}
public static OrderRefundResponse convert(PayRefundData refundData) {
OrderRefundResponse refundResponse = new OrderRefundResponse();
refundResponse.setStatusCode(refundData.getResultCode());
refundResponse.setMsg(refundData.getResultMsg());
refundResponse.setRefundAmount(refundData.getRefundAmount());
refundResponse.setTotalAmount(refundData.getTotalAmount());
refundResponse.setRefundStatus(getRefundStatus(refundData.getResultCode()));
refundResponse.setRefundTradeNo(refundData.getRefundTradeNo());
refundResponse.setTradeNo(refundData.getRefundTradeNo());
refundResponse.setThirdPartRefundTradeNo(refundData.getThirdPartRefundTradeNo());
refundResponse.setThirdPartTradeNo(refundData.getThirdPartTradeNo());
refundResponse.setTotalAmount(refundData.getTotalAmount());
refundResponse.setCashType(refundData.getCashType());
refundResponse.setPayMethodCode(refundData.getPayMethodCode());
refundResponse.setUniqueCode(refundData.getUniqueCode());
refundResponse.setRefundTime(refundData.getRefundTime());
return refundResponse;
}
public static Integer getRefundStatus(Integer resultCode) {
if (Objects.equals(resultCode, SUCCESS_RESPONSE_CODE_INT)) {
return PaymentRefundStatus.PAYMENT_REFUND_STATUS_1.getCode();
} else if (Objects.equals(resultCode, SUCCESS_RESPONSE_101_CODE_INT)) {
return PaymentRefundStatus.PAYMENT_REFUND_STATUS_1.getCode();
} else {
return Objects.equals(resultCode, REFUND_RESPONSE_CODE) ? PaymentRefundStatus.PAYMENT_REFUND_STATUS_4.getCode() : PaymentRefundStatus.PAYMENT_REFUND_STATUS_2.getCode();
}
}
} }
...@@ -72,4 +72,13 @@ public class RefundSuccessCallbackVo { ...@@ -72,4 +72,13 @@ public class RefundSuccessCallbackVo {
@ApiModelProperty(value = "间联退款单号") @ApiModelProperty(value = "间联退款单号")
private String refundEndTransId; private String refundEndTransId;
@ApiModelProperty(value = "支付方式编号", position = 10)
private String payMethodCode;
@ApiModelProperty(value = "现金类型", position = 11)
private String cashType;
@ApiModelProperty(value = "支付条码", position = 12)
private String uniqueCode;
} }
...@@ -19,10 +19,6 @@ public class OrderRefundResponse { ...@@ -19,10 +19,6 @@ public class OrderRefundResponse {
* 退款成功时间 * 退款成功时间
*/ */
private String refundTime; private String refundTime;
/**
* 支付渠道编号
*/
private String payCode;
/** /**
* 支付方式 * 支付方式
...@@ -36,4 +32,9 @@ public class OrderRefundResponse { ...@@ -36,4 +32,9 @@ public class OrderRefundResponse {
*/ */
private String cashType; private String cashType;
/**
* 支付条码, 当支付方式为储值卡的时候,该字段为卡号
*/
private String uniqueCode;
} }
...@@ -25,4 +25,21 @@ public class PayRefundData { ...@@ -25,4 +25,21 @@ public class PayRefundData {
* 支付渠道编号 * 支付渠道编号
*/ */
private String payCode; private String payCode;
/**
* 支付方式
* {@link com.freemud.application.sdk.api.ordercenter.enums.PayMethodEnum}
*/
private String payMethodCode;
/**
* 现金类型, 当payMethodCode为其他的时候,存在该值
* {@link com.freemud.application.sdk.api.ordercenter.enums.CashTypeEnum}
*/
private String cashType;
/**
* 支付条码, 当支付方式为储值卡的时候,该字段为卡号
*/
private String uniqueCode;
} }
package cn.freemud.management.service.handle;
import cn.freemud.management.entities.dto.response.pay.OrderRefundResponse;
import cn.freemud.management.entities.dto.response.pay.PayRefundData;
import cn.freemud.management.enums.PaymentRefundStatus;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.freemud.application.sdk.api.base.BaseResponse;
import com.freemud.application.sdk.api.util.ResponseUtils;
import com.freemud.sdk.api.assortment.order.enums.PayRefundStatus;
import org.apache.commons.lang.ObjectUtils;
import java.util.Objects;
/**
* @author : xh.Z
* @email : fisherman0510@163.com
* @Date : 2022/6/13 10:56
* @description :
*/
public class DemoMain {
public static void main(String[] args) {
String str = "{\n" +
" \"code\": \"100\",\n" +
" \"data\": {\n" +
" \"resultCode\": 82004005,\n" +
" \"resultMsg\": \"当前订单有退款记录没有完成\"\n" +
" },\n" +
" \"message\": \"success\"\n" +
"}";
BaseResponse<PayRefundData> refundNewResponse = JSON.parseObject(str, new TypeReference<BaseResponse<PayRefundData>>() {
});
if (Objects.equals(refundNewResponse.getCode(), "100") && refundNewResponse.getData() != null) {
refundNewResponse.setCode(refundNewResponse.getData().getResultCode().toString());
refundNewResponse.setMessage(refundNewResponse.getData().getResultMsg());
}
if (Objects.equals(refundNewResponse.getCode(), "100")) {
PayRefundData refundData = refundNewResponse.getData();
if (null != refundData) {
OrderRefundResponse refundResponse = new OrderRefundResponse();
refundResponse.setStatusCode(refundData.getResultCode());
refundResponse.setMsg(refundData.getResultMsg());
refundResponse.setRefundAmount(refundData.getRefundAmount());
refundResponse.setTotalAmount(refundData.getTotalAmount());
refundResponse.setRefundStatus(getRefundStatus(refundData.getResultCode()));
refundResponse.setRefundTradeNo(refundData.getRefundTradeNo());
refundResponse.setTradeNo(refundData.getRefundTradeNo());
refundResponse.setThirdPartRefundTradeNo(refundData.getThirdPartRefundTradeNo());
refundResponse.setThirdPartTradeNo(refundData.getThirdPartTradeNo());
refundResponse.setTotalAmount(refundData.getTotalAmount());
// return ResponseUtils.success(refundResponse);
}
}
BaseResponse<OrderRefundResponse> orderRefundResponse = ResponseUtils.error(refundNewResponse.getCode(), refundNewResponse.getMessage());
// Integer refundStatus = PayRefundStatus.SUCCESS;
Integer refundStatus = 1;
if (orderRefundResponse == null) {
// refundStatus = PayRefundStatus.RUNNING;
refundStatus = 4;
} else {
refundStatus = getFinalRefundStatus(Integer.valueOf(orderRefundResponse.getCode()));
}
System.out.println(refundStatus);
}
private static Integer getFinalRefundStatus(Integer resultCode) {
switch (resultCode) {
// 退款中状态码需要单独处理
case 8200305:
// return PayRefundStatus.RUNNING;
return 4;
// 退款成功
case 100:
// return PayRefundStatus.SUCCESS;
return 1;
default:
// return PayRefundStatus.FAIL;
return 2;
}
}
private static final String SUCCESS = "100";
public static final Integer SUCCESS_RESPONSE_CODE_INT = 100;
public static final Integer SUCCESS_RESPONSE_101_CODE_INT = 101;
public static final Integer REFUND_RESPONSE_CODE = 8200305;
public static Integer getRefundStatus(Integer resultCode) {
if (Objects.equals(resultCode, SUCCESS_RESPONSE_CODE_INT)) {
return PaymentRefundStatus.PAYMENT_REFUND_STATUS_1.getCode();
} else if (Objects.equals(resultCode, SUCCESS_RESPONSE_101_CODE_INT)) {
return PaymentRefundStatus.PAYMENT_REFUND_STATUS_1.getCode();
} else {
return Objects.equals(resultCode, REFUND_RESPONSE_CODE) ? PaymentRefundStatus.PAYMENT_REFUND_STATUS_4.getCode() : PaymentRefundStatus.PAYMENT_REFUND_STATUS_2.getCode();
}
}
}
package cn.freemud.management.service.handle; package cn.freemud.management.service.handle;
import cn.freemud.base.util.DateUtil; import cn.freemud.base.util.DateUtil;
import cn.freemud.management.adapter.OrderCancelReqAdapter;
import cn.freemud.management.adapter.PaymentSdkAdapter; import cn.freemud.management.adapter.PaymentSdkAdapter;
import cn.freemud.management.entities.dto.request.pay.AgentPayRefundReq; import cn.freemud.management.entities.dto.request.pay.AgentPayRefundReq;
import cn.freemud.management.entities.dto.response.pay.AgentPayRefundResp; import cn.freemud.management.entities.dto.response.pay.AgentPayRefundResp;
...@@ -8,7 +9,9 @@ import cn.freemud.management.entities.dto.response.pay.PayRefundResponse; ...@@ -8,7 +9,9 @@ import cn.freemud.management.entities.dto.response.pay.PayRefundResponse;
import cn.freemud.management.thirdparty.MulitiPaymentClient; import cn.freemud.management.thirdparty.MulitiPaymentClient;
import cn.freemud.management.util.RedisUtil; import cn.freemud.management.util.RedisUtil;
import cn.freemud.redis.RedisCache; import cn.freemud.redis.RedisCache;
import com.freemud.application.sdk.api.ordercenter.enums.CashTypeEnum;
import com.freemud.application.sdk.api.ordercenter.enums.PayChannelType; import com.freemud.application.sdk.api.ordercenter.enums.PayChannelType;
import com.freemud.application.sdk.api.ordercenter.enums.PayMethodEnum;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderPayItemResp; import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderPayItemResp;
import com.freemud.sdk.api.assortment.order.enums.PayRefundStatus; import com.freemud.sdk.api.assortment.order.enums.PayRefundStatus;
import com.freemud.sdk.api.assortment.order.request.order.MultiOrderRefundRequest; import com.freemud.sdk.api.assortment.order.request.order.MultiOrderRefundRequest;
...@@ -111,20 +114,7 @@ public class MultiRefundService { ...@@ -111,20 +114,7 @@ public class MultiRefundService {
PayRefundResponse payRefundResponse = handlePayRefundResponse(refundStatus, req.getRefundTradeNo()); PayRefundResponse payRefundResponse = handlePayRefundResponse(refundStatus, req.getRefundTradeNo());
if (PayRefundStatus.SUCCESS.equals(refundStatus)) { if (PayRefundStatus.SUCCESS.equals(refundStatus)) {
List<PayRefundResponse.PayRefundItem> payRefundItemList = resp.getData().getRefundPlatformResponseList().stream() payRefundResponse.setPayRefundItemList(OrderCancelReqAdapter.convertMultiRefundItem(resp.getData().getRefundPlatformResponseList()));
.map(r -> {
PayRefundResponse.PayRefundItem refundItem = new PayRefundResponse.PayRefundItem();
refundItem.setPayChannelType(Integer.valueOf(PayChannelType.getByEbcode(r.getEbcode()).getIndex()));
refundItem.setPayChannelName(PayChannelType.getByEbcode(r.getEbcode()).getName());
refundItem.setAmount(r.getSettleRefundAmount());
refundItem.setRefundTradeNo(r.getRefundTradeNo());
refundItem.setRefundTime(DateUtil.convert2Date(r.getRefundTime(), "yyyy-MM-dd HH:mm:ss").getTime());
//TODO 混合支付储值卡卡号 这里需要跟支付对接,下游设计中
// refundItem.setCardCode("?");
return refundItem;
})
.collect(Collectors.toList());
payRefundResponse.setPayRefundItemList(payRefundItemList);
} }
if (StringUtils.isNotEmpty(message)) { if (StringUtils.isNotEmpty(message)) {
payRefundResponse.setMessage(message); payRefundResponse.setMessage(message);
......
package cn.freemud.management.service.handle; package cn.freemud.management.service.handle;
import cn.freemud.base.util.DateUtil; import cn.freemud.base.util.DateUtil;
import cn.freemud.management.adapter.OrderCancelReqAdapter;
import cn.freemud.management.adapter.PaymentSdkAdapter; import cn.freemud.management.adapter.PaymentSdkAdapter;
import cn.freemud.management.entities.dto.request.order.OrderManagerRequest; import cn.freemud.management.entities.dto.request.order.OrderManagerRequest;
import cn.freemud.management.entities.dto.request.pay.PayRefundRequestDto; import cn.freemud.management.entities.dto.request.pay.PayRefundRequestDto;
...@@ -201,19 +202,7 @@ public class PaymentHandle { ...@@ -201,19 +202,7 @@ public class PaymentHandle {
} else { } else {
refundStatus = this.getFinalRefundStatus(Integer.valueOf(orderRefundResponse.getCode())); refundStatus = this.getFinalRefundStatus(Integer.valueOf(orderRefundResponse.getCode()));
message = orderRefundResponse.getMessage(); message = orderRefundResponse.getMessage();
OrderRefundResponse data = orderRefundResponse.getData(); refundItemList.add(OrderCancelReqAdapter.convert(orderRefundResponse.getData()));
PayRefundResponse.PayRefundItem refundItem = new PayRefundResponse.PayRefundItem();
if (data.getCashType() != null) {
refundItem.setPayChannelType(Integer.valueOf(data.getCashType()));
refundItem.setPayChannelName(CashTypeEnum.getByCode(data.getCashType()).getDesc());
} else {
refundItem.setPayChannelType(PayMethodEnum.getByCode(data.getPayMethodCode()).getIndex());
refundItem.setPayChannelName(PayMethodEnum.getByCode(data.getPayMethodCode()).getDesc());
}
refundItem.setAmount(data.getRefundAmount().intValue());
refundItem.setRefundTradeNo(data.getRefundTradeNo());
refundItem.setRefundTime(DateUtil.convert2Date(data.getRefundTime(), "yyyy-MM-dd HH:mm:ss").getTime());
refundItemList.add(refundItem);
} }
PayRefundResponse payRefundResponse = handlePayRefundResponse(refundStatus, refundReq.getRefundId()); PayRefundResponse payRefundResponse = handlePayRefundResponse(refundStatus, refundReq.getRefundId());
payRefundResponse.setPayRefundItemList(refundItemList); payRefundResponse.setPayRefundItemList(refundItemList);
...@@ -223,13 +212,6 @@ public class PaymentHandle { ...@@ -223,13 +212,6 @@ public class PaymentHandle {
return payRefundResponse; return payRefundResponse;
} }
/**
* 代付订单退款
*
*/
private PayRefundStatus getFinalRefundStatus(Integer resultCode) { private PayRefundStatus getFinalRefundStatus(Integer resultCode) {
return PayRefundStatus.getByPayResultCode(resultCode); return PayRefundStatus.getByPayResultCode(resultCode);
} }
...@@ -421,20 +403,7 @@ public class PaymentHandle { ...@@ -421,20 +403,7 @@ public class PaymentHandle {
if (Objects.equals(refundNewResponse.getCode(), "100")) { if (Objects.equals(refundNewResponse.getCode(), "100")) {
PayRefundData refundData = refundNewResponse.getData(); PayRefundData refundData = refundNewResponse.getData();
if (null != refundData) { if (null != refundData) {
OrderRefundResponse refundResponse = new OrderRefundResponse(); return ResponseUtils.success(OrderCancelReqAdapter.convert(refundData));
refundResponse.setStatusCode(refundData.getResultCode());
refundResponse.setMsg(refundData.getResultMsg());
refundResponse.setRefundAmount(refundData.getRefundAmount());
refundResponse.setTotalAmount(refundData.getTotalAmount());
refundResponse.setRefundStatus(this.getRefundStatus(refundData.getResultCode()));
refundResponse.setRefundTradeNo(refundData.getRefundTradeNo());
refundResponse.setTradeNo(refundData.getRefundTradeNo());
refundResponse.setThirdPartRefundTradeNo(refundData.getThirdPartRefundTradeNo());
refundResponse.setThirdPartTradeNo(refundData.getThirdPartTradeNo());
refundResponse.setTotalAmount(refundData.getTotalAmount());
refundResponse.setPayCode(refundData.getPayCode());
refundResponse.setRefundTime(refundData.getRefundTime());
return ResponseUtils.success(refundResponse);
} }
} }
return ResponseUtils.error(refundNewResponse.getCode(), refundNewResponse.getMessage()); return ResponseUtils.error(refundNewResponse.getCode(), refundNewResponse.getMessage());
...@@ -452,16 +421,4 @@ public class PaymentHandle { ...@@ -452,16 +421,4 @@ public class PaymentHandle {
return ResponseUtils.success(); return ResponseUtils.success();
} }
} }
private Integer getRefundStatus(Integer resultCode) {
if (Objects.equals(resultCode, SUCCESS_RESPONSE_CODE_INT)) {
return PaymentRefundStatus.PAYMENT_REFUND_STATUS_1.getCode();
} else if (Objects.equals(resultCode, SUCCESS_RESPONSE_101_CODE_INT)) {
return PaymentRefundStatus.PAYMENT_REFUND_STATUS_1.getCode();
} else {
return Objects.equals(resultCode, REFUND_RESPONSE_CODE) ? PaymentRefundStatus.PAYMENT_REFUND_STATUS_4.getCode() : PaymentRefundStatus.PAYMENT_REFUND_STATUS_2.getCode();
}
}
} }
package cn.freemud.management.service.impl; package cn.freemud.management.service.impl;
import cn.freemud.base.entity.BaseResponse; import cn.freemud.base.entity.BaseResponse;
import cn.freemud.management.adapter.OrderCancelReqAdapter;
import cn.freemud.management.constant.ResponseCodeConstant; import cn.freemud.management.constant.ResponseCodeConstant;
import cn.freemud.management.entities.dto.request.console.*; import cn.freemud.management.entities.dto.request.console.*;
import cn.freemud.management.entities.dto.request.order.OrderManagerRequest; import cn.freemud.management.entities.dto.request.order.OrderManagerRequest;
...@@ -510,6 +511,7 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService { ...@@ -510,6 +511,7 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
} }
refundResponse.setPayRefundStatus(payRefundStatus); refundResponse.setPayRefundStatus(payRefundStatus);
refundResponse.setRefundId(request.getRefundId()); refundResponse.setRefundId(request.getRefundId());
refundResponse.setPayRefundItemList(OrderCancelReqAdapter.convert(request));
OrderManagerRequest omRequest = new OrderManagerRequest(); OrderManagerRequest omRequest = new OrderManagerRequest();
omRequest.setReason(reason); omRequest.setReason(reason);
......
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