From 80e39e3a40283521fc732c930aa51d9bece7c146 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期三, 03 六月 2020 15:15:49 +0800 Subject: [PATCH] 云发单 后台管理 --- fanli/src/main/java/com/yeshi/fanli/service/impl/user/cloud/UserCloudGoodsServiceImpl.java | 46 ++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 40 insertions(+), 6 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/cloud/UserCloudGoodsServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/cloud/UserCloudGoodsServiceImpl.java index 886044e..69c2578 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/cloud/UserCloudGoodsServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/cloud/UserCloudGoodsServiceImpl.java @@ -8,8 +8,14 @@ import org.springframework.stereotype.Service; +import com.aliyun.openservices.ons.api.Message; +import com.aliyun.openservices.ons.api.Producer; import com.yeshi.fanli.dao.mybatis.user.cloud.UserCloudGoodsMapper; +import com.yeshi.fanli.dto.mq.user.UserTopicTagEnum; +import com.yeshi.fanli.dto.mq.user.body.UserCloudMQMsg; import com.yeshi.fanli.dto.pdd.PDDGoodsDetail; +import com.yeshi.fanli.dto.suning.SuningGoodsInfo; +import com.yeshi.fanli.dto.vip.goods.VIPGoodsInfo; import com.yeshi.fanli.entity.bus.user.cloud.UserCloudGoods; import com.yeshi.fanli.entity.goods.CommonGoods; import com.yeshi.fanli.entity.jd.JDGoods; @@ -25,6 +31,11 @@ import com.yeshi.fanli.util.cache.JDGoodsCacheUtil; import com.yeshi.fanli.util.cache.PinDuoDuoCacheUtil; import com.yeshi.fanli.util.factory.CommonGoodsFactory; +import com.yeshi.fanli.util.rocketmq.MQMsgBodyFactory; +import com.yeshi.fanli.util.rocketmq.MQTopicName; +import com.yeshi.fanli.util.suning.SuningApiUtil; +import com.yeshi.fanli.util.suning.SuningUtil; +import com.yeshi.fanli.util.vipshop.VipShopApiUtil; @Service @@ -44,6 +55,9 @@ @Resource private CommonGoodsService commonGoodsService; + + @Resource(name = "producer") + private Producer producer; @Override @@ -85,7 +99,7 @@ } @Override - public void addGoods(Long uid, Set<Long> set, Integer goodsType) throws UserCloudGoodsException { + public void addGoods(Long uid, Set<String> set, Integer goodsType) throws UserCloudGoodsException { if (uid == null) { throw new UserCloudGoodsException(1, "鐢ㄦ埛灏氭湭鐧诲綍"); } @@ -94,26 +108,37 @@ throw new UserCloudGoodsException(1, "绯荤粺鍙傛暟涓嶆纭�"); } - for (Long goodsId : set) { + for (String goodsId : set) { CommonGoods commonGoods = null; if (goodsType == Constant.SOURCE_TYPE_TAOBAO) { // 娣樺疂 try { - TaoBaoGoodsBrief goodsBrief = redisManager.getTaoBaoGoodsBrief(goodsId); + TaoBaoGoodsBrief goodsBrief = redisManager.getTaoBaoGoodsBrief(Long.parseLong(goodsId)); commonGoods = CommonGoodsFactory.create(goodsBrief); } catch (TaobaoGoodsDownException e) { throw new UserCloudGoodsException(1, goodsId + "鍟嗗搧宸蹭笅鏋�"); } } else if (goodsType == Constant.SOURCE_TYPE_JD) { // 浜笢 - JDGoods goods = jdGoodsCacheUtil.getGoodsInfo(goodsId); + JDGoods goods = jdGoodsCacheUtil.getGoodsInfo(Long.parseLong(goodsId)); if (goods == null) throw new UserCloudGoodsException(1, goodsId + "鏈壘鍒板晢鍝佷俊鎭�"); commonGoods = CommonGoodsFactory.create(goods); } else if (goodsType == Constant.SOURCE_TYPE_PDD) { // 鎷煎澶� - PDDGoodsDetail goods = pinDuoDuoCacheUtil.getGoodsInfo(goodsId); + PDDGoodsDetail goods = pinDuoDuoCacheUtil.getGoodsInfo(Long.parseLong(goodsId)); if (goods == null) throw new UserCloudGoodsException(1, goodsId + "鏈壘鍒板晢鍝佷俊鎭�"); commonGoods = CommonGoodsFactory.create(goods); - } + } else if (goodsType == Constant.SOURCE_TYPE_VIP) { // 鍞搧浼� + VIPGoodsInfo goods = VipShopApiUtil.getGoodsDetail(goodsId); + if (goods == null) + throw new UserCloudGoodsException(1, goodsId + "鏈壘鍒板晢鍝佷俊鎭�"); + commonGoods = CommonGoodsFactory.create(goods); + } else if (goodsType == Constant.SOURCE_TYPE_SUNING) { // 鑻忓畞 + String[] ids = SuningUtil.getGoodsIdDetail(goodsId); + SuningGoodsInfo goods = SuningApiUtil.getGoodsDetail(ids[1], ids[0]); + if (goods == null) + throw new UserCloudGoodsException(1, goodsId + "鏈壘鍒板晢鍝佷俊鎭�"); + commonGoods = CommonGoodsFactory.create(goods); + } if (commonGoods == null) { LogHelper.test("浜戝彂鍗曟湭鎵惧埌鍟嗗搧璇︽儏锛宨d=" + goodsId + "type=" + goodsType); @@ -143,6 +168,15 @@ cloudGoods.setUpdateTime(new Date()); userCloudGoodsMapper.insertSelective(cloudGoods); } + + if (cloudGoods.getId() != null) { + if (!Constant.IS_TEST) { + UserCloudMQMsg msg = new UserCloudMQMsg(uid, cloudGoods.getId() +"", UserCloudMQMsg.TYPE_STORE); + Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_USER, UserTopicTagEnum.userCloud, msg); + producer.send(message); + } + } + } } -- Gitblit v1.8.0