From 744594ef1a2f530fc3e86ea9dc48b62247f79420 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 19 五月 2020 17:13:23 +0800
Subject: [PATCH] 饿了么绘图,添加口碑

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ConsumerControllerV2.java |  124 +++++++++++++++++++++++++++++++++--------
 1 files changed, 100 insertions(+), 24 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ConsumerControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ConsumerControllerV2.java
index a739d45..d913efe 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ConsumerControllerV2.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ConsumerControllerV2.java
@@ -2,7 +2,6 @@
 
 import java.io.PrintWriter;
 import java.lang.reflect.Type;
-import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Date;
@@ -21,10 +20,13 @@
 import com.google.gson.JsonPrimitive;
 import com.google.gson.JsonSerializationContext;
 import com.google.gson.JsonSerializer;
+import com.yeshi.fanli.dto.ConfigParamsDTO;
+import com.yeshi.fanli.dto.pdd.PDDGoodsDetail;
 import com.yeshi.fanli.entity.accept.AcceptData;
 import com.yeshi.fanli.entity.goods.CollectionGoodsV2;
 import com.yeshi.fanli.entity.goods.CommonGoods;
 import com.yeshi.fanli.entity.goods.ScanHistoryV2;
+import com.yeshi.fanli.entity.jd.JDGoods;
 import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
 import com.yeshi.fanli.exception.goods.CollectionGoodsException;
 import com.yeshi.fanli.exception.taobao.TaoKeApiException;
@@ -32,10 +34,15 @@
 import com.yeshi.fanli.service.inter.config.BusinessSystemService;
 import com.yeshi.fanli.service.inter.goods.CollectionGoodsV2Service;
 import com.yeshi.fanli.service.inter.goods.ScanHistoryV2Service;
-import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
+import com.yeshi.fanli.service.inter.order.OrderHongBaoMoneyComputeService;
 import com.yeshi.fanli.util.Constant;
+import com.yeshi.fanli.util.RedisManager;
 import com.yeshi.fanli.util.StringUtil;
+import com.yeshi.fanli.util.cache.JDGoodsCacheUtil;
+import com.yeshi.fanli.util.cache.PinDuoDuoCacheUtil;
+import com.yeshi.fanli.util.cache.TaoBaoGoodsCacheUtil;
 import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory;
+import com.yeshi.fanli.util.jd.JDApiUtil;
 import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
 import com.yeshi.fanli.vo.goods.GoodsDetailVO;
 
@@ -54,9 +61,9 @@
 
 	@Resource
 	private BusinessSystemService businessSystemService;
-	
+
 	@Resource
-	private HongBaoManageService hongBaoManageService;
+	private OrderHongBaoMoneyComputeService orderHongBaoMoneyComputeService;
 
 	@Resource
 	private CollectionGoodsV2Service collectionGoodsV2Service;
@@ -64,10 +71,83 @@
 	@Resource
 	private ScanHistoryV2Service scanHistoryV2Service;
 
-	
-	
+	@Resource
+	private TaoBaoGoodsCacheUtil taoBaoGoodsCacheUtil;
+
+	@Resource
+	private JDGoodsCacheUtil jdGoodsCacheUtil;
+
+	@Resource
+	private PinDuoDuoCacheUtil pinDuoDuoCacheUtil;
+
+	@Resource
+	private RedisManager redisManager;
+
+	/**
+	 * 鏀惰棌鍟嗗搧
+	 * 
+	 * @param acceptData
+	 * @param uid
+	 * @param id
+	 * @param type
+	 * @param goodsType
+	 * @param out
+	 */
+	@RequestMapping("collectionGoods")
+	public void collectionGoods(AcceptData acceptData, long uid, long id, int type, Integer goodsType,
+			PrintWriter out) {
+		try {
+			if (goodsType == null) {
+				goodsType = Constant.SOURCE_TYPE_TAOBAO;
+			}
+
+			if (type != 1) {
+				collectionGoodsV2Service.cancelCollectionByAuctionId(uid, id, goodsType);
+				out.print(JsonUtil.loadTrueResult("鍙栨秷鏀惰棌鎴愬姛"));
+				return;
+			}
+
+			CollectionGoodsV2 find = collectionGoodsV2Service.findByUidAndAuctionId(uid, id, goodsType);
+			if (find != null) {
+				out.print(JsonUtil.loadFalseResult(""));
+				return;
+			}
+
+			if (goodsType == Constant.SOURCE_TYPE_JD) {
+				JDGoods jdGoods = jdGoodsCacheUtil.getGoodsInfo(id);
+				if (jdGoods == null) {
+					jdGoods = JDApiUtil.getGoodsDetail(id);
+				}
+				if (jdGoods == null) {
+					out.print(JsonUtil.loadFalseResult(1, "鍟嗗搧宸蹭笅鏋�"));
+					return;
+				}
+				collectionGoodsV2Service.addJDCollection(uid, jdGoods);
+			} else if (goodsType == Constant.SOURCE_TYPE_PDD) {
+				PDDGoodsDetail pddGoods = pinDuoDuoCacheUtil.getGoodsInfo(id);
+				if (pddGoods == null) {
+					out.print(JsonUtil.loadFalseResult(1, "鍟嗗搧宸蹭笅鏋�"));
+					return;
+				}
+				collectionGoodsV2Service.addPDDCollection(uid, pddGoods);
+			} else {
+				try {
+					TaoBaoGoodsBrief taoBaoGoodsBrief = redisManager.getTaoBaoGoodsBrief(id);
+					collectionGoodsV2Service.addCollection(uid, taoBaoGoodsBrief);
+				} catch (TaobaoGoodsDownException e) {
+					out.print(JsonUtil.loadFalseResult(1, "鍟嗗搧宸蹭笅鏋�"));
+					return;
+				}
+			}
+			out.print(JsonUtil.loadTrueResult("鏀惰棌鎴愬姛"));
+		} catch (CollectionGoodsException e) {
+			out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg()));
+		}
+	}
+
 	/**
 	 * 鍒犻櫎鏀惰棌
+	 * 
 	 * @param acceptData
 	 * @param ids
 	 * @param type
@@ -80,7 +160,7 @@
 			out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�"));
 			return;
 		}
-		
+
 		if (type != null && type == 1) { // 鍒犻櫎鍏ㄩ儴
 			try {
 				collectionGoodsV2Service.cancelCollectionByUid(uid);
@@ -102,8 +182,6 @@
 		out.print(JsonUtil.loadTrueResult("鍒犻櫎鎴愬姛"));
 	}
 
-	
-	
 	/**
 	 * 鏀惰棌鍒楄〃
 	 * 
@@ -157,8 +235,8 @@
 				}
 			}
 
-			BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
-			BigDecimal shareRate = hongBaoManageService.getShareRate();
+			ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(),
+					acceptData.getVersion());
 
 			for (CollectionGoodsV2 collectionGoodsV2 : collectionGoodsList) {
 				CommonGoods commonGoods = collectionGoodsV2.getCommonGoods();
@@ -180,8 +258,7 @@
 					commonGoods.setState(state);
 				}
 
-				GoodsDetailVO detailVO = GoodsDetailVOFactory.convertCommonGoods(commonGoods, null, fanLiRate,
-						shareRate);
+				GoodsDetailVO detailVO = GoodsDetailVOFactory.convertCommonGoods(commonGoods, paramsDTO);
 				detailVO.setId(commonGoods.getId());
 				detailVO.setCreatetime(collectionGoodsV2.getCreateTime());
 				list.add(detailVO);
@@ -207,9 +284,9 @@
 		out.print(JsonUtil.loadTrueResult(data));
 	}
 
-	
 	/**
 	 * 鍒犻櫎瓒宠抗
+	 * 
 	 * @param acceptData
 	 * @param type
 	 * @param uid
@@ -227,7 +304,7 @@
 				out.print(JsonUtil.loadFalseResult("ids涓嶈兘涓虹┖"));
 				return;
 			}
-			
+
 			String[] idStr = ids.split(",");
 			for (String id : idStr) {
 				scanHistoryV2Service.deleteByCommonIdAndDeviceOrUid(uid, acceptData.getDevice(), Long.parseLong(id));
@@ -235,10 +312,10 @@
 		}
 		out.print(JsonUtil.loadTrueResult(""));
 	}
-	
-	
+
 	/**
 	 * 鑾峰彇娴忚璁板綍
+	 * 
 	 * @param acceptData
 	 * @param uid
 	 * @param page
@@ -267,23 +344,22 @@
 				}
 			}
 		});
-		
+
 		long count = scanHistoryV2Service.getCountByDeviceOrUid(uid, acceptData.getDevice(), goodsType);
 
 		JSONArray array = new JSONArray();
 		if (list != null && list.size() > 0) {
 			Gson gson = gsonBuilder.create();
-			BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
-			BigDecimal shareRate = hongBaoManageService.getShareRate();
+			ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(),
+					acceptData.getVersion());
 			for (ScanHistoryV2 sh : list) {
 				CommonGoods commonGoods = sh.getCommonGoods();
 				if (commonGoods == null) {
 					continue;
 				}
 
-				GoodsDetailVO detailVO = GoodsDetailVOFactory.convertCommonGoods(commonGoods, null, fanLiRate,
-						shareRate);
-				
+				GoodsDetailVO detailVO = GoodsDetailVOFactory.convertCommonGoods(commonGoods, paramsDTO);
+
 				detailVO.setId(commonGoods.getId());
 				detailVO.setCreatetime(sh.getCreateTime());
 				array.add(gson.toJson(detailVO));
@@ -296,5 +372,5 @@
 		out.print(JsonUtil.loadTrueResult(data));
 		return;
 	}
-	
+
 }

--
Gitblit v1.8.0