Commit 0b08d8f4 by 周晓航

Merge branch 'KA-订单MQ功能迁移-zxh' into qa

# Conflicts:
#	call-back-service/src/main/java/cn/freemud/amp/service/OrderCallBackMQService.java
parents 4b8b456f d543d861
...@@ -28,21 +28,28 @@ public class OrderCallBackConfig { ...@@ -28,21 +28,28 @@ public class OrderCallBackConfig {
public static final String OPEN_PLATFORM_ORDER_STATUS_CHANGE_PUSH_QUEUE_NAME = "open-platform-order-status-change-push-queue"; public static final String OPEN_PLATFORM_ORDER_STATUS_CHANGE_PUSH_QUEUE_NAME = "open-platform-order-status-change-push-queue";
public static final String OPEN_PLATFORM_ORDER_STATUS_CHANGE_PUSH_ROUTING_KEY = "open-platform-order-status-change-routing-key"; public static final String OPEN_PLATFORM_ORDER_STATUS_CHANGE_PUSH_ROUTING_KEY = "open-platform-order-status-change-routing-key";
public static final String WECHAT_REPORT_QUEUE_ROUTING_KEY="wechat-report-queue-routing-key"; public static final String WECHAT_REPORT_QUEUE_ROUTING_KEY = "wechat-report-queue-routing-key";
//微信订单上传 //微信订单上传
public static final String WECHAT_ORDER_REPORT_QUEUE_ROUTING_KEY="wechat-order-report-queue-routing-key"; public static final String WECHAT_ORDER_REPORT_QUEUE_ROUTING_KEY = "wechat-order-report-queue-routing-key";
public static final String WECHAT_ORDER_REPORT_QUEUE="wechat-order-report-queue"; public static final String WECHAT_ORDER_REPORT_QUEUE = "wechat-order-report-queue";
public static final String INVOICE_QUEUE = "invoice-report-queue"; public static final String INVOICE_QUEUE = "invoice-report-queue";
public static final String INVOICE_ROUTE_KEY = "invoice-report-queue-routing-key"; public static final String INVOICE_ROUTE_KEY = "invoice-report-queue-routing-key";
// 腾讯有数上报 & 门店营业开店记录 发送到 ordercenter-order组的 mq中 // 腾讯有数上报 & 门店营业开店记录 发送到 ordercenter-order组的 mq中
public static final String SEND_YOUSHU_REPORT_QUEUE_ROUTING_KEY="send-youshu-report-queue-routing-key"; @Deprecated
public static final String SEND_YOUSHU_REPORT_QUEUE="send-youshu-report-queue"; public static final String SEND_YOUSHU_REPORT_QUEUE_ROUTING_KEY = "send-youshu-report-queue-routing-key";
@Deprecated
public static final String SEND_YOUSHU_REPORT_QUEUE = "send-youshu-report-queue";
// task-center-order-consumer服务 订单状态处理中心queue
public static final String ORDER_STATUS_PROCESS_CENTER_QUEUE_ROUTING_KEY = "order_status_process_center_queue-routing-key";
public static final String ORDER_STATUS_PROCESS_CENTER_QUEUE = "order_status_process_center_queue";
// 支付宝订单状态推送 tapd需求id 1032865 // 支付宝订单状态推送 tapd需求id 1032865
public static final String ZFB_ORDER_SEND_QUEUE_ROUTING_KEY="zfb-order-send-queue-routing-key"; public static final String ZFB_ORDER_SEND_QUEUE_ROUTING_KEY = "zfb-order-send-queue-routing-key";
public static final String ZFB_ORDER_SEND_QUEUE="zfb-order-send-queue"; public static final String ZFB_ORDER_SEND_QUEUE = "zfb-order-send-queue";
/** /**
* 定义基于Fanout 的Exchange。 * 定义基于Fanout 的Exchange。
...@@ -109,23 +116,27 @@ public class OrderCallBackConfig { ...@@ -109,23 +116,27 @@ public class OrderCallBackConfig {
/** /**
* 发票queue绑定设置 * 发票queue绑定设置
*
* @return * @return
*/ */
@Bean(name = "invoiceExchange") @Bean(name = "invoiceExchange")
public Exchange invoiceExchange() { public Exchange invoiceExchange() {
return ExchangeBuilder.topicExchange(TOPIC_EXCHANGE_NAME).durable(true).build(); return ExchangeBuilder.topicExchange(TOPIC_EXCHANGE_NAME).durable(true).build();
} }
@Bean(name="invoiceQueue")
@Bean(name = "invoiceQueue")
public Queue invoiceQueue() { public Queue invoiceQueue() {
return QueueBuilder.durable(INVOICE_QUEUE).build(); return QueueBuilder.durable(INVOICE_QUEUE).build();
} }
@Bean @Bean
Binding bindingInvoiceQueue(@Qualifier("invoiceQueue") Queue invoiceQueue,@Qualifier("invoiceExchange") Exchange invoiceExchange) { Binding bindingInvoiceQueue(@Qualifier("invoiceQueue") Queue invoiceQueue, @Qualifier("invoiceExchange") Exchange invoiceExchange) {
return BindingBuilder.bind(invoiceQueue).to(invoiceExchange).with(INVOICE_ROUTE_KEY).noargs(); return BindingBuilder.bind(invoiceQueue).to(invoiceExchange).with(INVOICE_ROUTE_KEY).noargs();
} }
/** /**
* 有数上报/ 支付门店 queue 绑定 * 有数上报/ 支付门店 queue 绑定
*
* @return * @return
*/ */
@Bean(name = "sendWechatReportQueue") @Bean(name = "sendWechatReportQueue")
...@@ -137,4 +148,20 @@ public class OrderCallBackConfig { ...@@ -137,4 +148,20 @@ public class OrderCallBackConfig {
Binding bindingSendWechatReportQueue(@Qualifier("sendWechatReportQueue") Queue sendWechatReportQueue, @Qualifier("topicExchange") Exchange topicExchange) { Binding bindingSendWechatReportQueue(@Qualifier("sendWechatReportQueue") Queue sendWechatReportQueue, @Qualifier("topicExchange") Exchange topicExchange) {
return BindingBuilder.bind(sendWechatReportQueue).to(topicExchange).with(SEND_YOUSHU_REPORT_QUEUE_ROUTING_KEY).noargs(); return BindingBuilder.bind(sendWechatReportQueue).to(topicExchange).with(SEND_YOUSHU_REPORT_QUEUE_ROUTING_KEY).noargs();
} }
/**
* 有数上报/ 支付门店 queue 绑定
*
* @return
*/
@Bean(name = "orderStatusProcessCenterQueue")
public Queue orderStatusProcessCenterQueue() {
return QueueBuilder.durable(ORDER_STATUS_PROCESS_CENTER_QUEUE).build();
}
@Bean
Binding bindingOrderStatusProcessCenterQueue(@Qualifier("orderStatusProcessCenterQueue") Queue orderStatusProcessCenterQueue, @Qualifier("topicExchange") Exchange topicExchange) {
return BindingBuilder.bind(orderStatusProcessCenterQueue).to(topicExchange).with(ORDER_STATUS_PROCESS_CENTER_QUEUE_ROUTING_KEY).noargs();
}
} }
...@@ -63,23 +63,29 @@ public class OrderCallBackMQService { ...@@ -63,23 +63,29 @@ public class OrderCallBackMQService {
private AssortmentOpenPlatformWxappManager openPlatformWxappManager; private AssortmentOpenPlatformWxappManager openPlatformWxappManager;
@Value("${saas.order.invoice.report.partnerIds}") @Value("${saas.order.invoice.report.partnerIds}")
private String invoicePartnerIds; private String invoicePartnerIds;
private static final String backOrdersChangeOrderStatusConsumerQueue="program.backorders_change_order_status_consumer_queue";
private static final String backOrdersNotifyActivityExchange="program.backorders_notify_activity_exchange"; @Value("${queue-grace-offline:}")
private String queueGraceOffline;
private static final String backOrdersChangeOrderStatusConsumerQueue = "program.backorders_change_order_status_consumer_queue";
private static final String backOrdersNotifyActivityExchange = "program.backorders_notify_activity_exchange";
@Autowired @Autowired
private LogUtil logUtil; private LogUtil logUtil;
@Autowired @Autowired
private PushOrderConfig pushOrderConfig; private PushOrderConfig pushOrderConfig;
public void sendOrderMQ(OrderCallBackRequestVo body) { public void sendOrderMQ(OrderCallBackRequestVo body) {
OrderInfoReqs orderInfoReqs = getOrderInfoReqs(body); OrderInfoReqs orderInfoReqs = getOrderInfoReqs(body);
if (orderInfoReqs == null) { if (orderInfoReqs == null) {
return; return;
} }
// bizType=3 会员业务,bizType=4 积分商城业务,bizType=5 储值账户业务,bizType=9 礼品卡业务 (会员订单合并到支付宝微信渠道,保持之前业务一样,暂时不处理) // bizType=3 会员业务,bizType=4 积分商城业务,bizType=5 储值账户业务,bizType=9 礼品卡业务 (会员订单合并到支付宝微信渠道,保持之前业务一样,暂时不处理)
if (Objects.equals(3,orderInfoReqs.getBizType()) if (Objects.equals(3, orderInfoReqs.getBizType())
|| Objects.equals(4,orderInfoReqs.getBizType()) || Objects.equals(4, orderInfoReqs.getBizType())
|| Objects.equals(5,orderInfoReqs.getBizType()) || Objects.equals(5, orderInfoReqs.getBizType())
|| Objects.equals(9,orderInfoReqs.getBizType())) { || Objects.equals(9, orderInfoReqs.getBizType())) {
return; return;
} }
//发送订单回调 //发送订单回调
...@@ -88,7 +94,7 @@ public class OrderCallBackMQService { ...@@ -88,7 +94,7 @@ public class OrderCallBackMQService {
MQMessage<OrderCallBackRequestVo> message = new MQMessage<>(header, body); MQMessage<OrderCallBackRequestVo> message = new MQMessage<>(header, body);
mqService.convertAndSend(OrderCallBackConfig.EXCHANGE_NAME, OrderCallBackConfig.QUEUE_ROUTING_KEY, message); mqService.convertAndSend(OrderCallBackConfig.EXCHANGE_NAME, OrderCallBackConfig.QUEUE_ROUTING_KEY, message);
//订单状态变更通知开放平台 //订单状态变更通知开放平台
Boolean filterPushOrder = filterPushOrder(body,orderInfoReqs); Boolean filterPushOrder = filterPushOrder(body, orderInfoReqs);
if (filterPushOrder) { if (filterPushOrder) {
orderDistributionService.pushOrder(convent2DisRequest(body, orderInfoReqs.getOrderState())); orderDistributionService.pushOrder(convent2DisRequest(body, orderInfoReqs.getOrderState()));
} }
...@@ -99,11 +105,16 @@ public class OrderCallBackMQService { ...@@ -99,11 +105,16 @@ public class OrderCallBackMQService {
//未支付超时关单,发送队列冲正积分、券码等,停车场订单走单独逻辑 //未支付超时关单,发送队列冲正积分、券码等,停车场订单走单独逻辑
if (checkParkingOrders(orderInfoReqs)) { if (checkParkingOrders(orderInfoReqs)) {
revertParkingOrders(body); revertParkingOrders(body);
}else{ } else {
revert(body); revert(body);
} }
if (!Objects.equals(queueGraceOffline, "1")) {
// 有数订单数据上报 & 每日下单门店统计 // 有数订单数据上报 & 每日下单门店统计
sendYoushuReportMQ(body); sendYoushuReportMQ(body);
}
// task-center-order-consumer服务 订单状态处理中心queue 优化原有相同queue代码
this.sendOrderStatusProcessCenterMQ(body);
//支付宝订单状态变更上报 //支付宝订单状态变更上报
sendzfbOrderMQ(body); sendzfbOrderMQ(body);
...@@ -111,20 +122,21 @@ public class OrderCallBackMQService { ...@@ -111,20 +122,21 @@ public class OrderCallBackMQService {
/** /**
* 冲正库存、券码等 * 冲正库存、券码等
*
* @param body * @param body
*/ */
public void revert(OrderCallBackRequestVo body){ public void revert(OrderCallBackRequestVo body) {
if (ObjectUtils.notEqual(body.getDelayMsgEventType(),2)){ if (ObjectUtils.notEqual(body.getDelayMsgEventType(), 2)) {
return; return;
} }
String redisKey = "kgd:cancel_payment_oid:" + body.getOrderCode() ; String redisKey = "kgd:cancel_payment_oid:" + body.getOrderCode();
//取消支付订单缓存, //取消支付订单缓存,
Object value = redisCache.getValue(redisKey); Object value = redisCache.getValue(redisKey);
if(value != null){ if (value != null) {
return; return;
} }
ApiLog.infoMessage("activityReverse start orderCode:{}", body.getOrderCode()); ApiLog.infoMessage("activityReverse start orderCode:{}", body.getOrderCode());
String orderCode=body.getOrderCode(); String orderCode = body.getOrderCode();
OrderStatusChangeRequestDto requestDto = new OrderStatusChangeRequestDto(); OrderStatusChangeRequestDto requestDto = new OrderStatusChangeRequestDto();
requestDto.setOid(orderCode); requestDto.setOid(orderCode);
//2:未支付 //2:未支付
...@@ -135,9 +147,10 @@ public class OrderCallBackMQService { ...@@ -135,9 +147,10 @@ public class OrderCallBackMQService {
mqService.convertAndSend(backOrdersNotifyActivityExchange, backOrdersChangeOrderStatusConsumerQueue, message); mqService.convertAndSend(backOrdersNotifyActivityExchange, backOrdersChangeOrderStatusConsumerQueue, message);
ApiLog.infoMessage("activityReverse end orderCode:{}", body.getOrderCode()); ApiLog.infoMessage("activityReverse end orderCode:{}", body.getOrderCode());
} catch (Exception e) { } catch (Exception e) {
ApiLog.infoMessage("activityReverse Error orderCode:{} e:{}",e, body.getOrderCode(), ExceptionUtils.getFullStackTrace(e)); ApiLog.infoMessage("activityReverse Error orderCode:{} e:{}", e, body.getOrderCode(), ExceptionUtils.getFullStackTrace(e));
} }
} }
private void sendWechatReportMQ(OrderCallBackRequestVo body) { private void sendWechatReportMQ(OrderCallBackRequestVo body) {
try { try {
OrderInfoReqs orderInfoReqs = getWechatReportOrderInfoReqs(body); OrderInfoReqs orderInfoReqs = getWechatReportOrderInfoReqs(body);
...@@ -155,6 +168,7 @@ public class OrderCallBackMQService { ...@@ -155,6 +168,7 @@ public class OrderCallBackMQService {
ApiLog.infoMessage("sendWechatReportMQ Error orderCode:{} e:{}", body.getOrderCode(), ExceptionUtils.getFullStackTrace(e)); ApiLog.infoMessage("sendWechatReportMQ Error orderCode:{} e:{}", body.getOrderCode(), ExceptionUtils.getFullStackTrace(e));
} }
} }
private DisRequest convent2DisRequest(OrderCallBackRequestVo orderBean, Integer orderState) { private DisRequest convent2DisRequest(OrderCallBackRequestVo orderBean, Integer orderState) {
DisRequest disRequest = new DisRequest(); DisRequest disRequest = new DisRequest();
disRequest.setExtJson(orderBean.getContent()); disRequest.setExtJson(orderBean.getContent());
...@@ -177,7 +191,7 @@ public class OrderCallBackMQService { ...@@ -177,7 +191,7 @@ public class OrderCallBackMQService {
return orderInfoReqs; return orderInfoReqs;
} }
private Boolean filterPushOrder(OrderCallBackRequestVo body,OrderInfoReqs orderInfoReqs) { private Boolean filterPushOrder(OrderCallBackRequestVo body, OrderInfoReqs orderInfoReqs) {
// 订单所有状态正常变化通知通知开放平台 // 订单所有状态正常变化通知通知开放平台
if ((!ObjectUtils.equals("1", body.getMsgType()) && !ObjectUtils.equals("3", body.getMsgType())) || body.getOperateType() == null || body.getOperateType() == 0) { if ((!ObjectUtils.equals("1", body.getMsgType()) && !ObjectUtils.equals("3", body.getMsgType())) || body.getOperateType() == null || body.getOperateType() == 0) {
return false; return false;
...@@ -187,7 +201,7 @@ public class OrderCallBackMQService { ...@@ -187,7 +201,7 @@ public class OrderCallBackMQService {
return false; return false;
} }
// 点餐业务和卖券业务推送开放平台(卖券业务后续到虚拟门店感觉可以去除) // 点餐业务和卖券业务推送开放平台(卖券业务后续到虚拟门店感觉可以去除)
if (ObjectUtils.equals(1, orderInfoReqs.getBizType()) || ObjectUtils.equals(6, orderInfoReqs.getBizType())){ if (ObjectUtils.equals(1, orderInfoReqs.getBizType()) || ObjectUtils.equals(6, orderInfoReqs.getBizType())) {
return true; return true;
} }
//停车场订单关闭状态不通知开放平台 //停车场订单关闭状态不通知开放平台
...@@ -249,12 +263,12 @@ public class OrderCallBackMQService { ...@@ -249,12 +263,12 @@ public class OrderCallBackMQService {
} }
// 混合支付 // 混合支付
Integer userAmount = 0; Integer userAmount = 0;
if (orderInfoReqs.getOrderPayItemCreateReqList()!=null && orderInfoReqs.getOrderPayItemCreateReqList().size()>0) { if (orderInfoReqs.getOrderPayItemCreateReqList() != null && orderInfoReqs.getOrderPayItemCreateReqList().size() > 0) {
OrderPayItemResp orderPayItemReqs = orderInfoReqs.getOrderPayItemCreateReqList() OrderPayItemResp orderPayItemReqs = orderInfoReqs.getOrderPayItemCreateReqList()
.stream() .stream()
.filter(s -> s.getPayChannelType().equals(PayChannelType.WECHAT.getIndex().intValue()) || s.getPayChannelType().equals(PayChannelType.ALIPAY.getIndex().intValue())) .filter(s -> s.getPayChannelType().equals(PayChannelType.WECHAT.getIndex().intValue()) || s.getPayChannelType().equals(PayChannelType.ALIPAY.getIndex().intValue()))
.findFirst().orElse(null); .findFirst().orElse(null);
if (orderPayItemReqs!=null) { if (orderPayItemReqs != null) {
userAmount = orderPayItemReqs.getPayAmount().intValue(); userAmount = orderPayItemReqs.getPayAmount().intValue();
} }
} }
...@@ -263,7 +277,7 @@ public class OrderCallBackMQService { ...@@ -263,7 +277,7 @@ public class OrderCallBackMQService {
wechatReportOrderDto.setOutShopNo(orderInfoReqs.getStoreId()); wechatReportOrderDto.setOutShopNo(orderInfoReqs.getStoreId());
wechatReportOrderDto.setSubOpenId(userLoginInfoDto.getOpenId()); wechatReportOrderDto.setSubOpenId(userLoginInfoDto.getOpenId());
wechatReportOrderDto.setLoginToken(userLoginInfoDto.getSessionKey()); wechatReportOrderDto.setLoginToken(userLoginInfoDto.getSessionKey());
wechatReportOrderDto.setUserAmount(userAmount >0 ? userAmount :orderInfoReqs.getSettlementAmount().intValue()); wechatReportOrderDto.setUserAmount(userAmount > 0 ? userAmount : orderInfoReqs.getSettlementAmount().intValue());
wechatReportOrderDto.setOutOrderNo(orderInfoReqs.getOrderCode()); wechatReportOrderDto.setOutOrderNo(orderInfoReqs.getOrderCode());
wechatReportOrderDto.setTransactionId(orderExtInfoDto.getPaid_no()); wechatReportOrderDto.setTransactionId(orderExtInfoDto.getPaid_no());
wechatReportOrderDto.setOutTradeNo(orderExtInfoDto.getPayTransId()); wechatReportOrderDto.setOutTradeNo(orderExtInfoDto.getPayTransId());
...@@ -271,18 +285,18 @@ public class OrderCallBackMQService { ...@@ -271,18 +285,18 @@ public class OrderCallBackMQService {
// 计算优惠金额 // 计算优惠金额
int discountAmount = 0; int discountAmount = 0;
List<OrderSettlementResp> accountList = orderInfoReqs.getOrderSettlementDetailList(); List<OrderSettlementResp> accountList = orderInfoReqs.getOrderSettlementDetailList();
if(accountList != null && !CollectionUtils.isEmpty(accountList)) { if (accountList != null && !CollectionUtils.isEmpty(accountList)) {
for(OrderSettlementResp accountBean : accountList) { for (OrderSettlementResp accountBean : accountList) {
try { try {
Long price = accountBean.getSettlementAmount() == null ? 0 : accountBean.getSettlementAmount().longValue(); Long price = accountBean.getSettlementAmount() == null ? 0 : accountBean.getSettlementAmount().longValue();
if(price < 0) { if (price < 0) {
discountAmount = discountAmount - price.intValue(); discountAmount = discountAmount - price.intValue();
} }
} catch (Exception e) { } catch (Exception e) {
} }
} }
} }
wechatReportOrderDto.setTotalAmount(discountAmount+(userAmount >0 ? userAmount : orderInfoReqs.getSettlementAmount().intValue())); wechatReportOrderDto.setTotalAmount(discountAmount + (userAmount > 0 ? userAmount : orderInfoReqs.getSettlementAmount().intValue()));
wechatReportOrderDto.setDiscountAmount(discountAmount); wechatReportOrderDto.setDiscountAmount(discountAmount);
//订单状态 (2—用户下单;1—支付完成) //订单状态 (2—用户下单;1—支付完成)
wechatReportOrderDto.setStatus(NewOrderStatus.PENDING_PAYMENT.getIndex().equals(orderInfoReqs.getOrderState()) ? 2 : 1); wechatReportOrderDto.setStatus(NewOrderStatus.PENDING_PAYMENT.getIndex().equals(orderInfoReqs.getOrderState()) ? 2 : 1);
...@@ -290,7 +304,7 @@ public class OrderCallBackMQService { ...@@ -290,7 +304,7 @@ public class OrderCallBackMQService {
List<WechatReportOrderDto.DishInfo> dishList = new ArrayList<>(); List<WechatReportOrderDto.DishInfo> dishList = new ArrayList<>();
//【ID1040698】【数据上报】如果是套餐商品,只上报套餐,不上报明细, 解决数据上报商品数量(20)超限制报错 //【ID1040698】【数据上报】如果是套餐商品,只上报套餐,不上报明细, 解决数据上报商品数量(20)超限制报错
for (OrderItemResp item : orderInfoReqs.getOrderItemList()) { for (OrderItemResp item : orderInfoReqs.getOrderItemList()) {
if(StringUtils.isNotEmpty(item.getParentProductId()) && !"0".equals(item.getParentProductId())){ if (StringUtils.isNotEmpty(item.getParentProductId()) && !"0".equals(item.getParentProductId())) {
continue; continue;
} }
WechatReportOrderDto.DishInfo dishInfo = new WechatReportOrderDto.DishInfo(); WechatReportOrderDto.DishInfo dishInfo = new WechatReportOrderDto.DishInfo();
...@@ -301,8 +315,8 @@ public class OrderCallBackMQService { ...@@ -301,8 +315,8 @@ public class OrderCallBackMQService {
dishInfo.setUrl(item.getProductPicUrl()); dishInfo.setUrl(item.getProductPicUrl());
dishList.add(dishInfo); dishList.add(dishInfo);
} }
if(dishList.size() >20){ if (dishList.size() > 20) {
dishList.subList(0,20); dishList.subList(0, 20);
} }
wechatReportOrderDto.setDishList(dishList); wechatReportOrderDto.setDishList(dishList);
return wechatReportOrderDto; return wechatReportOrderDto;
...@@ -311,18 +325,19 @@ public class OrderCallBackMQService { ...@@ -311,18 +325,19 @@ public class OrderCallBackMQService {
/** /**
* 上报指定商户已支付的订单到MQ * 上报指定商户已支付的订单到MQ
* 只上报普通订单 * 只上报普通订单
*
* @param body * @param body
*/ */
private void sendInvoiceReportMQ(OrderCallBackRequestVo body) { private void sendInvoiceReportMQ(OrderCallBackRequestVo body) {
ApiLog.infoMessage("callback sendInvoiceReportMQ start orderCode:{}",body.getOrderCode()); ApiLog.infoMessage("callback sendInvoiceReportMQ start orderCode:{}", body.getOrderCode());
if (!ObjectUtils.equals("1", body.getMsgType()) || body.getOperateType() == null || body.getOperateType() == 2) { if (!ObjectUtils.equals("1", body.getMsgType()) || body.getOperateType() == null || body.getOperateType() == 2) {
return ; return;
} }
OrderInfoReqs orderInfoReqs = JSONObject.parseObject(body.getContent(), OrderInfoReqs.class); OrderInfoReqs orderInfoReqs = JSONObject.parseObject(body.getContent(), OrderInfoReqs.class);
if (orderInfoReqs==null if (orderInfoReqs == null
|| !Arrays.asList(invoicePartnerIds.split(",")).contains(orderInfoReqs.getPartnerId()) || !Arrays.asList(invoicePartnerIds.split(",")).contains(orderInfoReqs.getPartnerId())
|| !NewOrderStatus.PLACE_AN_ORDER.getIndex().equals(orderInfoReqs.getOrderState()) || !NewOrderStatus.PLACE_AN_ORDER.getIndex().equals(orderInfoReqs.getOrderState())
|| orderInfoReqs.getBizType()!=1) { || orderInfoReqs.getBizType() != 1) {
return; return;
} }
try { try {
...@@ -331,7 +346,7 @@ public class OrderCallBackMQService { ...@@ -331,7 +346,7 @@ public class OrderCallBackMQService {
MQMessage<OrderInfoReqs> message = new MQMessage<>(header, orderInfoReqs); MQMessage<OrderInfoReqs> message = new MQMessage<>(header, orderInfoReqs);
mqService.convertAndSend(OrderCallBackConfig.TOPIC_EXCHANGE_NAME, OrderCallBackConfig.INVOICE_ROUTE_KEY, message); mqService.convertAndSend(OrderCallBackConfig.TOPIC_EXCHANGE_NAME, OrderCallBackConfig.INVOICE_ROUTE_KEY, message);
ApiLog.infoMessage("callback sendInvoiceReportMQ end orderCode={}",body.getOrderCode()); ApiLog.infoMessage("callback sendInvoiceReportMQ end orderCode={}", body.getOrderCode());
} catch (Exception e) { } catch (Exception e) {
ApiLog.infoMessage("callback sendInvoiceReportMQ Error orderCode:{} e:{}", body.getOrderCode(), ExceptionUtils.getFullStackTrace(e)); ApiLog.infoMessage("callback sendInvoiceReportMQ Error orderCode:{} e:{}", body.getOrderCode(), ExceptionUtils.getFullStackTrace(e));
} }
...@@ -339,10 +354,11 @@ public class OrderCallBackMQService { ...@@ -339,10 +354,11 @@ public class OrderCallBackMQService {
/** /**
* 冲正库存、券码等 * 冲正库存、券码等
*
* @param body * @param body
*/ */
public void revertParkingOrders(OrderCallBackRequestVo body){ public void revertParkingOrders(OrderCallBackRequestVo body) {
String orderCode=body.getOrderCode(); String orderCode = body.getOrderCode();
OrderStatusChangeRequestDto requestDto = new OrderStatusChangeRequestDto(); OrderStatusChangeRequestDto requestDto = new OrderStatusChangeRequestDto();
requestDto.setOid(orderCode); requestDto.setOid(orderCode);
//2:未支付 //2:未支付
...@@ -359,11 +375,12 @@ public class OrderCallBackMQService { ...@@ -359,11 +375,12 @@ public class OrderCallBackMQService {
/** /**
* 检查是否符合停车场订单 * 检查是否符合停车场订单
*
* @param orderInfoReqs * @param orderInfoReqs
* @return * @return
*/ */
private boolean checkParkingOrders(OrderInfoReqs orderInfoReqs){ private boolean checkParkingOrders(OrderInfoReqs orderInfoReqs) {
if (orderInfoReqs.getOrderClient().equals(OrderClientType.PARKING.getIndex()) && orderInfoReqs.getBizType() == 99 && orderInfoReqs.getPayState() ==3 && orderInfoReqs.getOrderState() == 7) { if (orderInfoReqs.getOrderClient().equals(OrderClientType.PARKING.getIndex()) && orderInfoReqs.getBizType() == 99 && orderInfoReqs.getPayState() == 3 && orderInfoReqs.getOrderState() == 7) {
return true; return true;
} }
return false; return false;
...@@ -372,8 +389,10 @@ public class OrderCallBackMQService { ...@@ -372,8 +389,10 @@ public class OrderCallBackMQService {
/** /**
* 有数上报MQ * 有数上报MQ
*
* @param body * @param body
*/ */
@Deprecated
private void sendYoushuReportMQ(OrderCallBackRequestVo body) { private void sendYoushuReportMQ(OrderCallBackRequestVo body) {
try { try {
if (Objects.isNull(body) || StringUtils.isEmpty(body.getContent())) { if (Objects.isNull(body) || StringUtils.isEmpty(body.getContent())) {
...@@ -388,11 +407,34 @@ public class OrderCallBackMQService { ...@@ -388,11 +407,34 @@ public class OrderCallBackMQService {
mqService.convertAndSend(OrderCallBackConfig.TOPIC_EXCHANGE_NAME, OrderCallBackConfig.SEND_YOUSHU_REPORT_QUEUE_ROUTING_KEY, message); mqService.convertAndSend(OrderCallBackConfig.TOPIC_EXCHANGE_NAME, OrderCallBackConfig.SEND_YOUSHU_REPORT_QUEUE_ROUTING_KEY, message);
ApiLog.infoMessage("send sendYoushuReportMQ end orderCode:{}", body.getOrderCode()); ApiLog.infoMessage("send sendYoushuReportMQ end orderCode:{}", body.getOrderCode());
} }
}catch (Exception e){ } catch (Exception e) {
ApiLog.infoMessage("send sendYoushuReportMQ Error orderCode:{} e:{}", body.getOrderCode(), ExceptionUtils.getFullStackTrace(e)); ApiLog.infoMessage("send sendYoushuReportMQ Error orderCode:{} e:{}", body.getOrderCode(), ExceptionUtils.getFullStackTrace(e));
} }
} }
/**
* 订单状态公共处理中心 queue
*
* @param body
*/
private void sendOrderStatusProcessCenterMQ(OrderCallBackRequestVo body) {
try {
if (Objects.isNull(body) || StringUtils.isEmpty(body.getContent())) {
return;
}
// 正常变化 订单正向操作
if (body.getOperateType() == 1 && "1".equals(body.getMsgType())) {
Header header = new Header(MQAction.UPDATE.getAction(), "call-back-service-api",
OrderCallBackConfig.ORDER_STATUS_PROCESS_CENTER_QUEUE_ROUTING_KEY, OrderCallBackConfig.ORDER_STATUS_PROCESS_CENTER_QUEUE);
MQMessage<OrderCallBackRequestVo> message = new MQMessage<>(header, body);
mqService.convertAndSend(OrderCallBackConfig.TOPIC_EXCHANGE_NAME, OrderCallBackConfig.ORDER_STATUS_PROCESS_CENTER_QUEUE_ROUTING_KEY, message);
ApiLog.infoMessage("send order_status_process_center_queue end orderCode:{}", body.getOrderCode());
}
} catch (Exception e) {
ApiLog.infoMessage("send order_status_process_center_queue Error orderCode:{} e:{}", body.getOrderCode(), ExceptionUtils.getFullStackTrace(e));
}
}
private void sendzfbOrderMQ(OrderCallBackRequestVo body) { private void sendzfbOrderMQ(OrderCallBackRequestVo body) {
try { try {
if (Objects.isNull(body) || StringUtils.isEmpty(body.getContent())) { if (Objects.isNull(body) || StringUtils.isEmpty(body.getContent())) {
...@@ -410,8 +452,8 @@ public class OrderCallBackMQService { ...@@ -410,8 +452,8 @@ public class OrderCallBackMQService {
MQMessage<OrderCallBackRequestVo> message = new MQMessage<>(header, body); MQMessage<OrderCallBackRequestVo> message = new MQMessage<>(header, body);
mqService.convertAndSend(OrderCallBackConfig.TOPIC_EXCHANGE_NAME, OrderCallBackConfig.ZFB_ORDER_SEND_QUEUE_ROUTING_KEY, message); mqService.convertAndSend(OrderCallBackConfig.TOPIC_EXCHANGE_NAME, OrderCallBackConfig.ZFB_ORDER_SEND_QUEUE_ROUTING_KEY, message);
} }
}catch (Exception e){ } catch (Exception e) {
logUtil.error("","sendzfbOrderMQ orderCode:{} ", e,body.getOrderCode()); logUtil.error("", "sendzfbOrderMQ orderCode:{} ", e, body.getOrderCode());
} }
} }
} }
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