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