From dcfd801ea435c1c87ed47f2ee24cdabaaf230d6f Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 31 三月 2020 12:15:56 +0800 Subject: [PATCH] 大淘客商品过滤修改 --- fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java | 105 +++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 86 insertions(+), 19 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 b446926..4c96320 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,7 +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.taobao.TaoBaoOrderUtil; +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; @@ -130,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"; @@ -944,11 +952,19 @@ wholeOrderState = CommonOrder.STATE_WHOLE_ORDER_BUFENYOUXIAO; for (TaoBaoOrder taoBaoOrder : taoBaoOrders) { - CommonOrder newCommonOrder = TaoBaoOrderUtil.convert(taoBaoOrder); + CommonOrder newCommonOrder = CommonOrderFactory.create(taoBaoOrder); CommonOrderGoods cog = new CommonOrderGoods(); - cog.setGoodsId(taoBaoOrder.getAuctionId() + ""); - cog.setGoodsType(Constant.SOURCE_TYPE_TAOBAO); - newCommonOrder.setCommonOrderGoods(cog); + + if ("楗夸簡涔�".equalsIgnoreCase(taoBaoOrder.getOrderType())) { + cog.setGoodsId(taoBaoOrder.getTradeId() + ""); + cog.setGoodsType(Constant.SOURCE_TYPE_ELME); + cog.setTitle(taoBaoOrder.getTitle()); + newCommonOrder.setCommonOrderGoods(cog); + } else { + cog.setGoodsId(taoBaoOrder.getAuctionId() + ""); + cog.setGoodsType(Constant.SOURCE_TYPE_TAOBAO); + newCommonOrder.setCommonOrderGoods(cog); + } newCommonOrder.setStateWholeOrder(wholeOrderState); // 璁㈠崟鍟嗗搧鎻掑叆 List<CommonOrderGoods> commonGoodsList = commonOrderGoodsMapper.listByGoodsIdAndGoodsType(cog.getGoodsId(), @@ -956,22 +972,25 @@ if (commonGoodsList.size() <= 0)// 涓嶅瓨鍦ㄥ氨鎻掑叆鍟嗗搧 { TaoBaoGoodsBrief taoBaoGoods = null; - try { - taoBaoGoods = TaoKeApiUtil.getSimpleGoodsInfo(taoBaoOrder.getAuctionId()); - LogManager.getLogger(LogType.taobaoGoods).info(String.format("璁㈠崟鍟嗗搧鍒嗙被:%s#%s#%s", - taoBaoGoods.getAuctionId(), taoBaoGoods.getRootCategoryName(), taoBaoGoods.getLeafName())); - } catch (TaobaoGoodsDownException e) { - e.printStackTrace(); - LogHelper.errorDetailInfo(e, "AUCTIONID:" + taoBaoOrder.getAuctionId(), ""); + if (cog.getGoodsType() != Constant.SOURCE_TYPE_ELME) { try { - taoBaoGoods = TaoBaoUtil.getSimpleGoodsBrief(taoBaoOrder.getAuctionId()); - // 璁板綍鍟嗗搧鍒嗙被 + taoBaoGoods = TaoKeApiUtil.getSimpleGoodsInfo(taoBaoOrder.getAuctionId()); + LogManager.getLogger(LogType.taobaoGoods) + .info(String.format("璁㈠崟鍟嗗搧鍒嗙被:%s#%s#%s", taoBaoGoods.getAuctionId(), + taoBaoGoods.getRootCategoryName(), taoBaoGoods.getLeafName())); + } catch (TaobaoGoodsDownException e) { + e.printStackTrace(); + LogHelper.errorDetailInfo(e, "AUCTIONID:" + taoBaoOrder.getAuctionId(), ""); + try { + taoBaoGoods = TaoBaoUtil.getSimpleGoodsBrief(taoBaoOrder.getAuctionId()); + // 璁板綍鍟嗗搧鍒嗙被 - } catch (Exception e1) { - CommonGoods commonGoods = commonGoodsService.getCommonGoodsByGoodsIdAndGoodsType( - taoBaoOrder.getAuctionId(), Constant.SOURCE_TYPE_TAOBAO); - if (commonGoods != null) - taoBaoGoods = TaoBaoUtil.convert(commonGoods); + } catch (Exception e1) { + CommonGoods commonGoods = commonGoodsService.getCommonGoodsByGoodsIdAndGoodsType( + taoBaoOrder.getAuctionId(), Constant.SOURCE_TYPE_TAOBAO); + if (commonGoods != null) + taoBaoGoods = TaoBaoUtil.convert(commonGoods); + } } } if (taoBaoGoods != null) { @@ -984,6 +1003,7 @@ newCommonOrder.setUserInfo(new UserInfo(uid)); commonOrderList.add(addCommonOrder(newCommonOrder)); } + addConfirmMQMsg(commonOrderList); return commonOrderList; } @@ -1034,7 +1054,53 @@ 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) @@ -1099,6 +1165,7 @@ newCommonOrder.setUserInfo(new UserInfo(uid)); commonOrderList.add(addCommonOrder(newCommonOrder)); } + addConfirmMQMsg(commonOrderList); return commonOrderList; } -- Gitblit v1.8.0