From 393e3a365b5ebbed6e9eef07fbd18881cde73711 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期六, 28 三月 2020 16:51:04 +0800 Subject: [PATCH] Merge branch 'div' into div-1 --- fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 55 insertions(+), 0 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java index 2e85ed1..56fd1cb 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java @@ -17,10 +17,14 @@ import org.yeshi.utils.entity.DateInfo; import org.yeshi.utils.taobao.TbImgUtil; +import com.aliyun.openservices.ons.api.Message; +import com.aliyun.openservices.ons.api.Producer; import com.yeshi.fanli.dao.mybatis.order.CommonOrderGoodsMapper; import com.yeshi.fanli.dao.mybatis.order.CommonOrderMapper; import com.yeshi.fanli.dao.mybatis.order.CommonOrderTradeIdMapMapper; import com.yeshi.fanli.dao.mybatis.taobao.TaoBaoWeiQuanOrderMapper; +import com.yeshi.fanli.dto.mq.order.OrderTopicTagEnum; +import com.yeshi.fanli.dto.mq.order.body.OrderConfirmMQMsg; import com.yeshi.fanli.dto.order.CommonOrderAddResultDTO; import com.yeshi.fanli.dto.pdd.PDDGoodsDetail; import com.yeshi.fanli.entity.accept.AcceptData; @@ -71,6 +75,8 @@ import com.yeshi.fanli.util.jd.JDApiUtil; import com.yeshi.fanli.util.jd.JDUtil; import com.yeshi.fanli.util.pinduoduo.PinDuoDuoApiUtil; +import com.yeshi.fanli.util.rocketmq.MQMsgBodyFactory; +import com.yeshi.fanli.util.rocketmq.MQTopicName; import com.yeshi.fanli.util.taobao.TaoBaoUtil; import com.yeshi.fanli.util.taobao.TaoKeApiUtil; import com.yeshi.fanli.util.user.UserLevelUtil; @@ -129,6 +135,9 @@ @Resource private UserInfoService userInfoService; + + @Resource(name = "producer") + private Producer orderProducer; // 濂栧姳璁㈠崟鍥剧墖 public final static String PIC_REWARD = "http://img.flqapp.com/resource/order/order_state_reward.png"; @@ -995,9 +1004,55 @@ newCommonOrder.setUserInfo(new UserInfo(uid)); commonOrderList.add(addCommonOrder(newCommonOrder)); } + addConfirmMQMsg(commonOrderList); return commonOrderList; } + private void addConfirmMQMsg(List<CommonOrderAddResultDTO> resultList) { + + // 璁㈠崟鏄惁鏂板鎴栬�呮洿鏂拌繃 + boolean isAddOrUpdate = false; + for (CommonOrderAddResultDTO dto : resultList) + if (dto.getType() == CommonOrderAddResultDTO.TYPE_ADD + || dto.getType() == CommonOrderAddResultDTO.TYPE_UPDATE) { + isAddOrUpdate = true; + break; + } + boolean hasSettleOrder = false; + // 鏌ヨ鏄惁鏈夌粨绠楃殑璁㈠崟 + if (isAddOrUpdate) { + for (CommonOrderAddResultDTO dto : resultList) { + if (dto.getCommonOrder().getSettleTime() != null && dto.getCommonOrder().getSettlement() != null) { + hasSettleOrder = true; + break; + } + } + } + // 鏈夌粨绠楃殑璁㈠崟 + if (hasSettleOrder) { + if (!Constant.IS_TEST) { + // 缁熻缁撶畻閲戦 + BigDecimal settlement = new BigDecimal("0"); + CommonOrder firstOrder = null; + for (CommonOrderAddResultDTO dto : resultList) + if (dto.getCommonOrder().getSettlement() != null) { + settlement = settlement.add(dto.getCommonOrder().getSettlement()); + if (firstOrder == null) + firstOrder = dto.getCommonOrder(); + } + if (firstOrder != null) { + Date placeDate = firstOrder.getThirdCreateTime(); + OrderConfirmMQMsg mqMsg = new OrderConfirmMQMsg(firstOrder.getOrderNo(), firstOrder.getSourceType(), + settlement, firstOrder.getUserInfo().getId(), placeDate, new Date()); + Message msg = MQMsgBodyFactory.create(MQTopicName.TOPIC_ORDER, OrderTopicTagEnum.orderConfirm, + mqMsg); + orderProducer.send(msg); + } + } + } + + } + @Transactional(rollbackFor = Exception.class) @Override public List<CommonOrderAddResultDTO> addJDOrder(JDOrder jdOrder, Long uid) throws CommonOrderException { -- Gitblit v1.8.0