From b6c37e4bc38db88a360d0f2c6099183f9bb75bdc Mon Sep 17 00:00:00 2001
From: yujian <yujian>
Date: 星期一, 22 四月 2019 14:31:59 +0800
Subject: [PATCH] 券推送插入

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/GoodsClassController.java |  341 +++++++++++++++++++++++++-------------------------------
 1 files changed, 153 insertions(+), 188 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/GoodsClassController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/GoodsClassController.java
index a75ea4e..14d32c1 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/GoodsClassController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/GoodsClassController.java
@@ -10,23 +10,21 @@
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 
-import net.sf.json.JSONArray;
-import net.sf.json.JSONObject;
-
+import org.springframework.core.task.TaskExecutor;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
+import org.yeshi.utils.JsonUtil;
 
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
 import com.yeshi.fanli.entity.accept.AcceptData;
-import com.yeshi.fanli.entity.bus.clazz.ClassRecommendGoods;
 import com.yeshi.fanli.entity.bus.clazz.GoodsClass;
 import com.yeshi.fanli.entity.bus.clazz.GoodsSecondClass;
 import com.yeshi.fanli.entity.bus.clazz.GoodsSubClass;
+import com.yeshi.fanli.entity.bus.homemodule.SwiperPicture;
 import com.yeshi.fanli.entity.bus.lable.QualityFactory;
-import com.yeshi.fanli.entity.bus.su.clazz.SuperGoodsClass;
-import com.yeshi.fanli.entity.system.System;
+import com.yeshi.fanli.entity.system.BusinessSystem;
 import com.yeshi.fanli.entity.taobao.SearchFilter;
 import com.yeshi.fanli.entity.taobao.TaoBaoCoupon;
 import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
@@ -34,14 +32,15 @@
 import com.yeshi.fanli.entity.taobao.TaoBaoSearchNav;
 import com.yeshi.fanli.entity.taobao.TaoBaoSearchResult;
 import com.yeshi.fanli.log.LogHelper;
-import com.yeshi.fanli.service.inter.config.SystemService;
-import com.yeshi.fanli.service.inter.goods.ClassRecommendGoodsService;
+import com.yeshi.fanli.service.inter.config.BusinessSystemService;
 import com.yeshi.fanli.service.inter.goods.GoodsClassService;
 import com.yeshi.fanli.service.inter.goods.GoodsSecondClassService;
 import com.yeshi.fanli.service.inter.goods.GoodsSubClassService;
 import com.yeshi.fanli.service.inter.goods.SuperGoodsClassService;
 import com.yeshi.fanli.service.inter.goods.TaoBaoClassService;
 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;
@@ -56,7 +55,9 @@
 import com.yeshi.fanli.util.factory.MonitorFactory;
 import com.yeshi.fanli.util.taobao.TaoBaoUtil;
 import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
-import org.yeshi.utils.JsonUtil;
+
+import net.sf.json.JSONArray;
+import net.sf.json.JSONObject;
 
 @Controller
 @RequestMapping("api/v1/class")
@@ -67,9 +68,6 @@
 
 	@Resource
 	private GoodsSecondClassService goodsSecondClassService;
-
-	@Resource
-	private ClassRecommendGoodsService classRecommendGoodsService;
 
 	@Resource
 	private GoodsClassService goodsClassService;
@@ -87,7 +85,7 @@
 	private HongBaoManageService manageService;
 
 	@Resource
-	private SystemService systemService;
+	private BusinessSystemService businessSystemService;
 
 	@Resource
 	private RedisManager redisManager;
@@ -108,6 +106,15 @@
 
 	@Resource
 	private MonitorService monitorService;
+	
+	@Resource
+	private HomeNavbarService homeNavbarService;
+	@Resource
+	private SwiperPictureService swiperPictureService;
+
+
+	@Resource(name = "taskExecutor")
+	private TaskExecutor executor;
 
 	/**
 	 * 鑾峰彇涓荤被鐩�
@@ -117,26 +124,28 @@
 	 */
 	@RequestMapping(value = "getgoodsclass", method = RequestMethod.POST)
 	public void getGoodsClass(AcceptData acceptData, PrintWriter out) {
-		System system = systemService.getSystemCache(acceptData.getPlatform(), acceptData.getPackages());
-		if (system == null) {
-			out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�"));
-			return;
+
+		try {
+			List<GoodsClass> goodsClassList = goodsClassService.getEffectiveClassCache();
+			if (goodsClassList == null || goodsClassList.size() == 0) {
+				out.print(JsonUtil.loadFalseResult("鏆傛棤鏁版嵁"));
+				return;
+			}
+
+			JSONObject data = new JSONObject();
+			data.put("count", goodsClassList.size());
+			data.put("goodsClassList", JsonUtil.getApiCommonGson().toJson(goodsClassList));
+
+			out.print(JsonUtil.loadTrueResult(data));
+		} catch (Exception e) {
+			out.print(JsonUtil.loadFalseResult("鑾峰彇澶辫触"));
+			try {
+				LogHelper.errorDetailInfo(e);
+			} catch (Exception e1) {
+				e1.printStackTrace();
+			}
 		}
-		List<SuperGoodsClass> superGoodsClassList = superGoodsClassService.getSuperGoodsClassBySystemId(system.getId());
-		if (superGoodsClassList == null || superGoodsClassList.size() == 0) {
-			out.print(JsonUtil.loadFalseResult("鏆傛棤鏁版嵁"));
-			return;
-		}
-		List<GoodsClass> goodsClassList = new ArrayList<GoodsClass>();
-		for (SuperGoodsClass superGoodsClass : superGoodsClassList) {
-			GoodsClass goodsClass = superGoodsClass.getGoodsClass();
-			goodsClassList.add(goodsClass);
-		}
-		JSONObject data = new JSONObject();
-		data.put("count", goodsClassList.size());
-		data.put("goodsClassList", goodsClassList);
-		String result = JsonUtil.loadTrueResult(data);
-		out.print(result);
+
 	}
 
 	/**
@@ -147,45 +156,81 @@
 	 * @param out
 	 */
 	@RequestMapping(value = "getgoodssecondclass", method = RequestMethod.POST)
-	public void getGoodsSecondClass(AcceptData acceptData, long gcid, PrintWriter out) {
-
+	public void getGoodsSecondClass(AcceptData acceptData, long gcid, Long swpid, PrintWriter out) {
 		try {
-
 			GoodsClass goodsClass = goodsClassService.getGoodsClassCache(gcid);
 			if (goodsClass == null) {
 				out.print(JsonUtil.loadFalseResult("鏆傛棤鏁版嵁"));
 				return;
 			}
 
-			if ("android".equalsIgnoreCase(acceptData.getPlatform())) {
-				Long androidClick = goodsClass.getAndroidClick();
-				if (androidClick != null) {
-					goodsClass.setAndroidClick(androidClick + 1);
-				} else {
-					goodsClass.setAndroidClick(1L);
-				}
-			} else if ("ios".equalsIgnoreCase(acceptData.getPlatform())) {
-				Long iosClick = goodsClass.getIosClick();
-				if (iosClick != null) {
-					goodsClass.setIosClick(iosClick + 1);
-				} else {
-					goodsClass.setIosClick(1L);
-				}
+			// 杞挱鍥�
+			List<SwiperPicture> picList = null;
+			if (swpid != null) {
+				picList = swiperPictureService.getByBannerId(swpid);
 			}
-			goodsClassService.updateByPrimaryKeySelective(goodsClass);
-
+			if (picList == null) {
+				picList = new ArrayList<SwiperPicture>();
+			}
+			
 			List<GoodsSubClass> goodsSubClassList = goodsSubClassService.getSubClassCache(gcid, 1);
-
-			if (goodsSubClassList == null || goodsSubClassList.size() == 0) {
-				out.print(JsonUtil.loadFalseResult("鏆傛棤鏁版嵁"));
-				return;
+			if (goodsSubClassList == null) {
+				goodsSubClassList = new ArrayList<GoodsSubClass>();
 			}
-
+			
+			boolean changePicture = false;
+			String version = acceptData.getVersion();
+			int tversion = Integer.parseInt(version);
+			String platform = acceptData.getPlatform();
+			if ("android".equalsIgnoreCase(platform) && tversion > 38) {
+				changePicture = true;
+			} else if (tversion > 47){
+				changePicture = true;
+			}
+			
+			// 1.5.3鏂扮増鍥剧墖鏇挎崲
+			if (changePicture) {
+				for (GoodsSubClass goodsSubClass: goodsSubClassList) {
+					String pictureSecond = goodsSubClass.getPictureSecond();
+					if (pictureSecond != null && pictureSecond.trim().length() > 0) {
+						goodsSubClass.setPicture(pictureSecond);
+					}
+				}
+			}
+			
 			JSONObject data = new JSONObject();
+			data.put("picList", JsonUtil.getApiCommonGson().toJson(picList));
 			data.put("count", goodsSubClassList.size());
 			data.put("goodsSecondClassList", JsonUtil.getApiCommonGson().toJson(goodsSubClassList));
-
 			out.print(JsonUtil.loadTrueResult(data));
+
+			// 鏇存柊鍒嗙被鐐瑰嚮娆℃暟
+			executor.execute(new Runnable() {
+				@Override
+				public void run() {
+					if ("android".equalsIgnoreCase(acceptData.getPlatform())) {
+						Long androidClick = goodsClass.getAndroidClick();
+						if (androidClick != null) {
+							goodsClass.setAndroidClick(androidClick + 1);
+						} else {
+							goodsClass.setAndroidClick(1L);
+						}
+					} else if ("ios".equalsIgnoreCase(acceptData.getPlatform())) {
+						Long iosClick = goodsClass.getIosClick();
+						if (iosClick != null) {
+							goodsClass.setIosClick(iosClick + 1);
+						} else {
+							goodsClass.setIosClick(1L);
+						}
+					}
+					
+					GoodsClass gc = new GoodsClass();
+					gc.setId(goodsClass.getId());
+					gc.setIosClick(goodsClass.getIosClick());
+					gc.setAndroidClick(goodsClass.getAndroidClick());
+					goodsClassService.updateByPrimaryKeySelective(gc);
+				}
+			});
 
 		} catch (Exception e) {
 			out.print(JsonUtil.loadFalseResult("鏆傛棤鏁版嵁"));
@@ -198,20 +243,6 @@
 
 	}
 
-	@RequestMapping(value = "getclassrecommendgoods", method = RequestMethod.POST)
-	public void getClassRecommendGoods(AcceptData acceptData, long goodsClassId, PrintWriter out) {
-		List<ClassRecommendGoods> classRecommendGoodsList = classRecommendGoodsService
-				.getClassRecommendGoodsByGoodsClassId(goodsClassId);
-		if (classRecommendGoodsList == null) {
-			out.print(JsonUtil.loadFalseResult("鏆傛棤鏁版嵁"));
-			return;
-		}
-		JSONObject data = new JSONObject();
-		data.put("count", classRecommendGoodsList.size());
-		data.put("classRecommendGoodsList", JsonUtil.getApiCommonGson().toJson(classRecommendGoodsList));
-		String result = JsonUtil.loadTrueResult(data);
-		out.print(result);
-	}
 
 	@RequestMapping(value = "getCouponGoods", method = RequestMethod.POST)
 	public void getCouponGoods(AcceptData acceptData, int page, long gcid, PrintWriter out) {
@@ -262,7 +293,7 @@
 	@RequestMapping(value = "getgoods", method = RequestMethod.POST)
 	public void getGoods(AcceptData acceptData, int page, long scid, String filter, String order, String startprice,
 			String endprice, String fastFilter, PrintWriter out) {
-		System system = systemService.getSystemCache(acceptData.getPlatform(), acceptData.getPackages());
+		BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), acceptData.getPackages());
 		if (system == null) {
 			out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�"));
 			return;
@@ -326,9 +357,7 @@
 				.excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
 		JSONArray array = new JSONArray();
 		List<TaoBaoGoodsBrief> taobaoList = taoKeGoodsService.searchWuLiaoList(sf);
-		Map<String, String> map = manageService.convertMap();
-		String proportion = map.get("hongbao_goods_proportion");
-		String fcRate = map.get("hongbao_fc_ratio");
+		BigDecimal proportion = manageService.getFanLiRate();
 		for (TaoBaoGoodsBrief taoBaoGoodsBrief : taobaoList) {
 			int biz30day = taoBaoGoodsBrief.getBiz30day();
 			if (biz30day >= 10000) {
@@ -338,7 +367,7 @@
 			} else {
 				taoBaoGoodsBrief.setSalesCount(biz30day + "");
 			}
-			array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion, fcRate, null)));
+			array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null)));
 		}
 		JSONObject data = new JSONObject();
 		data.put("nav", new JSONArray());
@@ -372,7 +401,7 @@
 	@RequestMapping(value = "getsecondclassgoods", method = RequestMethod.POST)
 	public void getSecondClassGoods(AcceptData acceptData, int page, long scid, String filter, String order,
 			String startprice, String endprice, String fastFilter, Integer totalSales, PrintWriter out) {
-		System system = systemService.getSystemCache(acceptData.getPlatform(), acceptData.getPackages());
+		BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), acceptData.getPackages());
 		if (system == null) {
 			out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�"));
 			return;
@@ -516,7 +545,11 @@
 				// 璁剧疆SearchFilter
 				taoKeGoodsService.setSearchFilter(searchfilter, filter, order, startprice, endprice, fastFilter,
 						totalSales);
-				searchfilter.setEndPrice(new BigDecimal(99999));
+
+				// 鐢ㄦ埛鏈緭鍏ユ渶楂樹环鏍兼椂 鏈�楂樹环鏍奸檺鍒�99999
+				if (searchfilter.getEndPrice() == null) {
+					searchfilter.setEndPrice(new BigDecimal(99999));
+				}
 			}
 
 			searchfilter.setPage(pageNo);
@@ -542,7 +575,7 @@
 	@RequestMapping("choiceGoods")
 	public void choiceGoods(AcceptData acceptData, long gcid, int page, PrintWriter out) {
 
-		System system = systemService.getSystemCache(acceptData.getPlatform(), acceptData.getPackages());
+		BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), acceptData.getPackages());
 		if (system == null) {
 			out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�"));
 			return;
@@ -583,13 +616,6 @@
 				filter = new SearchFilter();
 			}
 
-			// String searchKey = goodsClass.getName();
-			// String key = goodsClass.getKey();
-			// if (key != null && !"".equals(key.trim())) {
-			// searchKey = key;
-			// }
-			// filter.setKey(searchKey);
-
 			filter.setMaterialId("6707");
 			filter.setPage(page);
 			filter.setPageSize(pageSize);
@@ -606,9 +632,7 @@
 		Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
 				.excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
 
-		Map<String, String> map = manageService.convertMap();
-		String proportion = map.get("hongbao_goods_proportion");
-		String fcRate = map.get("hongbao_fc_ratio");
+		BigDecimal proportion = manageService.getFanLiRate();
 
 		// 閬嶅巻鍒楄〃鏁版嵁
 		for (QualityFactory selectionGoods : listQuery) {
@@ -628,7 +652,12 @@
 				taoBaoGoodsBrief.setSalesCount(biz30day + "");
 			}
 
-			array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion, fcRate, null)));
+			// 鐧藉簳鍥炬祴璇�
+			// if
+			// (!StringUtil.isNullOrEmpty(taoBaoGoodsBrief.getPictUrlWhite()))
+			// taoBaoGoodsBrief.setPictUrl(taoBaoGoodsBrief.getPictUrlWhite());
+
+			array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null)));
 		}
 
 		JSONObject data = new JSONObject();
@@ -637,44 +666,6 @@
 		data.put("result", array);
 		out.print(JsonUtil.loadTrueResult(data));
 
-		/*
-		 * // 娴嬭瘯鍙栨秷缂撳瓨 GoodsClass goodsClass =
-		 * goodsClassService.getGoodsClassCache(gcid); if (goodsClass == null) {
-		 * out.append(JsonUtil.loadFalseResult("涓嶅瓨鍦ㄨ鍒嗙被")); return; }
-		 * 
-		 * SearchFilter sf = new SearchFilter(); sf.setKey(goodsClass.getKey());
-		 * sf.setPage(page); sf.setPageSize(Constant.PAGE_SIZE); sf.setQuan(1);
-		 * 
-		 * TaoBaoSearchResult result = TaoKeApiUtil.searchWuLiao(sf);
-		 * 
-		 * List<TaoBaoSearchNav> navList = TaoBaoUtil.getBaseNav(); if
-		 * (result.getNavList() != null) navList.addAll(result.getNavList());
-		 * Gson gson = new GsonBuilder().create(); JSONObject data = new
-		 * JSONObject(); data.put("nav", gson.toJson(navList));
-		 * List<TaoBaoGoodsBriefExtra> re = new
-		 * ArrayList<TaoBaoGoodsBriefExtra>(); List<TaoBaoGoodsBrief>
-		 * taoBaoGoodsBriefs = result.getTaoBaoGoodsBriefs(); Map<String,
-		 * String> map = manageService.convertMap(); String proportion =
-		 * map.get("hongbao_goods_proportion"); String fcRate =
-		 * map.get("hongbao_fc_ratio");
-		 * 
-		 * TaoBaoGoodsBriefExtra taoBaoGoodsBriefExtra; if (taoBaoGoodsBriefs !=
-		 * null) for (TaoBaoGoodsBrief taoBaoGoodsBrief : taoBaoGoodsBriefs) {
-		 * int count = taoBaoGoodsBrief.getBiz30day(); if (count >= 10000) {
-		 * double sales = count; String salesCountMidea = String.format("%.1f",
-		 * sales / 10000); taoBaoGoodsBrief.setSalesCount(salesCountMidea +
-		 * "涓�"); taoBaoGoodsBriefExtra =
-		 * TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion,
-		 * fcRate, ""); re.add(taoBaoGoodsBriefExtra); } else {
-		 * taoBaoGoodsBrief.setSalesCount(count + ""); taoBaoGoodsBriefExtra =
-		 * TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion,
-		 * fcRate, ""); re.add(taoBaoGoodsBriefExtra); } }
-		 * 
-		 * Gson gson2 = JsonUtil.getApiCommonGson(); data.put("result",
-		 * gson2.toJson(re)); data.put("count",
-		 * result.getTaoBaoHead().getDocsfound());
-		 * out.print(JsonUtil.loadTrueResult(data));
-		 */
 
 	}
 
@@ -682,15 +673,13 @@
 	public void getCouponList(AcceptData acceptData, int page, HttpServletRequest request, PrintWriter out) {
 		page = page > 0 ? page : 1;
 		List<TaoBaoGoodsBrief> taoBaoGoodsBriefs = taoBaoCouponService.getTaoBaoCouponList(page);
-		Map<String, String> map = manageService.convertMap();
-		String proportion = map.get("hongbao_goods_proportion");
-		String fcRate = map.get("hongbao_fc_ratio");
+		BigDecimal proportion = manageService.getFanLiRate();
 		JSONArray array = new JSONArray();
 		TaoBaoGoodsBriefExtra taoBaoGoodsBriefExtra;
 		Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()).create();
 
 		for (TaoBaoGoodsBrief taoBaoGoodsBrief : taoBaoGoodsBriefs) {
-			taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion, fcRate, "");
+			taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), "");
 			array.add(gson.toJson(taoBaoGoodsBriefExtra));
 		}
 		int count = 10000;
@@ -757,7 +746,7 @@
 		if (meterialId > 0)
 			result = TaoKeApiUtil.getMaterialByMaterialId(meterialId, page, 20);
 		else
-			result = TaoKeApiUtil.searchCouple(goodsClassService.getKwById(id), null, page, 20);
+			result = TaoKeApiUtil.searchCouple(goodsClassService.getKeysById(id), null, page, 20);
 
 		List<TaoBaoSearchNav> navList = TaoBaoUtil.getBaseNav();
 		if (result.getNavList() != null)
@@ -771,12 +760,10 @@
 		data.put("nav", gson.toJson(navList));
 		List<TaoBaoGoodsBriefExtra> re = new ArrayList<TaoBaoGoodsBriefExtra>();
 		List<TaoBaoGoodsBrief> taoBaoGoodsBriefs = result.getTaoBaoGoodsBriefs();
-		Map<String, String> map = manageService.convertMap();
-		String proportion = map.get("hongbao_goods_proportion");
-		String fcRate = map.get("hongbao_fc_ratio");
+		BigDecimal proportion = manageService.getFanLiRate();
 		TaoBaoGoodsBriefExtra taoBaoGoodsBriefExtra;
 		for (TaoBaoGoodsBrief taoBaoGoodsBrief : taoBaoGoodsBriefs) {
-			taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion, fcRate, "");
+			taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), "");
 			re.add(taoBaoGoodsBriefExtra);
 		}
 
@@ -801,9 +788,10 @@
 	 */
 	private void setTaoBaoCouponHongBao(List<TaoBaoCoupon> taoBaoCoupons) {
 		if (taoBaoCoupons.size() > 0) {
-			String proportion = hongBaoManageService.get(Constant.HONGBAO_GOODS_PROPORTION);
+			BigDecimal proportion = hongBaoManageService.getFanLiRate();
+
 			for (TaoBaoCoupon taoBaoCoupon : taoBaoCoupons) {
-				BigDecimal hb = TaoBaoUtil.getCouponHongBaoInfo(taoBaoCoupon, new BigDecimal(proportion));
+				BigDecimal hb = TaoBaoUtil.getCouponHongBaoInfo(taoBaoCoupon, proportion);
 				taoBaoCoupon.setHongbao(hb);
 			}
 		}
@@ -811,59 +799,36 @@
 
 	@RequestMapping(value = { "getcategory" }, method = { org.springframework.web.bind.annotation.RequestMethod.POST })
 	public void getcategory(AcceptData acceptData, PrintWriter out) {
-		com.yeshi.fanli.entity.system.System system = this.systemService.getSystemCache(acceptData.getPlatform(),
-				acceptData.getPackages());
-		if (system == null) {
-			out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�"));
-			return;
-		}
+		try {
+			
+			boolean changePicture = false;
+			String version = acceptData.getVersion();
+			int tversion = Integer.parseInt(version);
+			String platform = acceptData.getPlatform();
+			if ("android".equalsIgnoreCase(platform) && tversion > 38) {
+				changePicture = true;
+			} else if (tversion > 47){
+				changePicture = true;
+			}
+			
+			
+			List<Map<String, Object>> listCache = goodsClassService.getClassListAllCache(changePicture);
+			if (listCache == null) {
+				listCache = new ArrayList<Map<String, Object>>();
+			}
 
-		List<SuperGoodsClass> superGoodsClassList = this.superGoodsClassService
-				.getSuperGoodsClassBySystemId(system.getId().longValue());
-		if ((superGoodsClassList == null) || (superGoodsClassList.size() == 0)) {
-			out.print(JsonUtil.loadFalseResult("鏆傛棤鏁版嵁"));
-			return;
-		}
+			JSONObject data = new JSONObject();
+			data.put("categoryList", listCache);
 
-		List<GoodsClass> goodsClassList = new ArrayList<GoodsClass>();
-		for (SuperGoodsClass superGoodsClass : superGoodsClassList) {
-			GoodsClass goodsClass = superGoodsClass.getGoodsClass();
-			goodsClassList.add(goodsClass);
-		}
+			out.print(JsonUtil.loadTrueResult(data));
 
-		JSONArray array = new JSONArray();
-
-		Gson gson = new GsonBuilder().create();
-
-		if (goodsClassList.size() > 0) {
-			for (GoodsClass goodsClass : goodsClassList) {
-				goodsClass.setKey(null);
-				goodsClass.setCreatetime(0L);
-				goodsClass.setSearchParam(null);
-				goodsClass.setIosClick(null);
-				goodsClass.setAndroidClick(null);
-
-				JSONObject data = new JSONObject();
-				data.put("gclass", goodsClass);
-				long gcid = goodsClass.getId();
-				try {
-					List<GoodsSubClass> subClassList = this.goodsSubClassService.getSubClassCache(Long.valueOf(gcid),
-							Integer.valueOf(1));
-					if ((subClassList == null) || (subClassList.size() == 0)) {
-						subClassList = new ArrayList<GoodsSubClass>();
-					}
-					data.put("subList", gson.toJson(subClassList));
-				} catch (Exception e) {
-					e.printStackTrace();
-				}
-
-				array.add(data);
+		} catch (Exception e) {
+			out.print(JsonUtil.loadFalseResult("鑾峰彇澶辫触"));
+			try {
+				LogHelper.errorDetailInfo(e);
+			} catch (Exception e1) {
+				e1.printStackTrace();
 			}
 		}
-
-		JSONObject data = new JSONObject();
-		data.put("categoryList", array);
-
-		out.print(JsonUtil.loadTrueResult(data));
 	}
 }

--
Gitblit v1.8.0