From a6f34b99ee20e528b766c8ed5a61bd9c5aa0e7ae Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期六, 16 十一月 2019 18:10:33 +0800 Subject: [PATCH] 淘宝相似商品推荐接口优化,根据商品ID搜索商品基本信息优化 --- fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java | 64 +++++++++++++++++++------------ 1 files changed, 39 insertions(+), 25 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java index 0517fc3..469be0f 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java @@ -19,6 +19,7 @@ import org.yeshi.utils.NumberUtil; import com.aliyun.openservices.ons.api.Message; +import com.aliyun.openservices.ons.api.Producer; import com.aliyun.openservices.ons.api.SendResult; import com.aliyun.openservices.ons.api.transaction.LocalTransactionExecuter; import com.aliyun.openservices.ons.api.transaction.TransactionProducer; @@ -151,6 +152,9 @@ @Resource(name = "orderTransactionProducer") private TransactionProducer orderTransactionProducer; + + @Resource(name = "producer") + private Producer producer; @Resource private OrderMoneySettleService orderMoneySettleService; @@ -731,7 +735,6 @@ public void processJDOrder(JDOrder order) { if (order == null || order.getOrderItemList() == null || order.getOrderItemList().size() == 0) return; - // 鎷嗗崟鐨勪笉鍋氬鐞� if (order.getValidCode() == 2) return; @@ -1196,33 +1199,44 @@ * @param sourceType * @param hongBaoType */ + @Transactional private void addHongBaoWithMQ(List<CommonOrderAddResultDTO> commonOrderList, String orderId, Long uid, int sourceType, int hongBaoType) { - // TODO 鍖哄垎娣诲姞涓庝慨鏀� + final List<CommonOrder> coList = convertCommonOrder(commonOrderList); - OrderMQMsg mqMsg = new OrderMQMsg(orderId, sourceType, uid); - Message msg = new Message(MQTopicName.TOPIC_ORDER.name(), OrderTopicTagEnum.orderStatistic.name(), - new Gson().toJson(mqMsg).getBytes()); - SendResult result = orderTransactionProducer.send(msg, new LocalTransactionExecuter() { - @Override - public TransactionStatus execute(Message arg0, Object arg1) { - int resultCode = 0; - try { - resultCode = hongBaoV2Service.addHongBao(coList, hongBaoType); - } catch (HongBaoException e) { - try { - LogHelper.errorDetailInfo(e, "addJDOrder鎴朼ddHongBao鍑洪敊", "璁㈠崟鍙�:" + orderId); - } catch (Exception e1) { - e1.printStackTrace(); - } - } - return TransactionStatus.CommitTransaction; - // if (resultCode != 0) - // return TransactionStatus.CommitTransaction; - // else - // return TransactionStatus.RollbackTransaction; + int resultCode = 0; + try { + resultCode = hongBaoV2Service.addHongBao(coList, hongBaoType); + } catch (HongBaoException e) { + try { + LogHelper.errorDetailInfo(e, "addJDOrder鎴朼ddHongBao鍑洪敊", "璁㈠崟鍙�:" + orderId); + } catch (Exception e1) { + e1.printStackTrace(); } - }, null); - System.out.println(result); + } + if (resultCode == 1) {// 鍙彂閫佹柊澧炴秷鎭� + OrderMQMsg mqMsg = new OrderMQMsg(orderId, sourceType, uid, OrderMQMsg.HANDLE_TYPE_ADD, + isCommonOrderValid(coList)); + Message msg = new Message(MQTopicName.TOPIC_ORDER.name(), OrderTopicTagEnum.orderStatistic.name(), + new Gson().toJson(mqMsg).getBytes()); + producer.send(msg); + } } + + /** + * 璁㈠崟鏄惁鏈夋晥 + * + * @param coList + * @return + */ + private boolean isCommonOrderValid(List<CommonOrder> coList) { + for (CommonOrder commonOrder : coList) { + if (commonOrder.getState() == CommonOrder.STATE_JS || commonOrder.getState() == CommonOrder.STATE_FK + || commonOrder.getState() == CommonOrder.STATE_WQ) { + return true; + } + } + return false; + } + } -- Gitblit v1.8.0