Commit 1afb1beb by 周晓航

Merge branch 'KA-维护对接订单基础新增字段'

parents df439570 a15ebe1d
......@@ -175,6 +175,8 @@ public class OrderSdkAdapter {
cancelOrderRequest.setOperator("admin");
//若为4,默认做【创建】+【同意并退款完成】,售后单状态为【完成】
cancelOrderRequest.setCreateEvent(4);
cancelOrderRequest.setRefundState(AfterSalesRefunStateEnum.STATE_1.getIndex());
cancelOrderRequest.setOperationClient(OperationClientEnum.STATE_6.getIndex());
if (refund_id != null) {
cancelOrderRequest.setRefundSerialNo(refund_id.toString());
}
......
package com.freemud.sdk.api.assortment.order.enums;
/**
* @author : xh.Z
* @email : fisherman0510@163.com
* @Date : 2022/6/22 14:22
* @description : 售后单 退款状态
*/
public enum AfterSalesRefunStateEnum {
STATE_0(0, "未定义(存量数据)"),
STATE_1(1, "未退款"),
STATE_2(2, "退款中"),
STATE_3(3, "退款失败"),
STATE_4(4, "已退款"),
;
private Integer index;
private String desc;
public Integer getIndex() {
return this.index;
}
public void setIndex(Integer index) {
this.index = index;
}
public String getDesc() {
return this.desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
private AfterSalesRefunStateEnum(Integer index, String desc) {
this.index = index;
this.desc = desc;
}
}
package com.freemud.sdk.api.assortment.order.enums;
/**
* @author : xh.Z
* @email : fisherman0510@163.com
* @Date : 2022/6/22 14:25
* @description : 操作来源客户端 && 售后申请客户端
*/
public enum OperationClientEnum {
STATE_0(0, "未知"),
STATE_1(1, "POS插件"),
STATE_2(2, "小助手"),
STATE_3(3, "开放平台"),
STATE_4(4, "自动任务"),
STATE_5(5, "用户端"),
STATE_6(6, "系统"),
STATE_7(7, "万象"),
STATE_8(8, "太一"),
;
private Integer index;
private String desc;
public Integer getIndex() {
return this.index;
}
public void setIndex(Integer index) {
this.index = index;
}
public String getDesc() {
return this.desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
private OperationClientEnum(Integer index, String desc) {
this.index = index;
this.desc = desc;
}
}
......@@ -12,10 +12,7 @@
*/
package com.freemud.sdk.api.assortment.order.request.order;
import com.freemud.application.sdk.api.ordercenter.enums.AfterSalesType;
import com.freemud.application.sdk.api.ordercenter.enums.OrderClientType;
import com.freemud.sdk.api.assortment.order.config.BaseConfig;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
......@@ -58,4 +55,10 @@ public class EditAfterSalesExpressRequest extends BaseConfig {
*/
private String expressNo;
/**
* 操作来源客户端
*/
private Integer operationClient;
}
......@@ -52,4 +52,15 @@ public class OrderRefundRequest extends BaseConfig {
private AfterSalesType afterSalesType;
private Integer orderClient;
/**
* 操作来源客户端 1:POS插件 2:小助手 3:开放平台 4:自动任务 5:用户端 6:系统 7:万象 8:太一
*/
private Integer operationClient;
/**
* 售后退款状态 0:未定义(存量数据) 1:未退款 2:退款中 3:退款失败 4:已退款
*/
private Integer refundState;
}
......@@ -605,6 +605,8 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
}
OrderTaskReq orderTask = setAfterSalesOrderTimeOutTask(configuration,orderRefundRequest.getPartnerId());
request.setOrderTask(orderTask);
request.setOperationClient(orderRefundRequest.getOperationClient());
request.setRefundState(orderRefundRequest.getRefundState());
com.freemud.application.sdk.api.ordercenter.response.OrderBaseResp response = orderSdkService.createAfterSalesOrder(request, orderRefundRequest.getTrackingNo());
return orderSdkAdapter.convent2BaseOrderResponse(response);
}
......@@ -967,6 +969,8 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
request.setCreateEvent(4);
request.setOperator(cancelOrderRequest.getOperator());
request.setAfterSerialNo(cancelOrderRequest.getRefundSerialNo());
request.setOperationClient(cancelOrderRequest.getOperationClient());
request.setRefundState(cancelOrderRequest.getRefundState());
com.freemud.application.sdk.api.ordercenter.response.OrderBaseResp response = orderSdkService.cancelOrder(request, cancelOrderRequest.getTrackingNo());
return orderSdkAdapter.convent2BaseOrderResponse(response);
}
......@@ -989,6 +993,8 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
request.setCreateEvent(4);
request.setOperator(cancelOrderRequest.getOperator());
request.setAfterSerialNo(cancelOrderRequest.getRefundSerialNo());
request.setOperationClient(cancelOrderRequest.getOperationClient());
request.setRefundState(cancelOrderRequest.getRefundState());
com.freemud.application.sdk.api.ordercenter.response.OrderBaseResp response = orderSdkService.cancelOrder(request, cancelOrderRequest.getTrackingNo());
return orderSdkAdapter.convent2BaseOrderResponse(response);
} else {
......@@ -1003,6 +1009,8 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
request.setAdultRemark(cancelOrderRequest.getReason());
request.setOperator(cancelOrderRequest.getOperator());
request.setAdultRemark(cancelOrderRequest.getReqRemark());
request.setOperationClient(cancelOrderRequest.getOperationClient());
request.setRefundState(AfterSalesRefunStateEnum.STATE_4.getIndex());
com.freemud.application.sdk.api.ordercenter.response.OrderBaseResp response = orderSdkService.adultApproveWithRefundComplete(request, cancelOrderRequest.getTrackingNo());
return orderSdkAdapter.convent2BaseOrderResponse(response);
}
......@@ -1018,7 +1026,8 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
orderRefundRequest.setStoreId(cancelOrderRequest.getStoreId());
orderRefundRequest.setOrderId(cancelOrderRequest.getOrderId());
orderRefundRequest.setOrderClient(OrderClientType.SAAS.getIndex());
orderRefundRequest.setOperationClient(cancelOrderRequest.getOperationClient());
orderRefundRequest.setRefundState(cancelOrderRequest.getRefundState());
orderRefundRequest.setAfterSalesType(cancelOrderRequest.getAfterSalesType().getIndex() == null ? AfterSalesType.PARTNER_REJECT
: cancelOrderRequest.getAfterSalesType());
orderRefundRequest.setReason(cancelOrderRequest.getReason());
......@@ -1113,6 +1122,8 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
request.setAfterSalesCode(baseQueryOrderRequest.getAfterSalesCode());
request.setOperator(baseQueryOrderRequest.getOperator());
request.setAfterSerialNo(baseQueryOrderRequest.getRefundSerialNo());
request.setOperationClient(baseQueryOrderRequest.getOperationClient());
request.setRefundState(baseQueryOrderRequest.getRefundState());
com.freemud.application.sdk.api.ordercenter.response.OrderBaseResp response = orderSdkService.adultWithRefundComplete(request, baseQueryOrderRequest.getTrackingNo());
return orderSdkAdapter.convent2BaseOrderResponse(response);
}
......@@ -1142,6 +1153,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
request.setAfterSalesCode(cancelOrderRequest.getAfterSalesCode());
request.setAdultRemark(cancelOrderRequest.getReason());
request.setOperator(cancelOrderRequest.getOperator());
request.setOperationClient(cancelOrderRequest.getOperationClient());
if(Objects.equals(NewOrderStatus.ACCEPTED.getIndex(), cancelOrderRequest.getStatusV2())){
StoreResponse.Configuration configuration = getStoreAutoConfiguration(cancelOrderRequest.getPartnerId(), cancelOrderRequest.getStoreId(), cancelOrderRequest.getTrackingNo());
if (configuration != null) {
......@@ -2261,6 +2273,8 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
request.setAfterSerialNo(baseQueryOrderRequest.getRefundSerialNo());
request.setAdultRemark(baseQueryOrderRequest.getReason());
request.setOperator(baseQueryOrderRequest.getOperator());
request.setOperationClient(baseQueryOrderRequest.getOperationClient());
request.setRefundState(baseQueryOrderRequest.getRefundState());
com.freemud.application.sdk.api.ordercenter.response.OrderBaseResp response = orderSdkService.adultWithRefundComplete(request, baseQueryOrderRequest.getTrackingNo());
return orderSdkAdapter.convent2BaseOrderResponse(response);
}
......@@ -2275,6 +2289,8 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
request.setAfterSerialNo(baseQueryOrderRequest.getRefundSerialNo());
request.setAdultRemark(baseQueryOrderRequest.getReason());
request.setOperator(baseQueryOrderRequest.getOperator());
request.setOperationClient(baseQueryOrderRequest.getOperationClient());
request.setRefundState(baseQueryOrderRequest.getRefundState());
com.freemud.application.sdk.api.ordercenter.response.OrderBaseResp response = orderSdkService.adultApproveWithRefundComplete(request, baseQueryOrderRequest.getTrackingNo());
return orderSdkAdapter.convent2BaseOrderResponse(response);
}
......@@ -2290,6 +2306,8 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
request.setAfterSerialNo(baseQueryOrderRequest.getRefundSerialNo());
request.setAdultRemark(baseQueryOrderRequest.getReason());
request.setOperator(baseQueryOrderRequest.getOperator());
request.setOperationClient(baseQueryOrderRequest.getOperationClient());
request.setRefundState(baseQueryOrderRequest.getRefundState());
com.freemud.application.sdk.api.ordercenter.response.OrderBaseResp response = orderSdkService.adultGoodsReturned(request, baseQueryOrderRequest.getTrackingNo());
return orderSdkAdapter.convent2BaseOrderResponse(response);
}
......@@ -2304,6 +2322,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
request.setAfterSerialNo(baseQueryOrderRequest.getRefundSerialNo());
request.setAdultRemark(baseQueryOrderRequest.getReason());
request.setOperator(baseQueryOrderRequest.getOperator());
request.setOperationClient(baseQueryOrderRequest.getOperationClient());
com.freemud.application.sdk.api.ordercenter.response.OrderBaseResp response = orderSdkService.adultApproveAgreeApply(request, baseQueryOrderRequest.getTrackingNo());
return orderSdkAdapter.convent2BaseOrderResponse(response);
}
......@@ -2321,6 +2340,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
request.setOperator(afterSalesExpressRequest.getOperator());
request.setExpressChannelName(afterSalesExpressRequest.getExpressChannelName());
request.setExpressNo(afterSalesExpressRequest.getExpressNo());
request.setOperationClient(afterSalesExpressRequest.getOperationClient());
com.freemud.application.sdk.api.ordercenter.response.OrderBaseResp response = orderSdkService.adultGoodsReturned(request, afterSalesExpressRequest.getTrackingNo());
return orderSdkAdapter.convent2BaseOrderResponse(response);
}
......@@ -2334,6 +2354,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
request.setAfterSalesCode(cancelOrderRequest.getAfterSalesCode());
request.setAdultRemark(cancelOrderRequest.getReason());
request.setOperator(cancelOrderRequest.getOperator());
request.setOperationClient(cancelOrderRequest.getOperationClient());
com.freemud.application.sdk.api.ordercenter.response.OrderBaseResp response = orderSdkService.adultReject(request, cancelOrderRequest.getTrackingNo());
return orderSdkAdapter.convent2BaseOrderResponse(response);
}
......@@ -2369,6 +2390,8 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
request.setCreateEvent(4);
request.setOperator(cancelOrderRequest.getOperator());
request.setAfterSerialNo(cancelOrderRequest.getRefundSerialNo());
request.setOperationClient(cancelOrderRequest.getOperationClient());
request.setRefundState(cancelOrderRequest.getRefundState());
com.freemud.application.sdk.api.ordercenter.response.OrderBaseResp response = orderSdkService.cancelOrder(request, cancelOrderRequest.getTrackingNo());
return orderSdkAdapter.convent2BaseOrderResponse(response);
}
......
......@@ -2229,13 +2229,15 @@ public class OrderAdapter {
cancelOrderRequest.setTrackingNo(trackingNo);
cancelOrderRequest.setRefundSerialNo(refundId);
//操作来源客户端 1:POS插件 2:小助手 3:开放平台 4:自动任务 5:用户端 6:系统 7:万象 8:太一
cancelOrderRequest.setOperationClient(5);
cancelOrderRequest.setOperationClient(OperationClientEnum.STATE_5.getIndex());
if (AfterSalesType.SYSTEM_CANCEL.getIndex().equals(afterSalesType.getIndex())) {
cancelOrderRequest.setOperator("admin");
cancelOrderRequest.setOperationClient(6);
cancelOrderRequest.setOperationClient(OperationClientEnum.STATE_6.getIndex());
}
//若为4,默认做【创建】+【同意并退款完成】,售后单状态为【完成】
cancelOrderRequest.setCreateEvent(4);
// 这里给默认值,外面调用者 自己的根据业务判断退款 状态
cancelOrderRequest.setRefundState(AfterSalesRefunStateEnum.STATE_1.getIndex());
return cancelOrderRequest;
}
......
......@@ -368,6 +368,8 @@ public class OrderBusinessServiceImpl implements OrderBusinessService {
request.setOrderTask(orderTask);
}
request.setRefundDeliveryAmount(cancelOrderRequest.isRefundDeliveryAmount());
request.setOperationClient(cancelOrderRequest.getOperationClient());
request.setRefundState(cancelOrderRequest.getRefundState());
OrderBaseResp response = orderSdkService.cancelOrder(request, cancelOrderRequest.getTrackingNo());
return orderSdkAdapter.convent2BaseOrderResponse(response);
}
......
......@@ -109,7 +109,9 @@ import com.freemud.sdk.api.assortment.message.enums.MessageEventType;
import com.freemud.sdk.api.assortment.message.request.MessagePushOrderTemplateRequest;
import com.freemud.sdk.api.assortment.message.request.MessageTemplateRequest;
import com.freemud.sdk.api.assortment.message.service.IMessageTemplatePushService;
import com.freemud.sdk.api.assortment.order.enums.AfterSalesRefunStateEnum;
import com.freemud.sdk.api.assortment.order.enums.OldOrderAccountType;
import com.freemud.sdk.api.assortment.order.enums.OperationClientEnum;
import com.freemud.sdk.api.assortment.order.request.order.*;
import com.freemud.sdk.api.assortment.order.response.order.*;
import com.freemud.sdk.api.assortment.order.service.OrderCenterSdkService;
......@@ -1288,7 +1290,8 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
orderRefundRequest.setOrderStatusV1(orderBean.getStatus());
orderRefundRequest.setActualAmount(orderBean.getAmount());
orderRefundRequest.setReqAmount(orderBean.getAmount());
orderRefundRequest.setOperationClient(OperationClientEnum.STATE_5.getIndex());
orderRefundRequest.setRefundState(AfterSalesRefunStateEnum.STATE_1.getIndex());
BaseOrderResponse baseOrderResponse = orderCenterSdkService.orderRefund(orderRefundRequest);
if (baseOrderResponse == null || baseOrderResponse.getData() == null || !ObjectUtils.equals(ResponseConstant.SUCCESS_RESPONSE_CODE, baseOrderResponse.getErrcode())) {
return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "创建售后单失败");
......@@ -1405,7 +1408,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
orderRefundRequest.setReqAmount(orderBean.getAmount());
orderRefundRequest.setTrackingNo(trackingNo);
orderRefundRequest.setCreateEvent(AfterSalesOrderCreateEventEnum.REFUND_COMPLETE.getCreateEvent());
orderRefundRequest.setOperationClient(OperationClientEnum.STATE_6.getIndex());
BaseOrderResponse baseOrderResponse = orderCenterSdkService.orderRefund(orderRefundRequest);
if (baseOrderResponse == null || baseOrderResponse.getData() == null || !ObjectUtils.equals(ResponseConstant.SUCCESS_RESPONSE_CODE, baseOrderResponse.getErrcode())) {
......
......@@ -67,6 +67,7 @@ import com.freemud.application.sdk.api.ordercenter.response.orderInfo.AfterSales
import com.freemud.application.sdk.api.ordercenter.service.OrderSdkService;
import com.freemud.application.sdk.api.storecenter.response.StoreResponse;
import com.freemud.sdk.api.assortment.order.adapter.OrderSdkAdapter;
import com.freemud.sdk.api.assortment.order.enums.OperationClientEnum;
import com.freemud.sdk.api.assortment.order.enums.QueryOrderAccountType;
import com.freemud.sdk.api.assortment.order.request.order.*;
import com.freemud.sdk.api.assortment.order.response.order.BaseOrderResponse;
......@@ -887,6 +888,7 @@ public class MallOrderServiceImpl implements MallOrderService {
editAfterSalesExpressRequest.setExpressChannelName(editAfterSalesExpressVo.getExpressChannelName());
editAfterSalesExpressRequest.setAfterSalesCode(orderBean.getAfterSalesOrderResp().getAfterSalesCode());
editAfterSalesExpressRequest.setOperator(userInfo.getNickName());
editAfterSalesExpressRequest.setOperationClient(OperationClientEnum.STATE_5.getIndex());
BaseOrderResponse baseResponseDto = orderCenterSdkService.editAfterSalesExpress(editAfterSalesExpressRequest);
if (!RESPONSE_SUCCESS_CODE.equals(baseResponseDto.getErrcode())) {
......
......@@ -25,7 +25,6 @@ import cn.freemud.entities.dto.activity.PayGiftCheckAndJoinResponseDto;
import cn.freemud.entities.dto.activity.PayGiftCheckAndJoinResponseObj;
import cn.freemud.entities.dto.activity.PayGitCheckAndJoinRequestDto;
import cn.freemud.entities.dto.blacklist.BlacklistDto;
import cn.freemud.entities.dto.blacklist.OrderBlacklistResp;
import cn.freemud.entities.dto.coupon.CheckAndCancelRequest;
import cn.freemud.entities.dto.coupon.CheckAndCancelResponseDTO;
import cn.freemud.entities.dto.coupon.CouponResponseDTO;
......@@ -62,6 +61,8 @@ import cn.freemud.management.entities.dto.response.activity.GroupWorkRefundRespo
import cn.freemud.management.entities.dto.response.pay.OrderRefundResponse;
import cn.freemud.management.entities.dto.response.pay.PayBatchRefundResponse;
import cn.freemud.management.entities.dto.response.pay.PayRefundResponse;
import cn.freemud.management.enums.AfterSalesApplyClientEnum;
import cn.freemud.management.enums.AfterSalesRefunStateEnum;
import cn.freemud.management.enums.SettlementTypeEnum;
import cn.freemud.management.intercept.OrderServiceException;
import cn.freemud.management.service.adapter.OrderManagerAdapter;
......@@ -96,7 +97,6 @@ import com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustome
import com.freemud.api.assortment.datamanager.meal.MealCacheManager;
import com.freemud.application.sdk.api.constant.ResponseConstant;
import com.freemud.application.sdk.api.constant.ResponseResultEnum;
import com.freemud.application.sdk.api.log.ApiLog;
import com.freemud.application.sdk.api.log.ErrorLog;
import com.freemud.application.sdk.api.log.LogThreadLocal;
import com.freemud.application.sdk.api.ordercenter.common.OrderAndShoppingCommonRedisKey;
......@@ -104,8 +104,6 @@ import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1;
import com.freemud.application.sdk.api.ordercenter.entities.v1.RefundBeanV1;
import com.freemud.application.sdk.api.ordercenter.enums.*;
import com.freemud.application.sdk.api.ordercenter.enums.orderv1.*;
import com.freemud.application.sdk.api.ordercenter.enums.OrderType;
import com.freemud.application.sdk.api.ordercenter.enums.orderv1.OrderStatusV1;
import com.freemud.application.sdk.api.ordercenter.enums.orderv1.OrderStatusV1;
import com.freemud.application.sdk.api.ordercenter.enums.orderv1.OrderTypeV1;
import com.freemud.application.sdk.api.ordercenter.request.*;
......@@ -131,6 +129,7 @@ import com.freemud.sdk.api.assortment.message.service.IMessageTemplatePushServic
import com.freemud.sdk.api.assortment.order.constant.OrderRedisKeyConstant;
import com.freemud.sdk.api.assortment.order.entities.OrderRefundConfigEntity;
import com.freemud.sdk.api.assortment.order.enums.AutoOrderConfigTime;
import com.freemud.sdk.api.assortment.order.enums.OperationClientEnum;
import com.freemud.sdk.api.assortment.order.enums.QueryOrderAccountType;
import com.freemud.sdk.api.assortment.order.enums.StoreDeliveryMethod;
import com.freemud.sdk.api.assortment.order.request.order.*;
......@@ -700,6 +699,8 @@ public class OrderServiceImpl implements Orderservice {
request.setRefundSerialNo(requestVo.getRefundId());
request.setOperator("admin");
request.setTrackingNo(trackingNo);
request.setOperationClient(OperationClientEnum.STATE_6.getIndex());
request.setRefundState(AfterSalesRefunStateEnum.STATE_4.getIndex());
BaseOrderResponse response = orderCenterSdkService.orderRefundComplete(request);
if (response == null || !Objects.equals(ResponseCodeConstant.RESPONSE_SUCCESS, response.getErrcode())) {
return refundFaileMessage("orderRefundComplete fail" + response);
......@@ -2048,8 +2049,8 @@ public class OrderServiceImpl implements Orderservice {
cancelOrderRequest.setOperator(orderBean.getUserName());
cancelOrderRequest.setTrackingNo(LogThreadLocal.getTrackingNo());
cancelOrderRequest.setRefundDeliveryAmount(isRefundDeliveryFee);
cancelOrderRequest.setRefundState(1);
cancelOrderRequest.setOperationClient(5);
cancelOrderRequest.setRefundState(AfterSalesRefunStateEnum.STATE_1.getIndex());
cancelOrderRequest.setOperationClient(AfterSalesApplyClientEnum.STATE_5.getIndex());
BaseOrderResponse baseResponseDto = orderCenterSdkService.orderCancel(cancelOrderRequest);
if (!RESPONSE_SUCCESS_CODE.equals(baseResponseDto.getErrcode())) {
......@@ -2091,13 +2092,13 @@ public class OrderServiceImpl implements Orderservice {
partnerId, afterSalesType, orderRefundVo.getReason(), LogThreadLocal.getTrackingNo(), refundId.toString());
cancelOrderRequest.setOperator(orderBean.getUserName());
cancelOrderRequest.setPartnerId(orderBean.getCompanyId());
cancelOrderRequest.setRefundState(4);
cancelOrderRequest.setRefundState(AfterSalesRefunStateEnum.STATE_4.getIndex());
if (Objects.equals(PayRefundStatus.SUCCESS.getCode(), state)) {
//退款成功
cancelOrderRequest.setCreateEvent(AfterSalesOrderCreateEventEnum.REFUND_COMPLETE.getCreateEvent());
} else if (Objects.equals(PayRefundStatus.RUNNING.getCode(), state)) {
cancelOrderRequest.setCreateEvent(null);
cancelOrderRequest.setRefundState(2);
cancelOrderRequest.setRefundState(AfterSalesRefunStateEnum.STATE_2.getIndex());
}else {
// 其他退款失败的情况 不生成售后单
return ResponseUtil.error(ResponseResult.MULTIORDER__ERRORREFUND.getCode(), "multiOrderRefund_failed");
......@@ -3037,9 +3038,11 @@ public class OrderServiceImpl implements Orderservice {
if (unPayRefund.contains(orderBean.getOid())) {
// 无需退款
cancelOrderRequest.setCreateEvent(AfterSalesOrderCreateEventEnum.REFUND_COMPLETE.getCreateEvent());
cancelOrderRequest.setRefundState(AfterSalesRefunStateEnum.STATE_4.getIndex());
} else {
// 记录退款批次
cancelOrderRequest.setCreateEvent(AfterSalesOrderCreateEventEnum.RETURN_COMPLETE.getCreateEvent());
cancelOrderRequest.setRefundState(AfterSalesRefunStateEnum.STATE_4.getIndex());
salesOrderExtInfoReq.setBatchRefundId(batchId);
// todo 发生延时mq用于检查
}
......@@ -3334,6 +3337,7 @@ public class OrderServiceImpl implements Orderservice {
//退款成功
cancelOrderRequest.setCreateEvent(AfterSalesOrderCreateEventEnum.REFUND_COMPLETE.getCreateEvent());
cancelOrderRequest.setReqRemark("");
cancelOrderRequest.setRefundState(AfterSalesRefunStateEnum.STATE_4.getIndex());
cancelOrderRequest.setRefundDeliveryAmount(true);
BaseOrderResponse baseOrderResponse = orderCenterSdkService.orderCancel(cancelOrderRequest);
......@@ -3562,6 +3566,8 @@ public class OrderServiceImpl implements Orderservice {
request.setAfterSerialNo(String.valueOf(refundId));
request.setAdultRemark("重试退款");
request.setOperator("技术支持");
request.setOperationClient(OperationClientEnum.STATE_6.getIndex());
request.setRefundState(AfterSalesRefunStateEnum.STATE_4.getIndex());
OrderBaseResp orderBaseResp = orderSdkService.adultApproveWithRefundComplete(request, LogThreadLocal.getTrackingNo());
if (orderBaseResp == null || !Objects.equals(ResponseCodeConstant.RESPONSE_SUCCESS_STR, orderBaseResp.getCode())) {
......@@ -3816,16 +3822,20 @@ public class OrderServiceImpl implements Orderservice {
orderBean.getCompanyId(), AfterSalesType.USER_CANCEL, orderRefundVo.getReason(), LogThreadLocal.getTrackingNo(), refundId.toString());
cancelOrderRequest.setOperator(orderBean.getUserName());
cancelOrderRequest.setPartnerId(orderBean.getCompanyId());
Integer refundStates = AfterSalesRefunStateEnum.STATE_1.getIndex();
if (Objects.equals(PayRefundStatus.RUNNING.getCode(), state)) {
// 退款中
cancelOrderRequest.setCreateEvent(AfterSalesOrderCreateEventEnum.RETURN_COMPLETE.getCreateEvent());
refundStates = AfterSalesRefunStateEnum.STATE_2.getIndex();
} else if (Objects.equals(PayRefundStatus.SUCCESS.getCode(), state)) {
//退款成功
refundStates = AfterSalesRefunStateEnum.STATE_4.getIndex();
cancelOrderRequest.setCreateEvent(AfterSalesOrderCreateEventEnum.REFUND_COMPLETE.getCreateEvent());
} else {
// 退款失败,直接给基础服务null 用于后续补偿操作
cancelOrderRequest.setCreateEvent(null);
}
cancelOrderRequest.setRefundState(refundStates);
cancelOrderRequest.setReqRemark(orderRefundVo.getRemarks());
cancelOrderRequest.setRefundDeliveryAmount(false);
// 商城订单 增加拓展信息
......
......@@ -1052,7 +1052,8 @@ public class PayServiceImpl {
request.setCreateEvent(cancelOrderRequest.getCreateEvent());
request.setAfterSerialNo(cancelOrderRequest.getRefundSerialNo());
request.setOperator(cancelOrderRequest.getOperator());
request.setOperationClient(cancelOrderRequest.getOperationClient());
request.setRefundState(cancelOrderRequest.getRefundState());
// 【华莱士20210510活动】新增加退款方式字段
if (Objects.nonNull(cancelOrderRequest.getExtInfoReq())) {
request.setExtInfo(JSON.toJSONString(cancelOrderRequest.getExtInfoReq()));
......@@ -1108,7 +1109,8 @@ public class PayServiceImpl {
request.setCreateEvent(cancelOrderRequest.getCreateEvent());
request.setAfterSerialNo(cancelOrderRequest.getRefundSerialNo());
request.setOperator(cancelOrderRequest.getOperator());
request.setOperationClient(cancelOrderRequest.getOperationClient());
request.setRefundState(cancelOrderRequest.getRefundState());
// 【华莱士20210510活动】新增加退款方式字段
if (Objects.nonNull(cancelOrderRequest.getExtInfoReq())) {
request.setExtInfo(JSON.toJSONString(cancelOrderRequest.getExtInfoReq()));
......
......@@ -271,6 +271,8 @@ public class SpellGroupOrderServiceImpl implements SpellGroupOrderService {
request.setOrderTask(orderTask);
}
request.setRefundDeliveryAmount(cancelOrderRequest.isRefundDeliveryAmount());
request.setRefundState(cancelOrderRequest.getRefundState());
request.setOperationClient(cancelOrderRequest.getOperationClient());
OrderBaseResp response = orderSdkService.cancelOrder(request, cancelOrderRequest.getTrackingNo());
return orderSdkAdapter.convent2BaseOrderResponse(response);
}
......
......@@ -506,6 +506,8 @@ public abstract class UniversalOrderService {
request.setOrderTask(orderTask);
}
request.setRefundDeliveryAmount(cancelOrderRequest.isRefundDeliveryAmount());
request.setOperationClient(cancelOrderRequest.getOperationClient());
request.setRefundState(cancelOrderRequest.getRefundState());
OrderBaseResp response = orderSdkService.cancelOrder(request, cancelOrderRequest.getTrackingNo());
return orderSdkAdapter.convent2BaseOrderResponse(response);
}
......
package cn.freemud.management.enums;
/**
* @author : xh.Z
* @email : fisherman0510@163.com
* @Date : 2022/6/22 14:22
* @description : 售后单 退款状态
*/
public enum AfterSalesRefunStateEnum {
STATE_0(0, "未定义(存量数据)"),
STATE_1(1, "未退款"),
STATE_2(2, "退款中"),
STATE_3(3, "退款失败"),
STATE_4(4, "已退款"),
;
private Integer index;
private String desc;
public Integer getIndex() {
return this.index;
}
public void setIndex(Integer index) {
this.index = index;
}
public String getDesc() {
return this.desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
private AfterSalesRefunStateEnum(Integer index, String desc) {
this.index = index;
this.desc = desc;
}
}
......@@ -3,6 +3,7 @@ package cn.freemud.management.service.handle;
import cn.freemud.base.entity.BaseResponse;
import cn.freemud.management.entities.dto.request.order.OrderManagerRequest;
import cn.freemud.management.entities.dto.response.pay.PayRefundResponse;
import cn.freemud.management.enums.AfterSalesRefunStateEnum;
import cn.freemud.management.enums.ResponseResult;
import cn.freemud.management.util.ResponseUtil;
import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1;
......@@ -51,6 +52,8 @@ public class MallOrderHandle {
*/
public BaseResponse refundAgree(OrderManagerRequest request, PayRefundResponse refundResponse, OrderBeanV1 orderBean) {
BaseQueryOrderRequest refundAgreeRequest = orderSdkAdapter.getRefundAgreeRequest(refundResponse.getRefundId(), request.getReason(), request.getOperator(), orderBean);
refundAgreeRequest.setOperationClient(request.getOperationClient());
refundAgreeRequest.setRefundState(AfterSalesRefunStateEnum.STATE_4.getIndex());
BaseOrderResponse baseOrderResponse = null;
if (PayRefundStatus.SUCCESS.equals(refundResponse.getPayRefundStatus()) && RefundModeEnum.REFUND_ALL.getIndex() == orderBean.getRefundList().get(0).getRefundMode()) {
baseOrderResponse = orderCenterSdkService.mallOrderRefundComplete(refundAgreeRequest);
......@@ -74,6 +77,7 @@ public class MallOrderHandle {
*/
public BaseResponse refundReject(OrderManagerRequest request, OrderBeanV1 orderBean) {
CancelOrderRequest rejectRefundRequest = orderSdkAdapter.getRejectRefundRequest(request.getOperator(), request.getReason(), orderBean);
rejectRefundRequest.setOperationClient(request.getOperationClient());
BaseOrderResponse baseOrderResponse = orderCenterSdkService.orderRefundReject(rejectRefundRequest);
if (baseOrderResponse == null || ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), baseOrderResponse.getErrcode().toString())) {
return ResponseUtil.error(ResponseResult.REJECT_REFUND_ORDER_FAIL);
......@@ -90,6 +94,7 @@ public class MallOrderHandle {
*/
public BaseResponse mallOrderAgreeApply(OrderManagerRequest request, OrderBeanV1 orderBean) {
BaseQueryOrderRequest refundAgreeRequest = orderSdkAdapter.getRefundAgreeRequest("", request.getReason(), request.getOperator(), orderBean);
refundAgreeRequest.setOperationClient(request.getOperationClient());
BaseOrderResponse baseOrderResponse = orderCenterSdkService.mallOrderAgreeApply(refundAgreeRequest);
if (baseOrderResponse == null || ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), baseOrderResponse.getErrcode().toString())) {
return ResponseUtil.error(ResponseResult.AGREE_REFUND_APPLY_ORDER_FAIL);
......@@ -105,6 +110,7 @@ public class MallOrderHandle {
*/
public BaseResponse mallRefundReject(OrderManagerRequest request, OrderBeanV1 orderBean) {
CancelOrderRequest rejectRefundRequest = orderSdkAdapter.getRejectRefundRequest(request.getOperator(), request.getReason(), orderBean);
rejectRefundRequest.setOperationClient(request.getOperationClient());
BaseOrderResponse baseOrderResponse = orderCenterSdkService.mallOrderRefundReject(rejectRefundRequest);
if (baseOrderResponse == null || ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), baseOrderResponse.getErrcode().toString())) {
return ResponseUtil.error(ResponseResult.REJECT_REFUND_ORDER_FAIL);
......@@ -122,6 +128,7 @@ public class MallOrderHandle {
public BaseResponse mallOrderReject(OrderManagerRequest request, PayRefundResponse refundResponse, OrderBeanV1 orderBean) {
//作废订单
CancelOrderRequest cancelOrderRequest = orderSdkAdapter.getCancelOrderRequest(request.getOperator(), request.getReason(), refundResponse.getPayRefundStatus(), refundResponse.getRefundId(), orderBean);
cancelOrderRequest.setOperationClient(request.getOperationClient());
BaseOrderResponse baseOrderResponse = orderCenterSdkService.mallOrderReject(cancelOrderRequest);
if (baseOrderResponse == null || ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), baseOrderResponse.getErrcode().toString())) {
return ResponseUtil.error(ResponseResult.AFFIRM_ORDER_FAIL);
......
......@@ -10,8 +10,6 @@ import com.alibaba.fastjson.JSON;
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;
import com.freemud.application.sdk.api.ordercenter.enums.AfterSalesType;
import com.freemud.application.sdk.api.ordercenter.enums.OrderClientType;
import com.freemud.application.sdk.api.ordercenter.enums.orderv1.RefundStatusV1;
import com.freemud.application.sdk.api.ordercenter.request.OrderModifyRelatingCodeReq;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs;
......@@ -22,7 +20,6 @@ import com.freemud.sdk.api.assortment.order.entities.other.OtherParamDTO;
import com.freemud.sdk.api.assortment.order.enums.PayRefundStatus;
import com.freemud.sdk.api.assortment.order.request.order.BaseQueryOrderRequest;
import com.freemud.sdk.api.assortment.order.request.order.CancelOrderRequest;
import com.freemud.sdk.api.assortment.order.request.order.OrderRefundRequest;
import com.freemud.sdk.api.assortment.order.response.order.BaseOrderResponse;
import com.freemud.sdk.api.assortment.order.service.OrderCenterSdkService;
import org.apache.commons.lang.ObjectUtils;
......@@ -182,6 +179,7 @@ public class SaasOrderHandle {
public BaseResponse orderReject(OrderManagerRequest request, PayRefundResponse refundResponse, OrderBeanV1 orderBean) {
//作废订单
CancelOrderRequest cancelOrderRequest = orderSdkAdapter.getCancelOrderRequest(request.getOperator(), request.getReason(), refundResponse.getPayRefundStatus(), refundResponse.getRefundId(), orderBean);
cancelOrderRequest.setOperationClient(request.getOperationClient());
BaseOrderResponse baseOrderResponse = orderCenterSdkService.orderReject(cancelOrderRequest);
if (baseOrderResponse == null || ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), baseOrderResponse.getErrcode().toString())) {
return ResponseUtil.error(ResponseResult.AFFIRM_ORDER_FAIL);
......@@ -200,6 +198,7 @@ public class SaasOrderHandle {
//作废订单
CancelOrderRequest cancelOrderRequest = orderSdkAdapter.getCancelOrderRequest(request.getOperator(), request.getReason(), refundResponse.getPayRefundStatus(), refundResponse.getRefundId(), orderBean);
cancelOrderRequest.setReqRemark(request.getRemark());
cancelOrderRequest.setOperationClient(request.getOperationClient());
BaseOrderResponse baseOrderResponse = orderCenterSdkService.mcCafeOrderReject(cancelOrderRequest, orderBean);
if (baseOrderResponse == null || ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), baseOrderResponse.getErrcode().toString())) {
return ResponseUtil.error(ResponseResult.AFFIRM_ORDER_FAIL);
......@@ -294,6 +293,7 @@ public class SaasOrderHandle {
*/
public BaseResponse refundReject(OrderManagerRequest request, OrderBeanV1 orderBean) {
CancelOrderRequest rejectRefundRequest = orderSdkAdapter.getRejectRefundRequest(request.getOperator(), request.getReason(), orderBean);
rejectRefundRequest.setOperationClient(request.getOperationClient());
BaseOrderResponse baseOrderResponse = orderCenterSdkService.orderRefundReject(rejectRefundRequest);
if (baseOrderResponse == null || ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), baseOrderResponse.getErrcode().toString())) {
return ResponseUtil.error(ResponseResult.REJECT_REFUND_ORDER_FAIL);
......@@ -314,6 +314,7 @@ public class SaasOrderHandle {
if (RefundStatusV1.APPLY_REFUND.getCodeV1().equals(orderBean.getRefundList().get(i).getStatus())) {
rejectRefundRequest.setAfterSalesCode(orderBean.getRefundList().get(i).getRid());
rejectRefundRequest.setOperationClient(request.getOperationClient());
baseOrderResponse = orderCenterSdkService.orderRefundReject(rejectRefundRequest);
}
if (RefundStatusV1.COMPLETE_REFUND.getCodeV1().equals(orderBean.getRefundList().get(i).getStatus())) {
......@@ -331,6 +332,7 @@ public class SaasOrderHandle {
/**
* 取消订单
*/
@Deprecated
public BaseResponse orderCancel(OrderManagerRequest request, PayRefundResponse refundResponse,OrderBeanV1 orderBean) {
//作废订单
CancelOrderRequest cancelOrderRequest = orderSdkAdapter.getCancelOrderRequest(request.getOperator(), request.getReason(), refundResponse.getPayRefundStatus(), refundResponse.getRefundId(), orderBean);
......
......@@ -332,7 +332,7 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
return executeRefund(request, orderBean, OperateType.ORDER_REJECT.getOpType());
}
} else if (OrderSourceV1.POS.getCode().equals(orderBean.getSource())) {
return posCancel(orderBean);
return posCancel(orderBean, request);
}
return ResponseUtil.error("501", "暂不支持");
}
......@@ -390,6 +390,8 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
orderCancelReq.setCreateEvent(createEvent);
orderCancelReq.setOrderClient(orderClient == null ? OrderClientType.SAAS.getIndex() : orderClient);
orderCancelReq.setOperator(request.getOperator());
orderCancelReq.setOperationClient(request.getOperationClient());
orderCancelReq.setRefundState(AfterSalesRefunStateEnum.STATE_1.getIndex());
OrderBaseResp baseResponse = orderSdkService.cancelOrder(orderCancelReq, UUID.randomUUID().toString());
if (!ObjectUtils.equals(SUCCESS, Integer.valueOf(baseResponse.getCode()))) {
this.commonSendEmailAlert(order, baseResponse, "拒单在支付退款后的取消订单操作失败");
......@@ -398,7 +400,7 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
return ResponseUtil.success();
}
public BaseResponse<OrderManagerResponse> posCancel(OrderBeanV1 order) {
public BaseResponse<OrderManagerResponse> posCancel(OrderBeanV1 order, OrderManagerRequest request) {
//调用cancel接口,商家退款
OrderCancelReq orderCancelReq = new OrderCancelReq();
orderCancelReq.setPartnerId(order.getCompanyId());
......@@ -407,6 +409,8 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
orderCancelReq.setAfterSalesType(AfterSalesType.PARTNER_CANCEL.getIndex());
orderCancelReq.setCreateEvent(CreateEventEnum.FOUR.getType());
orderCancelReq.setOrderClient(OrderClientType.POS.getIndex());
orderCancelReq.setOperationClient(request.getOperationClient());
orderCancelReq.setRefundState(AfterSalesRefunStateEnum.STATE_1.getIndex());
OrderBaseResp baseResponse = orderSdkService.cancelOrder(orderCancelReq, UUID.randomUUID().toString());
if (!Objects.equals(SUCCESS, Integer.valueOf(baseResponse.getCode()))) {
this.commonSendEmailAlert(order, baseResponse, "posCancel 取消订单失败");
......
......@@ -87,6 +87,17 @@ public class CreateAfterSalesOrder {
// "4-同意并退款完成,状态变为【完成】 5-同意并退货完成,状态变为【已退货】
private Integer createEvent;
/**
* 操作来源客户端 1:POS插件 2:小助手 3:开放平台 4:自动任务 5:用户端 6:系统 7:万象 8:太一
*/
private Integer operationClient;
/**
* 售后退款状态 0:未定义(存量数据) 1:未退款 2:退款中 3:退款失败 4:已退款
*/
private Integer refundState;
private Integer timeOut;
//任务
......
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