Commit 42fbb9b4 by rui.zhu

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

parents 3d0e2df2 947344c3
......@@ -58,5 +58,14 @@ public class MultiOrderRefundResponse<T> {
@ApiModelProperty(value = "业务返回消息")
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;
import cn.freemud.enums.ResponseResult;
import cn.freemud.enums.TradeState;
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.order.OrderManagerRequest;
import cn.freemud.management.entities.dto.request.pay.PayRefundRequestDto;
......@@ -1445,7 +1446,7 @@ public class PayServiceImpl {
refundResponse.setMsg(refundData.getResultMsg());
refundResponse.setRefundAmount(refundData.getRefundAmount());
refundResponse.setTotalAmount(refundData.getTotalAmount());
refundResponse.setRefundStatus(this.getRefundStatus(refundData.getResultCode()));
refundResponse.setRefundStatus(OrderCancelReqAdapter.getRefundStatus(refundData.getResultCode()));
refundResponse.setRefundTradeNo(refundData.getRefundTradeNo());
refundResponse.setTradeNo(refundData.getRefundTradeNo());
refundResponse.setThirdPartRefundTradeNo(refundData.getThirdPartRefundTradeNo());
......@@ -1462,20 +1463,8 @@ public class PayServiceImpl {
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) {
if (StringUtils.isBlank(partnerId)) {
return ResponseUtils.error("501", "商户号不能为空");
......
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.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.sdk.api.assortment.order.response.order.MultiOrderRefundResponse;
import com.google.common.collect.Lists;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
import static cn.freemud.management.service.handle.PaymentHandle.*;
/**
* @author Clover.z
......@@ -27,4 +41,89 @@ public class OrderCancelReqAdapter {
return refundItemList;
}
public static PayRefundResponse.PayRefundItem convert(OrderRefundResponse orderRefundData) {
PayRefundResponse.PayRefundItem refundItem = new PayRefundResponse.PayRefundItem();
if (StringUtils.isNotBlank(orderRefundData.getCashType())) {
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 (StringUtils.isNotBlank(r.getCashType())) {
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 (StringUtils.isNotBlank(request.getCashType())) {
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 {
@ApiModelProperty(value = "间联退款单号")
private String refundEndTransId;
@ApiModelProperty(value = "支付方式编号", position = 10)
private String payMethodCode;
@ApiModelProperty(value = "现金类型", position = 11)
private String cashType;
@ApiModelProperty(value = "支付条码", position = 12)
private String uniqueCode;
}
package cn.freemud.management.entities.dto.response.pay;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
......@@ -18,9 +19,22 @@ public class OrderRefundResponse {
* 退款成功时间
*/
private String refundTime;
/**
* 支付方式
* {@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 payCode;
private String uniqueCode;
}
......@@ -25,4 +25,21 @@ public class PayRefundData {
* 支付渠道编号
*/
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;
import cn.freemud.base.util.DateUtil;
import cn.freemud.management.adapter.OrderCancelReqAdapter;
import cn.freemud.management.adapter.PaymentSdkAdapter;
import cn.freemud.management.entities.dto.request.pay.AgentPayRefundReq;
import cn.freemud.management.entities.dto.response.pay.AgentPayRefundResp;
......@@ -8,7 +9,9 @@ import cn.freemud.management.entities.dto.response.pay.PayRefundResponse;
import cn.freemud.management.thirdparty.MulitiPaymentClient;
import cn.freemud.management.util.RedisUtil;
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.PayMethodEnum;
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.request.order.MultiOrderRefundRequest;
......@@ -111,20 +114,7 @@ public class MultiRefundService {
PayRefundResponse payRefundResponse = handlePayRefundResponse(refundStatus, req.getRefundTradeNo());
if (PayRefundStatus.SUCCESS.equals(refundStatus)) {
List<PayRefundResponse.PayRefundItem> payRefundItemList = resp.getData().getRefundPlatformResponseList().stream()
.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);
payRefundResponse.setPayRefundItemList(OrderCancelReqAdapter.convertMultiRefundItem(resp.getData().getRefundPlatformResponseList()));
}
if (StringUtils.isNotEmpty(message)) {
payRefundResponse.setMessage(message);
......
package cn.freemud.management.service.handle;
import cn.freemud.base.util.DateUtil;
import cn.freemud.management.adapter.OrderCancelReqAdapter;
import cn.freemud.management.adapter.PaymentSdkAdapter;
import cn.freemud.management.entities.dto.request.order.OrderManagerRequest;
import cn.freemud.management.entities.dto.request.pay.PayRefundRequestDto;
......@@ -16,10 +17,12 @@ import cn.freemud.management.thirdparty.OMSPaymentClient;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.freemud.application.sdk.api.base.BaseResponse;
import com.freemud.application.sdk.api.log.ApiLog;
import com.freemud.application.sdk.api.log.ErrorLog;
import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1;
import com.freemud.application.sdk.api.ordercenter.enums.CashTypeEnum;
import com.freemud.application.sdk.api.ordercenter.enums.OrderClientType;
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.request.OrderExtInfoDto;
import com.freemud.application.sdk.api.ordercenter.request.OrderExtendedReq;
import com.freemud.application.sdk.api.ordercenter.response.OrderBaseResp;
......@@ -85,6 +88,7 @@ public class PaymentHandle {
PayRefundResponse multiRefundResponse = multiRefundService.multiRefund(orderBean.getCompanyId(), orderBean.getShopId(), orderBean.getOid(), refundAmount, orderBean.getOrderPayItem());
if (multiRefundResponse != null) {
refundResponse = multiRefundResponse;
ApiLog.infoMessage("getCommonPayRefundResponse---1, 返回json:{}", JSONObject.toJSONString(refundResponse));
}else {
OrderExtendedReq extended = orderBean.getOrderExtended();
if (StringUtils.isNotBlank(extended.getAgentPayerId()) && !Objects.equals(extended.getAgentPayerId(), orderBean.getUserId())) {
......@@ -200,14 +204,7 @@ public class PaymentHandle {
} else {
refundStatus = this.getFinalRefundStatus(Integer.valueOf(orderRefundResponse.getCode()));
message = orderRefundResponse.getMessage();
OrderRefundResponse data = orderRefundResponse.getData();
PayRefundResponse.PayRefundItem refundItem = new PayRefundResponse.PayRefundItem();
refundItem.setPayChannelType(Integer.valueOf(PayChannelType.getByEbcode(data.getPayCode()).getIndex()));
refundItem.setPayChannelName(PayChannelType.getByEbcode(data.getPayCode()).getName());
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);
refundItemList.add(OrderCancelReqAdapter.convert(orderRefundResponse.getData()));
}
PayRefundResponse payRefundResponse = handlePayRefundResponse(refundStatus, refundReq.getRefundId());
payRefundResponse.setPayRefundItemList(refundItemList);
......@@ -217,13 +214,6 @@ public class PaymentHandle {
return payRefundResponse;
}
/**
* 代付订单退款
*
*/
private PayRefundStatus getFinalRefundStatus(Integer resultCode) {
return PayRefundStatus.getByPayResultCode(resultCode);
}
......@@ -415,20 +405,7 @@ public class PaymentHandle {
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(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.success(OrderCancelReqAdapter.convert(refundData));
}
}
return ResponseUtils.error(refundNewResponse.getCode(), refundNewResponse.getMessage());
......@@ -446,16 +423,4 @@ public class PaymentHandle {
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();
}
}
}
......@@ -10,6 +10,8 @@ import cn.freemud.management.enums.ResponseResult;
import cn.freemud.management.intercept.OrderServiceException;
import cn.freemud.management.util.ResponseUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.freemud.application.sdk.api.log.ApiLog;
import com.freemud.application.sdk.api.log.LogThreadLocal;
import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1;
import com.freemud.application.sdk.api.ordercenter.entities.vo.OrderCallBackRequestVo;
......@@ -218,6 +220,7 @@ public class SaasOrderHandle {
});
}
cancelOrderRequest.setPayRefundItemList(refundItemList);
ApiLog.infoMessage("orderReject---2, 返回json:{}", JSONObject.toJSONString(cancelOrderRequest));
BaseOrderResponse baseOrderResponse = orderCenterSdkService.orderReject(cancelOrderRequest);
if (baseOrderResponse == null || ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), baseOrderResponse.getErrcode().toString())) {
......
package cn.freemud.management.service.impl;
import cn.freemud.base.entity.BaseResponse;
import cn.freemud.management.adapter.OrderCancelReqAdapter;
import cn.freemud.management.constant.ResponseCodeConstant;
import cn.freemud.management.entities.dto.request.console.*;
import cn.freemud.management.entities.dto.request.order.OrderManagerRequest;
......@@ -221,6 +222,8 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
}
//订单拒单
ApiLog.infoMessage("orderReject---1, 返回json:{}", JSONObject.toJSONString(refundResponse));
saasOrderHandle.orderReject(request, refundResponse, orderBean);
// 推送pos、微信消息中心
orderBaseService.sendMessage(orderBean, OperateType.ORDER_REJECT, request.getReason());
......@@ -394,6 +397,8 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
if (PAY_RETURN_FILTER_CODES.contains(baseResponse.getCode())) {
return ResponseUtil.error(ResponseResult.getResponseResult(baseResponse.getCode()));
}
ApiLog.infoMessage("商家取消订单失败, 请求json:{} 返回msg:{}", JSONObject.toJSONString(orderBean), baseResponse.getMessage());
emailAlertService.sendEmailAlert("商家取消订单失败", "请求json:" + JSONObject.toJSONString(orderBean) + "返回msg:" + baseResponse.getMessage());
return ResponseUtil.error(ResponseResult.PARTNER_ORDER_CANCEL_ERROR);
}
......@@ -510,6 +515,7 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
}
refundResponse.setPayRefundStatus(payRefundStatus);
refundResponse.setRefundId(request.getRefundId());
refundResponse.setPayRefundItemList(OrderCancelReqAdapter.convert(request));
OrderManagerRequest omRequest = new OrderManagerRequest();
omRequest.setReason(reason);
......
package com.freemud.application.sdk.api.ordercenter.enums;
public enum CashTypeEnum {
HLM("50", "汇来米"),
SQB("51", "收钱吧"),
CASH("52", "现金");
private String code;
private String desc;
CashTypeEnum(String code, String desc) {
this.code = code;
this.desc = desc;
}
public static CashTypeEnum getByCode(String code) {
if (code == null) {
return null;
}
for (CashTypeEnum cashTypeEnum : values()) {
if (cashTypeEnum.getCode().equals(code)) {
return cashTypeEnum;
}
}
return null;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
}
package com.freemud.application.sdk.api.ordercenter.enums;
public enum PayMethodEnum {
TZFB("TZFB", "支付宝", 2),
TYL("TYL", "银联", 13),
TWX("TWX", "微信", 1),
TSVC("TSVC", "储值卡", 3),
TOTHER("TOTHER", "其他支付", 10),
TYZF("TYZF", "翼支付", 12),
;
private String code;
private Integer index;
private String desc;
PayMethodEnum(String code, String desc, Integer index) {
this.code = code;
this.desc = desc;
this.index = index;
}
public static PayMethodEnum getByCode(String code) {
if (code == null) {
return null;
}
for (PayMethodEnum payStatus : values()) {
if (payStatus.getCode().equals(code)) {
return payStatus;
}
}
return null;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
public Integer getIndex() {
return index;
}
public void setIndex(Integer index) {
this.index = index;
}
}
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