From 271ae63c20fcbe28d29c47f1881138ff6551a2a1 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 10 六月 2020 19:26:26 +0800
Subject: [PATCH] 唯品会订单bug修复,APP端佣金比例展示错误bug修复

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ConsumerControllerV2.java |   82 +++++++++++++++++++++++++++++-----------
 1 files changed, 59 insertions(+), 23 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 c181c33..aa32186 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;
@@ -23,6 +22,8 @@
 import com.google.gson.JsonSerializer;
 import com.yeshi.fanli.dto.ConfigParamsDTO;
 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.accept.AcceptData;
 import com.yeshi.fanli.entity.goods.CollectionGoodsV2;
 import com.yeshi.fanli.entity.goods.CommonGoods;
@@ -35,16 +36,20 @@
 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.order.config.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.VersionUtil;
 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.suning.SuningApiUtil;
+import com.yeshi.fanli.util.suning.SuningUtil;
 import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
+import com.yeshi.fanli.util.vipshop.VipShopApiUtil;
 import com.yeshi.fanli.vo.goods.GoodsDetailVO;
 
 import net.sf.json.JSONArray;
@@ -64,7 +69,7 @@
 	private BusinessSystemService businessSystemService;
 
 	@Resource
-	private HongBaoManageService hongBaoManageService;
+	private OrderHongBaoMoneyComputeService orderHongBaoMoneyComputeService;
 
 	@Resource
 	private CollectionGoodsV2Service collectionGoodsV2Service;
@@ -84,9 +89,9 @@
 	@Resource
 	private RedisManager redisManager;
 
-	
 	/**
 	 * 鏀惰棌鍟嗗搧
+	 * 
 	 * @param acceptData
 	 * @param uid
 	 * @param id
@@ -95,7 +100,7 @@
 	 * @param out
 	 */
 	@RequestMapping("collectionGoods")
-	public void collectionGoods(AcceptData acceptData, long uid, long id, int type, Integer goodsType,
+	public void collectionGoods(AcceptData acceptData, long uid, String id, int type, Integer goodsType,
 			PrintWriter out) {
 		try {
 			if (goodsType == null) {
@@ -103,21 +108,30 @@
 			}
 
 			if (type != 1) {
-				collectionGoodsV2Service.cancelCollectionByAuctionId(uid, id, goodsType);
+				if (goodsType == Constant.SOURCE_TYPE_SUNING) {
+					String[] sts = SuningUtil.getGoodsIdDetail(id);
+					collectionGoodsV2Service.cancelCollectionByAuctionId(uid, Long.parseLong(sts[1]), goodsType);
+				} else
+					collectionGoodsV2Service.cancelCollectionByAuctionId(uid, Long.parseLong(id), goodsType);
 				out.print(JsonUtil.loadTrueResult("鍙栨秷鏀惰棌鎴愬姛"));
 				return;
 			}
-
-			CollectionGoodsV2 find = collectionGoodsV2Service.findByUidAndAuctionId(uid, id, goodsType);
+			Long goodsId = null;
+			if (goodsType == Constant.SOURCE_TYPE_SUNING) {
+				String[] sts = SuningUtil.getGoodsIdDetail(id);
+				goodsId = Long.parseLong(sts[1]);
+			} else
+				goodsId = Long.parseLong(id);
+			CollectionGoodsV2 find = collectionGoodsV2Service.findByUidAndAuctionId(uid, goodsId, goodsType);
 			if (find != null) {
 				out.print(JsonUtil.loadFalseResult(""));
 				return;
 			}
 
 			if (goodsType == Constant.SOURCE_TYPE_JD) {
-				JDGoods jdGoods = jdGoodsCacheUtil.getGoodsInfo(id);
+				JDGoods jdGoods = jdGoodsCacheUtil.getGoodsInfo(goodsId);
 				if (jdGoods == null) {
-					jdGoods = JDApiUtil.getGoodsDetail(id);
+					jdGoods = JDApiUtil.getGoodsDetail(goodsId);
 				}
 				if (jdGoods == null) {
 					out.print(JsonUtil.loadFalseResult(1, "鍟嗗搧宸蹭笅鏋�"));
@@ -125,15 +139,30 @@
 				}
 				collectionGoodsV2Service.addJDCollection(uid, jdGoods);
 			} else if (goodsType == Constant.SOURCE_TYPE_PDD) {
-				PDDGoodsDetail pddGoods = pinDuoDuoCacheUtil.getGoodsInfo(id);
+				PDDGoodsDetail pddGoods = pinDuoDuoCacheUtil.getGoodsInfo(goodsId);
 				if (pddGoods == null) {
 					out.print(JsonUtil.loadFalseResult(1, "鍟嗗搧宸蹭笅鏋�"));
 					return;
 				}
 				collectionGoodsV2Service.addPDDCollection(uid, pddGoods);
+			} else if (goodsType == Constant.SOURCE_TYPE_VIP) {
+				VIPGoodsInfo vipGoods = VipShopApiUtil.getGoodsDetail(id);
+				if (vipGoods == null) {
+					out.print(JsonUtil.loadFalseResult(1, "鍟嗗搧宸蹭笅鏋�"));
+					return;
+				}
+				collectionGoodsV2Service.addVIPCollection(uid, vipGoods);
+			} else if (goodsType == Constant.SOURCE_TYPE_SUNING) {
+				String[] sts = SuningUtil.getGoodsIdDetail(id);
+				SuningGoodsInfo suningGoods = SuningApiUtil.getGoodsDetail(sts[1], sts[0]);
+				if (suningGoods == null) {
+					out.print(JsonUtil.loadFalseResult(1, "鍟嗗搧宸蹭笅鏋�"));
+					return;
+				}
+				collectionGoodsV2Service.addSuningCollection(uid, suningGoods);
 			} else {
 				try {
-					TaoBaoGoodsBrief taoBaoGoodsBrief = redisManager.getTaoBaoGoodsBrief(id);
+					TaoBaoGoodsBrief taoBaoGoodsBrief = redisManager.getTaoBaoGoodsBrief(goodsId);
 					collectionGoodsV2Service.addCollection(uid, taoBaoGoodsBrief);
 				} catch (TaobaoGoodsDownException e) {
 					out.print(JsonUtil.loadFalseResult(1, "鍟嗗搧宸蹭笅鏋�"));
@@ -204,10 +233,14 @@
 			return;
 		}
 
-		List<CollectionGoodsV2> collectionGoodsList = collectionGoodsV2Service.getCollectionGoodsList(uid, page,
-				Constant.PAGE_SIZE, goodsType);
+		boolean notBackSuVip = false;
+		if (!VersionUtil.greaterThan_2_1_2(acceptData.getPlatform(), acceptData.getVersion()))
+			notBackSuVip = true;
 
-		long count = collectionGoodsV2Service.getCollectionGoodsCount(uid, goodsType);
+		List<CollectionGoodsV2> collectionGoodsList = collectionGoodsV2Service.getCollectionGoodsList(uid, page,
+				Constant.PAGE_SIZE, goodsType, notBackSuVip);
+
+		long count = collectionGoodsV2Service.getCollectionGoodsCount(uid, goodsType, notBackSuVip);
 
 		JSONObject data = new JSONObject();
 		List<GoodsDetailVO> list = new ArrayList<GoodsDetailVO>();
@@ -236,9 +269,9 @@
 				}
 			}
 
-			BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
-			BigDecimal shareRate = hongBaoManageService.getShareRate();
-			ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE);
+			ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(),
+					acceptData.getVersion());
+
 			for (CollectionGoodsV2 collectionGoodsV2 : collectionGoodsList) {
 				CommonGoods commonGoods = collectionGoodsV2.getCommonGoods();
 				if (commonGoods == null) {
@@ -330,8 +363,12 @@
 			return;
 		}
 
+		boolean notBackSuVip = false;
+		if (!VersionUtil.greaterThan_2_1_2(acceptData.getPlatform(), acceptData.getVersion()))
+			notBackSuVip = true;
+
 		List<ScanHistoryV2> list = scanHistoryV2Service.getScanHistoryByDeviceOrUid(uid, acceptData.getDevice(), page,
-				20, goodsType);
+				20, goodsType, notBackSuVip);
 
 		GsonBuilder gsonBuilder = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder());
 		gsonBuilder.excludeFieldsWithoutExposeAnnotation();
@@ -346,14 +383,13 @@
 			}
 		});
 
-		long count = scanHistoryV2Service.getCountByDeviceOrUid(uid, acceptData.getDevice(), goodsType);
+		long count = scanHistoryV2Service.getCountByDeviceOrUid(uid, acceptData.getDevice(), goodsType, notBackSuVip);
 
 		JSONArray array = new JSONArray();
 		if (list != null && list.size() > 0) {
 			Gson gson = gsonBuilder.create();
-			BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
-			BigDecimal shareRate = hongBaoManageService.getShareRate();
-			ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE);
+			ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(),
+					acceptData.getVersion());
 			for (ScanHistoryV2 sh : list) {
 				CommonGoods commonGoods = sh.getCommonGoods();
 				if (commonGoods == null) {

--
Gitblit v1.8.0