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/v1/GoodsClassController.java |   69 +++++++++++++++++++++++++---------
 1 files changed, 50 insertions(+), 19 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/GoodsClassController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/GoodsClassController.java
index 9f7e407..d7c13b0 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/GoodsClassController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/GoodsClassController.java
@@ -3,6 +3,7 @@
 import java.io.PrintWriter;
 import java.math.BigDecimal;
 import java.util.ArrayList;
+import java.util.Calendar;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -23,7 +24,6 @@
 import com.yeshi.fanli.entity.bus.clazz.GoodsSecondClass;
 import com.yeshi.fanli.entity.bus.clazz.GoodsSubClass;
 import com.yeshi.fanli.entity.bus.clazz.TaoBaoClass;
-import com.yeshi.fanli.entity.bus.homemodule.SwiperPicture;
 import com.yeshi.fanli.entity.bus.lable.QualityFactory;
 import com.yeshi.fanli.entity.system.BusinessSystem;
 import com.yeshi.fanli.entity.taobao.SearchFilter;
@@ -42,13 +42,14 @@
 import com.yeshi.fanli.service.inter.goods.TaoBaoCouponService;
 import com.yeshi.fanli.service.inter.homemodule.HomeNavbarService;
 import com.yeshi.fanli.service.inter.homemodule.SwiperPictureService;
-import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
 import com.yeshi.fanli.service.inter.lable.LabelClassService;
 import com.yeshi.fanli.service.inter.lable.QualityFactoryService;
 import com.yeshi.fanli.service.inter.lable.QualityGoodsService;
 import com.yeshi.fanli.service.inter.lable.TaoKeGoodsService;
 import com.yeshi.fanli.service.inter.monitor.MonitorService;
+import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
 import com.yeshi.fanli.util.Constant;
+import com.yeshi.fanli.util.RedisKeyEnum;
 import com.yeshi.fanli.util.RedisManager;
 import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.TimeUtil;
@@ -56,6 +57,7 @@
 import com.yeshi.fanli.util.factory.MonitorFactory;
 import com.yeshi.fanli.util.taobao.TaoBaoUtil;
 import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
+import com.yeshi.fanli.vo.homemodule.BannerVO;
 
 import net.sf.json.JSONArray;
 import net.sf.json.JSONObject;
@@ -165,15 +167,17 @@
 			}
 
 			// 杞挱鍥�
-			List<SwiperPicture> picList = null;
+			List<BannerVO> picList = null;
 			if (swpid != null) {
-				picList = swiperPictureService.getByBannerId(swpid);
+				picList = swiperPictureService.getByBannerId(swpid, acceptData.getPlatform(),
+						Integer.parseInt(acceptData.getVersion()));
 			}
 			if (picList == null) {
-				picList = new ArrayList<SwiperPicture>();
+				picList = new ArrayList<BannerVO>();
 			}
 
-			List<GoodsSubClass> goodsSubClassList = goodsSubClassService.getSubClassCache(gcid, 1);
+			List<GoodsSubClass> goodsSubClassList = goodsSubClassService.getSubClassCache(gcid, 1,
+					Calendar.getInstance().get(Calendar.MONTH) + 1);
 			if (goodsSubClassList == null) {
 				goodsSubClassList = new ArrayList<GoodsSubClass>();
 			}
@@ -444,22 +448,41 @@
 					searchfilter.setMaterialId("6707");
 				taoKeGoodsService.setSearchFilter(searchfilter, filter, order, startprice, endprice, fastFilter,
 						totalSales);
-				JSONObject result = taoKeGoodsService.searchWuLiao(searchfilter);
-				long count = result.optLong("count");
-				JSONArray resultArray = result.getJSONArray("result");
+				TaoBaoSearchResult searchResult = TaoKeApiUtil.searchWuLiao(searchfilter);
+				long count = searchResult.getPageEntity().getTotalCount();
+
+				JSONObject result = new JSONObject();
+
+				BigDecimal rate = hongBaoManageService.getFanLiRate();
+
+				List<TaoBaoGoodsBrief> resultGoodsList = searchResult.getTaoBaoGoodsBriefs();
 				// 鏌ヨ鏄惁瓒呰繃浜嗘渶澶х殑鍟嗗搧鏁�
-				if (resultArray == null || resultArray.size() < 20) {
+				if ((resultGoodsList == null || resultGoodsList.size() < 20)
+						&& !StringUtil.isNullOrEmpty(goodsSubClass.getKey())) {
+					if (resultGoodsList == null)
+						resultGoodsList = new ArrayList<>();
+
 					// 闇�瑕佹牴鎹叧閿瓧鏌ヨ
 					searchfilter.setCateIds(null);
 					searchfilter.setPage((int) (count % 20 == 0 ? count / 20 - 1 : count / 20));
 					searchfilter.setPageSize(20);
 					searchfilter.setKey(goodsSubClass.getKey());
-					result = taoKeGoodsService.searchWuLiao(searchfilter);
-					if (resultArray != null)
-						result.optJSONArray("result").addAll(0, resultArray);
-					result.put("count", result.optLong("count") + count);
+					TaoBaoSearchResult searchResult2 = TaoKeApiUtil.searchWuLiao(searchfilter);
+					if (searchResult2 != null) {
+						List<TaoBaoGoodsBrief> resultListTemp = searchResult2.getTaoBaoGoodsBriefs();
+						if (resultListTemp != null)
+							resultGoodsList.addAll(resultListTemp);
+					}
 				}
-
+				JSONArray array = new JSONArray();
+				Gson gson2 = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
+						.excludeFieldsWithoutExposeAnnotation().create();
+				if (resultGoodsList != null)
+					for (TaoBaoGoodsBrief goods : resultGoodsList) {
+						array.add(gson2.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(goods, rate + "", null)));
+					}
+				result.put("result", array);
+				result.put("count", result.optLong("count") + count);
 				out.print(JsonUtil.loadTrueResult(result));
 				return;
 			} else {
@@ -645,6 +668,7 @@
 		GoodsClass goodsClass = goodsClassService.getGoodsClassCache(gcid);
 		if (goodsClass == null) {
 			out.print(JsonUtil.loadFalseResult("涓嶅瓨鍦ㄨ鍒嗙被"));
+			return;
 		}
 
 		if (page < 1)
@@ -657,7 +681,7 @@
 		long counttotal = 5000;
 
 		// 绮鹃�夊簱鏁版嵁涓虹┖鏃讹紝缃戠粶杩涜鏌ヨ
-		if (listQuery == null || listQuery.size() == 0) {
+		if (listQuery == null || listQuery.size() == 0 || listQuery.size() < 10) {
 			long count = qualityGoodsService.countQueryClassId(gcid);
 			int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
 			page = page - totalPage;
@@ -772,7 +796,7 @@
 		if (id == null)
 			return;
 		page = page < 1 ? 1 : page;
-		String key = String.format("getCouponListByClass-%s-%s", id + "", page + "");
+		String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.couponByClass, id + "-" + page);
 		String resultStr = "";
 
 		if (Constant.IS_OUTNET)
@@ -805,9 +829,16 @@
 		meterialId = 0;
 		if (meterialId > 0)
 			result = TaoKeApiUtil.getMaterialByMaterialId(meterialId, page, 20);
-		else
-			result = TaoKeApiUtil.searchCouple(goodsClassService.getKeysById(id), null, page, 20);
+		else {
+			SearchFilter sf = new SearchFilter();
+			sf.setPage(page);
+			sf.setPageSize(20);
+			sf.setQuan(1);
+			sf.setKey(goodsClassService.getKeysById(id));
 
+			result = TaoKeApiUtil.searchWuLiao(sf);
+
+		}
 		List<TaoBaoSearchNav> navList = TaoBaoUtil.getBaseNav();
 		if (result != null && result.getNavList() != null)
 			navList.addAll(result.getNavList());

--
Gitblit v1.8.0