Commit 8f4d03cd by 李学兴

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

parent b34822ee
......@@ -8,6 +8,8 @@ import cn.freemud.entities.vo.*;
import cn.freemud.entities.vo.encircle.CreateReserveOrderVo;
import cn.freemud.enums.*;
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.service.*;
import cn.freemud.service.universal.UniversalOrderService;
......@@ -18,7 +20,10 @@ import cn.freemud.utils.ResponseUtil;
import com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo;
import com.freemud.api.assortment.datamanager.enums.IappIdType;
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.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.util.LockUtils;
import com.google.gson.Gson;
......@@ -110,6 +115,12 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
private String autoRefundClient;
@Value("${saas.autoRefund.partnerId}")
private String autoRefundPartnerId;
@Autowired
private OrderCenterProperties orderCenterProperties;
@Autowired
private SaasOrderHandle saasOrderHandle;
@Autowired
private OrderCallbackClient orderCallbackClient;
@Override
......@@ -303,6 +314,7 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
if (!LockUtils.lockAfter(redisCache.getRedisTemplate(), paySuccessKey)) {
return orderAdapter.paySuccessLockedMessage();
}
QueryOrdersResponseDto.DataBean.OrderBean orderBeanSass = null;
try {
ConfirmOrderDto confirmOrderDto = orderAdapter.convent2ConfirmOrderDto(message);
// 蜜雪+混合支付专用:通过交易号从缓存中拿订单号,如果有数据则实际订单号为其value值
......@@ -326,7 +338,8 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
orderService.timeOutRefund(orderBean);
return orderAdapter.sendPaySuccessNoticeMessage();
}
//紧急开关时 判断订单bean是否存在
orderBeanSass = orderBean;
/**
* 围餐处理
*/
......@@ -365,6 +378,13 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
} finally {
//删除分布式锁
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;
import cn.freemud.management.entities.dto.response.activity.GroupWorkRefundResponse;
import cn.freemud.management.entities.dto.response.pay.PayBatchRefundResponse;
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.OrderCallbackClient;
import cn.freemud.manager.BuyProductOnceManager;
import cn.freemud.manager.OrderTackCodeManager;
import cn.freemud.manager.SpellGroupOrderDataManager;
......@@ -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.ResponseResultEnum;
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.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.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.PayChannelType;
......@@ -323,12 +318,6 @@ public class OrderServiceImpl implements Orderservice {
@Autowired
private BuyProductOnceManager buyProductOnceManager;
@Autowired
private OrderCallbackClient orderCallbackClient;
@Autowired
private OrderCenterProperties orderCenterProperties;
@Autowired
private SaasOrderHandle saasOrderHandle;
@Override
......@@ -631,13 +620,6 @@ public class OrderServiceImpl implements Orderservice {
//支付成功后
// 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();
}
......
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