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/BrandControllerV2.java |  263 +++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 237 insertions(+), 26 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/BrandControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/BrandControllerV2.java
index 35178bf..40f77c2 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/BrandControllerV2.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/BrandControllerV2.java
@@ -1,7 +1,6 @@
 package com.yeshi.fanli.controller.client.v2;
 
 import java.io.PrintWriter;
-import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -14,34 +13,44 @@
 
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
+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.brand.BrandGoodsCahe;
 import com.yeshi.fanli.entity.brand.BrandInfo;
+import com.yeshi.fanli.entity.brand.BrandInfoRecord;
+import com.yeshi.fanli.entity.brand.BrandShopCahe;
 import com.yeshi.fanli.entity.brand.TaoBaoShopHistory;
-import com.yeshi.fanli.entity.bus.homemodule.SwiperPicture;
+import com.yeshi.fanli.entity.jd.JDGoods;
 import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
 import com.yeshi.fanli.entity.taobao.TaoBaoShop;
-import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetail;
+import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetailV2;
 import com.yeshi.fanli.exception.taobao.TaoKeApiException;
 import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
 import com.yeshi.fanli.service.inter.brand.BrandClassService;
 import com.yeshi.fanli.service.inter.brand.BrandClassShopService;
+import com.yeshi.fanli.service.inter.brand.BrandGoodsCaheService;
 import com.yeshi.fanli.service.inter.brand.BrandInfoRecordService;
 import com.yeshi.fanli.service.inter.brand.BrandInfoService;
+import com.yeshi.fanli.service.inter.brand.BrandShopCaheService;
 import com.yeshi.fanli.service.inter.brand.TaoBaoShopHistoryService;
 import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService;
 import com.yeshi.fanli.service.inter.homemodule.SwiperPictureService;
-import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
+import com.yeshi.fanli.service.inter.order.OrderHongBaoMoneyComputeService;
 import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsUpdateService;
 import com.yeshi.fanli.service.inter.taobao.TaoBaoShopService;
-import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsService;
+import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailV2Service;
 import com.yeshi.fanli.util.Constant;
 import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.ThreadUtil;
+import com.yeshi.fanli.util.VersionUtil;
 import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory;
 import com.yeshi.fanli.util.taobao.TaoBaoUtil;
 import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
 import com.yeshi.fanli.vo.brand.BrandInfoVO;
 import com.yeshi.fanli.vo.goods.GoodsDetailVO;
+import com.yeshi.fanli.vo.goods.ShopInfoVO;
+import com.yeshi.fanli.vo.homemodule.BannerVO;
 
 import net.sf.json.JSONArray;
 import net.sf.json.JSONObject;
@@ -63,13 +72,13 @@
 	private TaoBaoShopHistoryService taoBaoShopHistoryService;
 
 	@Resource
-	private HongBaoManageService hongBaoManageService;
+	private OrderHongBaoMoneyComputeService orderHongBaoMoneyComputeService;
 
 	@Resource
 	private TaoBaoGoodsBriefService taoBaoGoodsBriefService;
 
 	@Resource
-	private DaTaoKeGoodsService daTaoKeGoodsService;
+	private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service;
 
 	@Resource
 	private TaoBaoGoodsUpdateService taoBaoGoodsUpdateService;
@@ -83,6 +92,12 @@
 	@Resource
 	private BrandInfoRecordService brandInfoRecordService;
 	
+	@Resource
+	private BrandGoodsCaheService brandGoodsCaheService;
+	
+	@Resource
+	private BrandShopCaheService brandShopCaheService;
+	
 
 	/**
 	 * 搴楅摵鍒楄〃
@@ -95,7 +110,7 @@
 		if (page == null || page < 1) {
 			page = 1;
 		}
-		JSONObject data = brandClassShopService.listEffectiveCacheV2(page, cid);
+		JSONObject data = brandClassShopService.listEffectiveCacheV2(page, cid,acceptData.getPlatform(),acceptData.getVersion());
 		out.print(JsonUtil.loadTrueResult(data));
 	}
 
@@ -236,9 +251,9 @@
 		List<TaoBaoGoodsBrief> listGoodsBrief = new ArrayList<TaoBaoGoodsBrief>();
 
 		// 鍏堟煡璇㈠ぇ娣樺鏁版嵁
-		List<DaTaoKeDetail> listDaTaoKe = daTaoKeGoodsService.listBySellerId(0, pageSize, sid);
+		List<DaTaoKeDetailV2> listDaTaoKe = daTaoKeGoodsDetailV2Service.listBySellerId(0, pageSize, sid);
 		if (listDaTaoKe != null && listDaTaoKe.size() > 0) {
-			for (DaTaoKeDetail daTaoKe : listDaTaoKe) {
+			for (DaTaoKeDetailV2 daTaoKe : listDaTaoKe) {
 				listGoodsBrief.add(TaoBaoUtil.convert(daTaoKe));
 			}
 		}
@@ -292,9 +307,8 @@
 			Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
 					.excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
 
-			BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
-			BigDecimal shareRate = hongBaoManageService.getShareRate();
-
+			ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(),
+					acceptData.getVersion());
 			// 鍟嗗搧淇℃伅杩囨护
 			listGoodsBrief = taoBaoGoodsUpdateService.filterImportantTaoBaoGoods(listGoodsBrief);
 
@@ -313,8 +327,7 @@
 						continue;
 					}
 				}
-				GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, null, fanLiRate,
-						shareRate);
+				GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, paramsDTO);
 				array.add(gson.toJson(goodsDetailVO));
 			}
 		}
@@ -337,6 +350,18 @@
 	 */
 	@RequestMapping(value = "getList", method = RequestMethod.POST)
 	public void getList(AcceptData acceptData, Integer page, Long cid, Long uid, PrintWriter out) {
+		if ("ios".equalsIgnoreCase(acceptData.getPlatform())) {
+			if (VersionUtil.greaterThan_2_0_5(acceptData.getPlatform(), acceptData.getVersion())) {
+				getListV3(acceptData, page, cid, uid, out);
+				return;
+			}
+		} else {
+			if (VersionUtil.greaterThan_2_0_2(acceptData.getPlatform(), acceptData.getVersion())) {
+				getListV3(acceptData, page, cid, uid, out);
+				return;
+			}
+		}
+		
 		if (page == null || page < 1) {
 			out.print(JsonUtil.loadFalseResult("椤电爜涓嶆纭�"));
 			return;
@@ -357,7 +382,7 @@
 		
 		long count = brandInfoService.countBrandInfo(cid);
 		
-		List<BrandInfoVO> list = brandInfoService.listBrandInfoCache((page - 1) * Constant.PAGE_SIZE, Constant.PAGE_SIZE, cid);
+		List<BrandInfoVO> list = brandInfoService.listBrandInfoCache((page - 1) * Constant.PAGE_SIZE, Constant.PAGE_SIZE, cid,acceptData.getPlatform(),acceptData.getVersion());
 		if (list == null)
 			list = new ArrayList<BrandInfoVO>();
 		
@@ -380,18 +405,30 @@
 	@RequestMapping(value = "getShopInfoV2", method = RequestMethod.POST)
 	public void getShopInfoV2(AcceptData acceptData, Integer page, Long id, Long uid, PrintWriter out) {
 		
+		if ("ios".equalsIgnoreCase(acceptData.getPlatform())) {
+			if (VersionUtil.greaterThan_2_0_5(acceptData.getPlatform(), acceptData.getVersion())) {
+				getShopInfoV3(acceptData, page, id, uid, out);
+				return;
+			}
+		} else {
+			if (VersionUtil.greaterThan_2_0_2(acceptData.getPlatform(), acceptData.getVersion())) {
+				getShopInfoV3(acceptData, page, id, uid, out);
+				return;
+			}
+		}
+		
 		if (id == null) {
 			out.print(JsonUtil.loadFalseResult("缂哄け搴楅摵id"));
 			return;
 		}
 		
 		List<TaoBaoShop> shopList = new ArrayList<TaoBaoShop>();
-		List<SwiperPicture> topPicList = new ArrayList<>();
+		List<BannerVO> topPicList = new ArrayList<>();
 		
 		JSONObject data = new JSONObject();
 		if (page == 1) {
 			// 2銆侀《閮ㄨ疆鎾浘
-			List<SwiperPicture> oldtopPicList = swiperPictureService.getByBannerCard("index_top");
+			List<BannerVO> oldtopPicList = swiperPictureService.getByBannerCardAndVersion("brand_picture",acceptData.getPlatform(), Integer.parseInt(acceptData.getVersion()));
 			if (oldtopPicList != null && oldtopPicList.size() > 0)
 				topPicList.addAll(oldtopPicList);
 			TaoBaoShop taoBaoShop = taoBaoShopService.selectByPrimaryKey(id);
@@ -438,9 +475,9 @@
 		List<TaoBaoGoodsBrief> listGoodsBrief = new ArrayList<TaoBaoGoodsBrief>();
 
 		// 鍏堟煡璇㈠ぇ娣樺鏁版嵁
-		List<DaTaoKeDetail> listDaTaoKe = daTaoKeGoodsService.listBySellerId(0, pageSize, id);
+		List<DaTaoKeDetailV2> listDaTaoKe = daTaoKeGoodsDetailV2Service.listBySellerId(0, pageSize, id);
 		if (listDaTaoKe != null && listDaTaoKe.size() > 0) {
-			for (DaTaoKeDetail daTaoKe : listDaTaoKe) {
+			for (DaTaoKeDetailV2 daTaoKe : listDaTaoKe) {
 				listGoodsBrief.add(TaoBaoUtil.convert(daTaoKe));
 			}
 		}
@@ -494,9 +531,8 @@
 			Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
 					.excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
 
-			BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
-			BigDecimal shareRate = hongBaoManageService.getShareRate();
-
+			ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(),
+					acceptData.getVersion());
 			// 鍟嗗搧淇℃伅杩囨护
 			listGoodsBrief = taoBaoGoodsUpdateService.filterImportantTaoBaoGoods(listGoodsBrief);
 
@@ -515,8 +551,7 @@
 						continue;
 					}
 				}
-				GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, null, fanLiRate,
-						shareRate);
+				GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, paramsDTO);
 				array.add(gson.toJson(goodsDetailVO));
 			}
 		}
@@ -529,7 +564,6 @@
 	}
 	
 	
-	
 	/**
 	 * 搴楅摵瓒宠抗
 	 * 
@@ -540,6 +574,18 @@
 	 */
 	@RequestMapping(value = "getHistoryV2", method = RequestMethod.POST)
 	public void getHistoryV2(AcceptData acceptData, Integer page, Long uid, Integer type, PrintWriter out) {
+		if ("ios".equalsIgnoreCase(acceptData.getPlatform())) {
+			if (VersionUtil.greaterThan_2_0_5(acceptData.getPlatform(), acceptData.getVersion())) {
+				getHistoryV3(acceptData, page, uid, type, out);
+				return;
+			}
+		} else {
+			if (VersionUtil.greaterThan_2_0_2(acceptData.getPlatform(), acceptData.getVersion())) {
+				getHistoryV3(acceptData, page, uid, type, out);
+				return;
+			}
+		}
+		
 		if (type == null) {
 			out.print(JsonUtil.loadFalseResult("绫诲瀷涓嶆纭�"));
 			return;
@@ -602,4 +648,169 @@
 		data.put("list", JsonUtil.getApiCommonGson().toJson(list));
 		out.print(JsonUtil.loadTrueResult(data));
 	}
+	
+	
+	/**
+	 * 鍝佺墝鍒楄〃鍒楄〃
+	 * 
+	 * @param acceptData
+	 * @param out
+	 */
+//	@RequestMapping(value = "getList", method = RequestMethod.POST)
+	public void getListV3(AcceptData acceptData, Integer page, Long cid, Long uid, PrintWriter out) {
+		if (page == null || page < 1) {
+			out.print(JsonUtil.loadFalseResult("椤电爜涓嶆纭�"));
+			return;
+		}
+		if (cid != null && cid == 0) {
+			cid = null;
+		}
+		
+		
+		JSONObject data = new JSONObject();
+		if (page == 1  && cid == null) { // 绮鹃�夐〉banner
+			List<BannerVO> banners = swiperPictureService.getByBannerCardAndVersion("brand_banners",acceptData.getPlatform(), Integer.parseInt(acceptData.getVersion()));
+			if (banners == null)
+				banners = new ArrayList<>();
+			data.put("banners", JsonUtil.getApiCommonGson().toJson(banners));
+		}
+		
+		if (page == 1 && cid != null) {
+			List<BrandInfo> brandlist = brandInfoService.listValidByCidToApp(cid);
+			if(brandlist == null)
+				brandlist = new ArrayList<BrandInfo>();
+			data.put("brandlist", JsonUtil.getApiCommonGson().toJson(brandlist));
+		}
+		
+		long count = brandInfoService.countValidByCidToApp(cid);
+		
+		List<BrandInfoVO> list = brandInfoService.listValidToApp((page - 1) * Constant.PAGE_SIZE, Constant.PAGE_SIZE, cid,acceptData.getPlatform(),acceptData.getVersion());
+		if (list == null)
+			list = new ArrayList<BrandInfoVO>();
+		
+		GsonBuilder gb = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder());
+		gb.excludeFieldsWithoutExposeAnnotation();
+		Gson gson = gb.create();
+		
+		data.put("count", count);
+		data.put("list", gson.toJson(list));
+		out.print(JsonUtil.loadTrueResult(data));
+	}
+	
+	
+	
+	/**
+	 * 搴楅摵璇︽儏杩囨浮椤�
+	 * 
+	 * @param acceptData
+	 * @param out
+	 */
+//	@RequestMapping(value = "getShopInfoV2", method = RequestMethod.POST)
+	public void getShopInfoV3(AcceptData acceptData, Integer page, Long id, Long uid, PrintWriter out) {
+		if (id == null) {
+			out.print(JsonUtil.loadFalseResult("缂哄け搴楅摵id"));
+			return;
+		}
+		
+		// 娣诲姞瓒宠抗
+		if (page == 1) {
+			brandInfoRecordService.addRecord(id, uid, acceptData.getDevice());
+		}
+		
+
+		Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
+				.excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
+		
+		ConfigParamsDTO paramsDTO =  orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(),
+				acceptData.getVersion());
+		JSONArray array = new JSONArray();
+		
+		List<BrandGoodsCahe> listGoods = brandGoodsCaheService.getByBrandId((page - 1) * 50, 50,id);
+		for (BrandGoodsCahe brandGoods: listGoods) {
+			JDGoods goodsJD = brandGoods.getGoodsJD();
+			if (goodsJD != null) {
+				array.add(gson.toJson(GoodsDetailVOFactory.convertJDGoods(goodsJD, paramsDTO)));
+				continue;
+			}
+			
+			TaoBaoGoodsBrief goodsTB = brandGoods.getGoodsTB();
+			if (goodsTB != null) {
+				array.add(gson.toJson(GoodsDetailVOFactory.convertTaoBao(goodsTB, paramsDTO)));
+				continue;
+			}
+			
+			PDDGoodsDetail goodsPDD = brandGoods.getGoodsPDD();
+			if (goodsPDD != null) {
+				array.add(gson.toJson(GoodsDetailVOFactory.convertPDDGoods(goodsPDD, paramsDTO)));
+				continue;
+			}
+		}
+		
+		JSONObject data = new JSONObject();
+		if (page == 1 && array.size() > 0) {
+			// 2銆侀《閮ㄨ疆鎾浘
+			List<BannerVO> topPicList = new ArrayList<>();
+			List<BannerVO> oldtopPicList = swiperPictureService.getByBannerCardAndVersion("brand_picture",acceptData.getPlatform(), Integer.parseInt(acceptData.getVersion()));
+			if (oldtopPicList != null && oldtopPicList.size() > 0)
+				topPicList.addAll(oldtopPicList);
+			
+			List<ShopInfoVO> shopList = new ArrayList<ShopInfoVO>();
+			List<BrandShopCahe> listshopCahe = brandShopCaheService.getByBrandId(id);
+			if (listshopCahe != null && listshopCahe.size() > 0) {
+				for (BrandShopCahe brandShopCahe: listshopCahe) {
+					shopList.add(brandShopCahe.getShop());
+				}
+			}
+			data.put("picList", JsonUtil.getApiCommonGson().toJson(topPicList));
+			data.put("shopList", JsonUtil.getApiCommonGson().toJson(shopList));
+		}
+		
+		data.put("count", array.size());
+		data.put("list", array);
+		out.print(JsonUtil.loadTrueResult(data));
+	}
+	
+	
+	
+	/**
+	 * 搴楅摵瓒宠抗
+	 * 
+	 * @param acceptData
+	 * @param type
+	 *            绮鹃��1锛� 瓒宠抗鍒楄〃2
+	 * @param out
+	 */
+//	@RequestMapping(value = "getHistoryV2", method = RequestMethod.POST)
+	public void getHistoryV3(AcceptData acceptData, Integer page, Long uid, Integer type, PrintWriter out) {
+		if (type == null) {
+			out.print(JsonUtil.loadFalseResult("绫诲瀷涓嶆纭�"));
+			return;
+		}
+
+		if (page == null || page < 1) {
+			out.print(JsonUtil.loadFalseResult("椤电爜涓嶆纭�"));
+			return;
+		}
+
+		int pageSize;
+		if (type == 1) {
+			pageSize = 4;
+		} else {
+			pageSize = Constant.PAGE_SIZE;
+		}
+		
+		List<BrandInfoRecord> listRecord = brandInfoRecordService.listRecord((page - 1) * pageSize, pageSize, uid, acceptData.getDevice());
+		List<BrandInfo> list = new ArrayList<BrandInfo>();
+		if (listRecord != null && listRecord.size() > 0) {
+			for (BrandInfoRecord history : listRecord) {
+				if (history.getBrandInfo() != null) 
+					list.add(history.getBrandInfo());
+			}
+		}
+		
+		JSONObject data = new JSONObject();
+		data.put("count", brandInfoRecordService.countRecord(uid, acceptData.getDevice()));
+		data.put("list", JsonUtil.getApiCommonGson().toJson(list));
+		out.print(JsonUtil.loadTrueResult(data));
+	}
 }

--
Gitblit v1.8.0