Commit 5d5bfcbf by 查志伟

Merge branch 'master' into qa

# Conflicts:
#	order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
parents f90c8373 455bd194
...@@ -99,6 +99,8 @@ import com.freemud.application.sdk.api.ordercenter.common.OrderAndShoppingCommon ...@@ -99,6 +99,8 @@ import com.freemud.application.sdk.api.ordercenter.common.OrderAndShoppingCommon
import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1; 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.entities.v1.RefundBeanV1;
import com.freemud.application.sdk.api.ordercenter.enums.*; 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.enums.orderv1.OrderTypeV1;
import com.freemud.application.sdk.api.ordercenter.request.*; import com.freemud.application.sdk.api.ordercenter.request.*;
......
package cn.freemud.service.thirdparty; package cn.freemud.service.thirdparty;
import cn.freemud.annotations.LogIgnoreFeign;
import cn.freemud.entities.EdenResponse; import cn.freemud.entities.EdenResponse;
import cn.freemud.entities.dto.pay.svc.ConsumeHistoryCreateRequest; import cn.freemud.entities.dto.pay.svc.ConsumeHistoryCreateRequest;
import com.freemud.application.sdk.api.ordercenter.annotation.LogIgnoreFeign;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
......
package cn.freemud.management.handler;
import cn.freemud.base.entity.BaseResponse;
import cn.freemud.management.thirdparty.FMAssistantApplicationClient;
import cn.freemud.management.thirdparty.request.OrderSellCouponRefundRequest;
import com.alibaba.fastjson.JSON;
import com.freemud.application.sdk.api.ordercenter.enums.BizTypeEnum;
import com.freemud.application.sdk.api.ordercenter.enums.MarketTypeEnum;
import com.freemud.application.sdk.api.ordercenter.enums.OrderClientType;
import com.freemud.application.sdk.api.ordercenter.util.LogUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Objects;
/**
* @author : xh.Z
* @email : fisherman0510@163.com
* @Date : 2022/4/21 10:55
* @description : 小助手额外 业务逻辑操作
*/
@Component
public class AssisantApplicationHandler {
// 搞个线程池, 不影响主体业务
@Autowired
private FMAssistantApplicationClient fmAssistantApplicationClient;
@Autowired
private LogUtil logUtil;
/**
* 抖音直播卖券的订单核销 退单操作
*
* @param orderCode 订单号 必须满足下列条件 才能调用接口
* @param bizType com.freemud.application.sdk.api.ordercenter.enums.BizTypeEnum#ORDINARY
* @param orderClient com.freemud.application.sdk.api.ordercenter.enums.OrderClientType#ASSISTANT
* @param marketingType com.freemud.application.sdk.api.ordercenter.enums.MarketTypeEnum#TIKTOK_MARKET_ORDER
*/
public void assisantThirdPartyOrderRefundHandler(String orderCode, Integer bizType, String orderClient, Byte marketingType) {
boolean isSend = Objects.equals(bizType, BizTypeEnum.ORDINARY.getBizType()) &&
Objects.equals(orderClient, OrderClientType.ASSISTANT.getIndex()) &&
Objects.equals(marketingType, MarketTypeEnum.TIKTOK_MARKET_ORDER.getIndex());
if (isSend) {
OrderSellCouponRefundRequest req = new OrderSellCouponRefundRequest();
req.setOrderCode(orderCode);
try {
fmAssistantApplicationClient.orderRefund(req);
} catch (Exception e) {
logUtil.error("", "通知小助手取消抖音核销券订单失败", e, JSON.toJSONString(req));
}
}
}
}
...@@ -7,6 +7,7 @@ import cn.freemud.management.entities.dto.request.order.OrderManagerRequest; ...@@ -7,6 +7,7 @@ import cn.freemud.management.entities.dto.request.order.OrderManagerRequest;
import cn.freemud.management.entities.dto.response.order.OrderManagerResponse; import cn.freemud.management.entities.dto.response.order.OrderManagerResponse;
import cn.freemud.management.entities.dto.response.pay.PayRefundResponse; import cn.freemud.management.entities.dto.response.pay.PayRefundResponse;
import cn.freemud.management.enums.OperateType; import cn.freemud.management.enums.OperateType;
import cn.freemud.management.handler.AssisantApplicationHandler;
import cn.freemud.management.enums.*; import cn.freemud.management.enums.*;
import cn.freemud.management.intercept.OrderServiceException; import cn.freemud.management.intercept.OrderServiceException;
import cn.freemud.management.service.OrderBaseService; import cn.freemud.management.service.OrderBaseService;
...@@ -78,6 +79,8 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService { ...@@ -78,6 +79,8 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
private OrderSdkService orderSdkService; private OrderSdkService orderSdkService;
@Autowired @Autowired
private EmailAlertService emailAlertService; private EmailAlertService emailAlertService;
@Autowired
private AssisantApplicationHandler assisantApplicationHandler;
private static final int SUCCESS = 100; private static final int SUCCESS = 100;
/** /**
......
package cn.freemud.management.thirdparty;
import cn.freemud.base.entity.BaseResponse;
import cn.freemud.management.constant.ResponseCodeConstant;
import cn.freemud.management.constant.ResponseCodeKeyConstant;
import cn.freemud.management.thirdparty.request.OrderSellCouponRefundRequest;
import com.freemud.application.sdk.api.ordercenter.annotation.LogIgnoreFeign;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
@FeignClient(name = "ASSISTANT-SERVICE", url = "${saas.assistantserviceclient.feign.url}")
@RequestMapping(produces = {"application/json;charset=UTF-8"})
public interface FMAssistantApplicationClient {
/**
* 、
* 非码侧拒绝接单|取消订单 抖音核销券业务取消订单操作
*/
@PostMapping("/assistant/thirdparty/order/refund")
@LogIgnoreFeign(excludeStatusCodes = {ResponseCodeConstant.RESPONSE_SUCCESS_STR}, messageFieldName = ResponseCodeKeyConstant.MSG, printInfoLog = true)
BaseResponse orderRefund(@RequestBody OrderSellCouponRefundRequest request);
}
package cn.freemud.management.thirdparty.request;
import lombok.Data;
/**
* @author : xh.Z
* @email : fisherman0510@163.com
* @Date : 2022/4/21 11:35
* @description : 抖音核销订单 需要退款核销请求
*/
@Data
public class OrderSellCouponRefundRequest {
/**
* 非码订单号
*/
private String orderCode;
}
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