Commit 8f4d03cd by 李学兴

opt@feature/20210810_callbackUrgentPlan_lxx:# 紧急开关放到finally代码块

parent b34822ee
...@@ -8,6 +8,8 @@ import cn.freemud.entities.vo.*; ...@@ -8,6 +8,8 @@ import cn.freemud.entities.vo.*;
import cn.freemud.entities.vo.encircle.CreateReserveOrderVo; import cn.freemud.entities.vo.encircle.CreateReserveOrderVo;
import cn.freemud.enums.*; import cn.freemud.enums.*;
import cn.freemud.interceptor.ServiceException; import cn.freemud.interceptor.ServiceException;
import cn.freemud.management.service.handle.SaasOrderHandle;
import cn.freemud.management.thirdparty.OrderCallbackClient;
import cn.freemud.redis.RedisCache; import cn.freemud.redis.RedisCache;
import cn.freemud.service.*; import cn.freemud.service.*;
import cn.freemud.service.universal.UniversalOrderService; import cn.freemud.service.universal.UniversalOrderService;
...@@ -18,7 +20,10 @@ import cn.freemud.utils.ResponseUtil; ...@@ -18,7 +20,10 @@ import cn.freemud.utils.ResponseUtil;
import com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo; import com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo;
import com.freemud.api.assortment.datamanager.enums.IappIdType; import com.freemud.api.assortment.datamanager.enums.IappIdType;
import com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager; import com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager;
import com.freemud.application.sdk.api.log.ApiLog;
import com.freemud.application.sdk.api.log.LogThreadLocal; import com.freemud.application.sdk.api.log.LogThreadLocal;
import com.freemud.application.sdk.api.ordercenter.config.OrderCenterProperties;
import com.freemud.application.sdk.api.ordercenter.entities.vo.OrderCallBackRequestVo;
import com.freemud.sdk.api.assortment.order.enums.OrderSourceType; import com.freemud.sdk.api.assortment.order.enums.OrderSourceType;
import com.freemud.sdk.api.assortment.order.util.LockUtils; import com.freemud.sdk.api.assortment.order.util.LockUtils;
import com.google.gson.Gson; import com.google.gson.Gson;
...@@ -110,6 +115,12 @@ public class OrderAdapterServiceImpl implements OrderAdapterService { ...@@ -110,6 +115,12 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
private String autoRefundClient; private String autoRefundClient;
@Value("${saas.autoRefund.partnerId}") @Value("${saas.autoRefund.partnerId}")
private String autoRefundPartnerId; private String autoRefundPartnerId;
@Autowired
private OrderCenterProperties orderCenterProperties;
@Autowired
private SaasOrderHandle saasOrderHandle;
@Autowired
private OrderCallbackClient orderCallbackClient;
@Override @Override
...@@ -303,6 +314,7 @@ public class OrderAdapterServiceImpl implements OrderAdapterService { ...@@ -303,6 +314,7 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
if (!LockUtils.lockAfter(redisCache.getRedisTemplate(), paySuccessKey)) { if (!LockUtils.lockAfter(redisCache.getRedisTemplate(), paySuccessKey)) {
return orderAdapter.paySuccessLockedMessage(); return orderAdapter.paySuccessLockedMessage();
} }
QueryOrdersResponseDto.DataBean.OrderBean orderBeanSass = null;
try { try {
ConfirmOrderDto confirmOrderDto = orderAdapter.convent2ConfirmOrderDto(message); ConfirmOrderDto confirmOrderDto = orderAdapter.convent2ConfirmOrderDto(message);
// 蜜雪+混合支付专用:通过交易号从缓存中拿订单号,如果有数据则实际订单号为其value值 // 蜜雪+混合支付专用:通过交易号从缓存中拿订单号,如果有数据则实际订单号为其value值
...@@ -326,7 +338,8 @@ public class OrderAdapterServiceImpl implements OrderAdapterService { ...@@ -326,7 +338,8 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
orderService.timeOutRefund(orderBean); orderService.timeOutRefund(orderBean);
return orderAdapter.sendPaySuccessNoticeMessage(); return orderAdapter.sendPaySuccessNoticeMessage();
} }
//紧急开关时 判断订单bean是否存在
orderBeanSass = orderBean;
/** /**
* 围餐处理 * 围餐处理
*/ */
...@@ -365,6 +378,13 @@ public class OrderAdapterServiceImpl implements OrderAdapterService { ...@@ -365,6 +378,13 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
} finally { } finally {
//删除分布式锁 //删除分布式锁
redisCache.delete("saas:lockAfter:" + paySuccessKey); redisCache.delete("saas:lockAfter:" + paySuccessKey);
// 增加全局开关,当紧急方案打开时进行直接处理callBack消息
if (orderBeanSass != null && orderCenterProperties.isUrgentCallbackOpen()) {
// 查询
OrderCallBackRequestVo requestVo = saasOrderHandle.convert2CallbackReq(orderBeanSass.getOid(),2,null,null);
ApiLog.infoMessage("紧急方案 支付成功直接调用callback,orderCode:{},requestId:{}",requestVo.getOrderCode(),requestVo.getRequestId());
orderCallbackClient.callbackOrder(requestVo);
}
} }
} }
......
...@@ -50,9 +50,7 @@ import cn.freemud.management.entities.dto.request.BatchOrderRefundV2Request; ...@@ -50,9 +50,7 @@ import cn.freemud.management.entities.dto.request.BatchOrderRefundV2Request;
import cn.freemud.management.entities.dto.response.activity.GroupWorkRefundResponse; import cn.freemud.management.entities.dto.response.activity.GroupWorkRefundResponse;
import cn.freemud.management.entities.dto.response.pay.PayBatchRefundResponse; import cn.freemud.management.entities.dto.response.pay.PayBatchRefundResponse;
import cn.freemud.management.service.handle.ActivityHandle; import cn.freemud.management.service.handle.ActivityHandle;
import cn.freemud.management.service.handle.SaasOrderHandle;
import cn.freemud.management.thirdparty.MulitiPaymentClient; import cn.freemud.management.thirdparty.MulitiPaymentClient;
import cn.freemud.management.thirdparty.OrderCallbackClient;
import cn.freemud.manager.BuyProductOnceManager; import cn.freemud.manager.BuyProductOnceManager;
import cn.freemud.manager.OrderTackCodeManager; import cn.freemud.manager.OrderTackCodeManager;
import cn.freemud.manager.SpellGroupOrderDataManager; import cn.freemud.manager.SpellGroupOrderDataManager;
...@@ -79,12 +77,9 @@ import com.freemud.api.assortment.datamanager.meal.MealCacheManager; ...@@ -79,12 +77,9 @@ import com.freemud.api.assortment.datamanager.meal.MealCacheManager;
import com.freemud.application.sdk.api.constant.ResponseConstant; import com.freemud.application.sdk.api.constant.ResponseConstant;
import com.freemud.application.sdk.api.constant.ResponseResultEnum; import com.freemud.application.sdk.api.constant.ResponseResultEnum;
import com.freemud.application.sdk.api.couponcenter.offline.service.OfflineCouponSdkService; import com.freemud.application.sdk.api.couponcenter.offline.service.OfflineCouponSdkService;
import com.freemud.application.sdk.api.log.ApiLog;
import com.freemud.application.sdk.api.log.ErrorLog; import com.freemud.application.sdk.api.log.ErrorLog;
import com.freemud.application.sdk.api.log.LogThreadLocal; import com.freemud.application.sdk.api.log.LogThreadLocal;
import com.freemud.application.sdk.api.ordercenter.config.OrderCenterProperties;
import com.freemud.application.sdk.api.ordercenter.entities.PayItem; import com.freemud.application.sdk.api.ordercenter.entities.PayItem;
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.AfterSalesType;
import com.freemud.application.sdk.api.ordercenter.enums.OrderClientType; 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.PayChannelType;
...@@ -323,12 +318,6 @@ public class OrderServiceImpl implements Orderservice { ...@@ -323,12 +318,6 @@ public class OrderServiceImpl implements Orderservice {
@Autowired @Autowired
private BuyProductOnceManager buyProductOnceManager; private BuyProductOnceManager buyProductOnceManager;
@Autowired
private OrderCallbackClient orderCallbackClient;
@Autowired
private OrderCenterProperties orderCenterProperties;
@Autowired
private SaasOrderHandle saasOrderHandle;
@Override @Override
...@@ -631,13 +620,6 @@ public class OrderServiceImpl implements Orderservice { ...@@ -631,13 +620,6 @@ public class OrderServiceImpl implements Orderservice {
//支付成功后 //支付成功后
// buriedPointService.paySuccessBuridPoint(partnerId, storeId, orderBean); // buriedPointService.paySuccessBuridPoint(partnerId, storeId, orderBean);
// 增加全局开关,当紧急方案打开时进行直接处理callBack消息
if (orderCenterProperties.isUrgentCallbackOpen()) {
// 查询
OrderCallBackRequestVo requestVo = saasOrderHandle.convert2CallbackReq(orderBean.getOid(),2,null,null);
ApiLog.infoMessage("紧急方案 支付成功直接调用callback,orderCode:{},requestId:{}",requestVo.getOrderCode(),requestVo.getRequestId());
orderCallbackClient.callbackOrder(requestVo);
}
return sendPaySuccessNoticeMessage(); return sendPaySuccessNoticeMessage();
} }
......
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