From ae2294be876ac4595d7b31b36c0057726d12354f Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 14 五月 2021 16:11:16 +0800
Subject: [PATCH] 淘宝券后价计算方法名称修改

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v2/GoodsClassControllerV2.java |  660 +++++++++++++++++++++++++++++------------------------------
 1 files changed, 328 insertions(+), 332 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/GoodsClassControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/GoodsClassControllerV2.java
index a5bc0b7..2f58cf9 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/GoodsClassControllerV2.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/GoodsClassControllerV2.java
@@ -1,332 +1,328 @@
-package com.yeshi.fanli.controller.client.v2;
-
-import java.io.PrintWriter;
-import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.annotation.Resource;
-
-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.dto.ConfigParamsDTO;
-import com.yeshi.fanli.entity.accept.AcceptData;
-import com.yeshi.fanli.entity.bus.clazz.GoodsClass;
-import com.yeshi.fanli.entity.bus.clazz.GoodsSubClass;
-import com.yeshi.fanli.entity.bus.clazz.TaoBaoClass;
-import com.yeshi.fanli.entity.bus.lable.QualityFactory;
-import com.yeshi.fanli.entity.taobao.SearchFilter;
-import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
-import com.yeshi.fanli.entity.taobao.TaoBaoSearchResult;
-import com.yeshi.fanli.log.LogHelper;
-import com.yeshi.fanli.service.inter.clazz.GoodsSubClassLabelService;
-import com.yeshi.fanli.service.inter.goods.GoodsClassService;
-import com.yeshi.fanli.service.inter.goods.GoodsSubClassService;
-import com.yeshi.fanli.service.inter.goods.TaoBaoClassService;
-import com.yeshi.fanli.service.inter.lable.LabelClassService;
-import com.yeshi.fanli.service.inter.lable.QualityGoodsService;
-import com.yeshi.fanli.service.inter.lable.TaoKeGoodsService;
-import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
-import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsUpdateService;
-import com.yeshi.fanli.util.Constant;
-import com.yeshi.fanli.util.StringUtil;
-import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory;
-import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
-import com.yeshi.fanli.vo.goods.GoodsDetailVO;
-import com.yeshi.fanli.vo.goods.GoodsSubClassLabelVO;
-
-import net.sf.json.JSONArray;
-import net.sf.json.JSONObject;
-
-@Controller
-@RequestMapping("api/v2/class")
-public class GoodsClassControllerV2 {
-
-	@Resource
-	private GoodsClassService goodsClassService;
-
-	@Resource
-	private GoodsSubClassLabelService goodsSubClassLabelService;
-
-	@Resource
-	private GoodsSubClassService goodsSubClassService;
-
-	@Resource(name = "taskExecutor")
-	private TaskExecutor executor;
-
-	@Resource
-	private QualityGoodsService qualityGoodsService;
-
-	@Resource
-	private TaoKeGoodsService taoKeGoodsService;
-
-	@Resource
-	private TaoBaoClassService taoBaoClassService;
-
-	@Resource
-	private HongBaoManageService hongBaoManageService;
-
-	@Resource
-	private LabelClassService labelClassService;
-
-	@Resource
-	private TaoBaoGoodsUpdateService taoBaoGoodsUpdateService;
-
-	/**
-	 * 涓�绾у垎绫�
-	 * 
-	 * @param acceptData
-	 * @param out
-	 */
-	@RequestMapping(value = "listClass", method = RequestMethod.POST)
-	public void listClass(AcceptData acceptData, PrintWriter out) {
-		List<GoodsClass> list = goodsClassService.getEffectiveClassCache();
-		if (list == null) {
-			list = new ArrayList<GoodsClass>();
-		}
-
-		JSONObject data = new JSONObject();
-		data.put("list", JsonUtil.getApiCommonGson().toJson(list));
-		out.print(JsonUtil.loadTrueResult(data));
-	}
-
-	/**
-	 * 浜岀骇鍒嗙被銆佹爣绛�
-	 * 
-	 * @param acceptData
-	 * @param gcid
-	 * @param out
-	 */
-	@RequestMapping(value = "listSubMap", method = RequestMethod.POST)
-	public void listSubMap(AcceptData acceptData, Long cid, PrintWriter out) {
-		if (cid == null) {
-			out.print(JsonUtil.loadFalseResult("鍙傛暟涓嶈兘涓虹┖"));
-			return;
-		}
-
-		List<GoodsSubClassLabelVO> list = goodsSubClassLabelService.listSubMapCache(cid);
-		if (list == null) {
-			list = new ArrayList<GoodsSubClassLabelVO>();
-		}
-
-		JSONObject data = new JSONObject();
-		data.put("list", JsonUtil.getApiCommonGson().toJson(list));
-		out.print(JsonUtil.loadTrueResult(data));
-	}
-
-	/**
-	 * 鍒嗙被涓嬬殑绮鹃�夊晢鍝�
-	 */
-	@RequestMapping("getClassGoods")
-	public void getClassGoods(AcceptData acceptData, long gcid, int page, PrintWriter out) {
-		GoodsClass goodsClass = goodsClassService.getGoodsClassCache(gcid);
-		if (goodsClass == null) {
-			out.print(JsonUtil.loadFalseResult("涓嶅瓨鍦ㄨ鍒嗙被"));
-			return;
-		}
-
-		if (page < 1)
-			page = 1;
-
-		int pageSize = Constant.PAGE_SIZE;
-
-		List<QualityFactory> listQuery = qualityGoodsService.listQueryByClassId((page - 1) * pageSize, pageSize, gcid);
-		// 鎬绘潯鏁�
-		long counttotal = 5000;
-
-		List<TaoBaoGoodsBrief> updateGoodsList = new ArrayList<>();
-
-		// 绮鹃�夊簱鏁版嵁灏忎簬10鏃讹紝缃戠粶杩涜鏌ヨ
-		if (listQuery == null || listQuery.size() < 10) {
-			long count = qualityGoodsService.countQueryClassId(gcid);
-			int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
-			page = page - totalPage;
-			if (page < 1)
-				page = 1;
-
-			// 娣樺疂绫荤洰id
-			String taoBaoCatIds = taoBaoClassService.getTaoBaoCatIds(gcid);
-
-			SearchFilter filter = null;
-
-			String searchParam = goodsClass.getSearchParam();
-			if (!StringUtil.isNullOrEmpty(searchParam)) {
-				Gson gs = new Gson();
-				filter = gs.fromJson(searchParam, SearchFilter.class);
-			} else {
-				filter = new SearchFilter();
-			}
-
-			filter.setMaterialId("6707");
-			filter.setPage(page);
-			filter.setPageSize(pageSize);
-			filter.setCateIds(taoBaoCatIds);
-
-			JSONObject result = taoKeGoodsService.searchWuLiaoV2(filter);
-			out.print(JsonUtil.loadTrueResult(result));
-			return;
-		}
-
-		Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
-				.excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
-
-		BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
-		BigDecimal shareRate = hongBaoManageService.getShareRate();
-		ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE,	hongBaoManageService.getVIPFanLiRate());
-		
-		// 绮鹃�夊簱鏁版嵁
-		JSONArray array = new JSONArray();
-		for (QualityFactory selectionGoods : listQuery) {
-			TaoBaoGoodsBrief taoBaoGoodsBrief = selectionGoods.getTaoBaoGoodsBrief();
-			if (taoBaoGoodsBrief == null) {
-				continue;
-			}
-			updateGoodsList.add(taoBaoGoodsBrief);
-			GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, paramsDTO);
-			array.add(gson.toJson(goodsDetailVO));
-		}
-
-		JSONObject data = new JSONObject();
-		data.put("nav", null);
-		data.put("count", counttotal);
-		data.put("result", array);
-		out.print(JsonUtil.loadTrueResult(data));
-		try {
-			taoBaoGoodsUpdateService.addUpdateQueueAsync(updateGoodsList);
-		} catch (Exception e) {
-		}
-	}
-
-	/**
-	 * 鑾峰彇浜岀骇鍒嗙被鍟嗗搧
-	 * 
-	 * @param acceptData
-	 * @param page
-	 * @param scid
-	 * @param filter
-	 * @param order
-	 *            鏉ユ簮锛氥�愭帹鑽愶細0 | 缁煎悎锛�4 銆佺患鍚堝彧鐪嬫湁鍒� 1 銆佺患鍚堝彧鐪嬪ぉ鐚� 1 | 浠锋牸锛氫綆鍒伴珮3 楂樺埌浣�2 | 閿�閲忥細1銆�
-	 *            鎺掑簭鍊硷細銆愰攢閲忕敱楂樺埌浣�: 1 锛� 閿�閲忕敱浣庡埌楂� 5锛� 浠锋牸浠庨珮鍒颁綆: 2 锛� 浠锋牸浠庝綆鍒伴珮:3 锛� 鎺ㄥ箍閲忛珮鍒颁綆:4 锛�
-	 *            鍏朵粬榛樿锛� 閿�閲忕敱楂樺埌浣庛��
-	 * 
-	 * @param startprice
-	 *            璧峰浠锋牸
-	 * @param endprice
-	 *            缁撴潫浠锋牸
-	 * @param fastFilter
-	 *            fastFilter 鏈夊埜 [{"type":"quantype"}] 澶╃尗鍟嗗搧 [{"type":"shoptype"}]
-	 * @param totalSales
-	 *            閿�閲忎互涓�
-	 * @param out
-	 */
-	@RequestMapping(value = "getSubGoods", 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) {
-
-		try {
-			GoodsSubClass goodsSubClass = goodsSubClassService.getSubClassByPrimaryKeyCache(scid);
-			if (goodsSubClass == null) {
-				out.print(JsonUtil.loadFalseResult("涓嶅瓨鍦ㄨ鍒嗙被"));
-				return;
-			}
-
-			// 缁熻鐐瑰嚮閲�
-			if (page == 1) {
-				goodsSubClassService.countClick(acceptData, goodsSubClass);
-			}
-
-			SearchFilter sf = new SearchFilter();
-			String catesId = "";
-			// 鏌ヨ鏄惁鏈夋窐瀹濆垎绫籌D
-			List<TaoBaoClass> tbClassList = taoBaoClassService.listBySystemSubCid(0, 10, goodsSubClass.getId());
-			if (tbClassList != null && tbClassList.size() > 0)
-				for (TaoBaoClass tbc : tbClassList) {
-					catesId += tbc.getCategoryId() + ",";
-				}
-			if (catesId.endsWith(","))
-				catesId = catesId.substring(0, catesId.length() - 1);
-			sf.setCateIds(catesId);
-
-			// 鎸夊垎绫诲悕绉版悳绱�
-			if (!StringUtil.isNullOrEmpty(catesId)) {
-				String searchParam = goodsSubClass.getSearchJson();
-				Gson gs = new Gson();
-				SearchFilter searchfilter = gs.fromJson(searchParam, SearchFilter.class);
-				searchfilter.setCateIds(catesId);
-				searchfilter.setPage(page);
-				searchfilter.setPageSize(20);
-				if (Integer.parseInt(order) == 0)
-					searchfilter.setMaterialId("6707");
-				taoKeGoodsService.setSearchFilter(searchfilter, filter, order, startprice, endprice, fastFilter,
-						totalSales);
-				TaoBaoSearchResult searchResult = TaoKeApiUtil.searchWuLiao(searchfilter);
-				long count = searchResult.getPageEntity().getTotalCount();
-
-				List<TaoBaoGoodsBrief> resultGoodsList = searchResult.getTaoBaoGoodsBriefs();
-				// 鏌ヨ鏄惁瓒呰繃浜嗘渶澶х殑鍟嗗搧鏁�
-				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());
-					TaoBaoSearchResult searchResult2 = TaoKeApiUtil.searchWuLiao(searchfilter);
-					if (searchResult2 != null) {
-						List<TaoBaoGoodsBrief> resultListTemp = searchResult2.getTaoBaoGoodsBriefs();
-						if (resultListTemp != null)
-							resultGoodsList.addAll(resultListTemp);
-					}
-				}
-
-				Gson gson2 = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
-						.excludeFieldsWithoutExposeAnnotation().create();
-
-				JSONArray array = new JSONArray();
-				if (resultGoodsList != null) {
-					BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
-					BigDecimal shareRate = hongBaoManageService.getShareRate();
-					ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE,	hongBaoManageService.getVIPFanLiRate());
-					for (TaoBaoGoodsBrief goods : resultGoodsList) {
-						GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertTaoBao(goods, paramsDTO);
-						array.add(gson2.toJson(goodsDetailVO));
-					}
-				}
-				JSONObject result = new JSONObject();
-				result.put("result", array);
-				result.put("count", result.optLong("count") + count);
-				out.print(JsonUtil.loadTrueResult(result));
-				return;
-			} else {
-				String searchParam = goodsSubClass.getSearchJson();
-				Gson gs = new Gson();
-				SearchFilter searchfilter = gs.fromJson(searchParam, SearchFilter.class);
-				searchfilter.setCateIds(catesId);
-				searchfilter.setPage(page);
-				searchfilter.setPageSize(20);
-				if (Integer.parseInt(order) == 0)
-					searchfilter.setMaterialId("6707");
-				searchfilter.setKey(goodsSubClass.getKey());
-				taoKeGoodsService.setSearchFilter(searchfilter, filter, order, startprice, endprice, fastFilter,
-						totalSales);
-
-				JSONObject result = taoKeGoodsService.searchWuLiaoV2(searchfilter);
-				out.print(JsonUtil.loadTrueResult(result));
-				return;
-			}
-		} catch (Exception e) {
-			out.print(JsonUtil.loadFalseResult("鏁版嵁寮傚父"));
-			LogHelper.errorDetailInfo(e);
-		}
-	}
-
-}
+package com.yeshi.fanli.controller.client.v2;
+
+import java.io.PrintWriter;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.annotation.Resource;
+
+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.dto.ConfigParamsDTO;
+import com.yeshi.fanli.entity.accept.AcceptData;
+import com.yeshi.fanli.entity.bus.clazz.GoodsClass;
+import com.yeshi.fanli.entity.bus.clazz.GoodsSubClass;
+import com.yeshi.fanli.entity.bus.clazz.TaoBaoClass;
+import com.yeshi.fanli.entity.bus.lable.QualityFactory;
+import com.yeshi.fanli.entity.taobao.SearchFilter;
+import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBrief;
+import com.yeshi.fanli.entity.taobao.TaoBaoSearchResult;
+import com.yeshi.fanli.log.LogHelper;
+import com.yeshi.fanli.service.inter.clazz.GoodsSubClassLabelService;
+import com.yeshi.fanli.service.inter.goods.GoodsClassService;
+import com.yeshi.fanli.service.inter.goods.GoodsSubClassService;
+import com.yeshi.fanli.service.inter.goods.TaoBaoClassService;
+import com.yeshi.fanli.service.inter.lable.LabelClassService;
+import com.yeshi.fanli.service.inter.lable.QualityGoodsService;
+import com.yeshi.fanli.service.inter.lable.TaoKeGoodsService;
+import com.yeshi.fanli.service.inter.order.OrderHongBaoMoneyComputeService;
+import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsUpdateService;
+import com.yeshi.fanli.util.Constant;
+import com.yeshi.fanli.util.StringUtil;
+import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory;
+import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
+import com.yeshi.fanli.vo.goods.GoodsDetailVO;
+import com.yeshi.fanli.vo.goods.GoodsSubClassLabelVO;
+
+import net.sf.json.JSONArray;
+import net.sf.json.JSONObject;
+
+@Controller
+@RequestMapping("api/v2/class")
+public class GoodsClassControllerV2 {
+
+	@Resource
+	private GoodsClassService goodsClassService;
+
+	@Resource
+	private GoodsSubClassLabelService goodsSubClassLabelService;
+
+	@Resource
+	private GoodsSubClassService goodsSubClassService;
+
+	@Resource(name = "taskExecutor")
+	private TaskExecutor executor;
+
+	@Resource
+	private QualityGoodsService qualityGoodsService;
+
+	@Resource
+	private TaoKeGoodsService taoKeGoodsService;
+
+	@Resource
+	private TaoBaoClassService taoBaoClassService;
+
+	@Resource
+	private OrderHongBaoMoneyComputeService orderHongBaoMoneyComputeService;
+
+	@Resource
+	private LabelClassService labelClassService;
+
+	@Resource
+	private TaoBaoGoodsUpdateService taoBaoGoodsUpdateService;
+
+	/**
+	 * 涓�绾у垎绫�
+	 * 
+	 * @param acceptData
+	 * @param out
+	 */
+	@RequestMapping(value = "listClass", method = RequestMethod.POST)
+	public void listClass(AcceptData acceptData, PrintWriter out) {
+		List<GoodsClass> list = goodsClassService.getEffectiveClassCache();
+		if (list == null) {
+			list = new ArrayList<GoodsClass>();
+		}
+
+		JSONObject data = new JSONObject();
+		data.put("list", JsonUtil.getApiCommonGson().toJson(list));
+		out.print(JsonUtil.loadTrueResult(data));
+	}
+
+	/**
+	 * 浜岀骇鍒嗙被銆佹爣绛�
+	 * 
+	 * @param acceptData
+	 * @param out
+	 */
+	@RequestMapping(value = "listSubMap", method = RequestMethod.POST)
+	public void listSubMap(AcceptData acceptData, Long cid, PrintWriter out) {
+		if (cid == null) {
+			out.print(JsonUtil.loadFalseResult("鍙傛暟涓嶈兘涓虹┖"));
+			return;
+		}
+
+		List<GoodsSubClassLabelVO> list = goodsSubClassLabelService.listSubMapCache(cid);
+		if (list == null) {
+			list = new ArrayList<GoodsSubClassLabelVO>();
+		}
+
+		JSONObject data = new JSONObject();
+		data.put("list", JsonUtil.getApiCommonGson().toJson(list));
+		out.print(JsonUtil.loadTrueResult(data));
+	}
+
+	/**
+	 * 鍒嗙被涓嬬殑绮鹃�夊晢鍝�
+	 */
+	@RequestMapping("getClassGoods")
+	public void getClassGoods(AcceptData acceptData, long gcid, int page, PrintWriter out) {
+		GoodsClass goodsClass = goodsClassService.getGoodsClassCache(gcid);
+		if (goodsClass == null) {
+			out.print(JsonUtil.loadFalseResult("涓嶅瓨鍦ㄨ鍒嗙被"));
+			return;
+		}
+
+		if (page < 1)
+			page = 1;
+
+		int pageSize = Constant.PAGE_SIZE;
+
+		List<QualityFactory> listQuery = qualityGoodsService.listQueryByClassId((page - 1) * pageSize, pageSize, gcid);
+		// 鎬绘潯鏁�
+		long counttotal = 5000;
+
+		List<TaoBaoGoodsBrief> updateGoodsList = new ArrayList<>();
+
+		// 绮鹃�夊簱鏁版嵁灏忎簬10鏃讹紝缃戠粶杩涜鏌ヨ
+		if (listQuery == null || listQuery.size() < 10) {
+			long count = qualityGoodsService.countQueryClassId(gcid);
+			int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
+			page = page - totalPage;
+			if (page < 1)
+				page = 1;
+
+			// 娣樺疂绫荤洰id
+			String taoBaoCatIds = taoBaoClassService.getTaoBaoCatIds(gcid);
+
+			SearchFilter filter = null;
+
+			String searchParam = goodsClass.getSearchParam();
+			if (!StringUtil.isNullOrEmpty(searchParam)) {
+				Gson gs = new Gson();
+				filter = gs.fromJson(searchParam, SearchFilter.class);
+			} else {
+				filter = new SearchFilter();
+			}
+
+			filter.setMaterialId("6707");
+			filter.setPage(page);
+			filter.setPageSize(pageSize);
+			filter.setCateIds(taoBaoCatIds);
+
+			JSONObject result = taoKeGoodsService.searchWuLiaoV2(filter,acceptData.getPlatform(),acceptData.getVersion(), acceptData.getSystem());
+			out.print(JsonUtil.loadTrueResult(result));
+			return;
+		}
+
+		Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
+				.excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
+
+		ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(),
+				acceptData.getVersion(),acceptData.getSystem());
+		
+		// 绮鹃�夊簱鏁版嵁
+		JSONArray array = new JSONArray();
+		for (QualityFactory selectionGoods : listQuery) {
+			TaoBaoGoodsBrief taoBaoGoodsBrief = selectionGoods.getTaoBaoGoodsBrief();
+			if (taoBaoGoodsBrief == null) {
+				continue;
+			}
+			updateGoodsList.add(taoBaoGoodsBrief);
+			GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, paramsDTO);
+			array.add(gson.toJson(goodsDetailVO));
+		}
+
+		JSONObject data = new JSONObject();
+		data.put("nav", null);
+		data.put("count", counttotal);
+		data.put("result", array);
+		out.print(JsonUtil.loadTrueResult(data));
+		try {
+			taoBaoGoodsUpdateService.addUpdateQueueAsync(updateGoodsList);
+		} catch (Exception e) {
+		}
+	}
+
+	/**
+	 * 鑾峰彇浜岀骇鍒嗙被鍟嗗搧
+	 * 
+	 * @param acceptData
+	 * @param page
+	 * @param scid
+	 * @param filter
+	 * @param order
+	 *            鏉ユ簮锛氥�愭帹鑽愶細0 | 缁煎悎锛�4 銆佺患鍚堝彧鐪嬫湁鍒� 1 銆佺患鍚堝彧鐪嬪ぉ鐚� 1 | 浠锋牸锛氫綆鍒伴珮3 楂樺埌浣�2 | 閿�閲忥細1銆�
+	 *            鎺掑簭鍊硷細銆愰攢閲忕敱楂樺埌浣�: 1 锛� 閿�閲忕敱浣庡埌楂� 5锛� 浠锋牸浠庨珮鍒颁綆: 2 锛� 浠锋牸浠庝綆鍒伴珮:3 锛� 鎺ㄥ箍閲忛珮鍒颁綆:4 锛�
+	 *            鍏朵粬榛樿锛� 閿�閲忕敱楂樺埌浣庛��
+	 * 
+	 * @param startprice
+	 *            璧峰浠锋牸
+	 * @param endprice
+	 *            缁撴潫浠锋牸
+	 * @param fastFilter
+	 *            fastFilter 鏈夊埜 [{"type":"quantype"}] 澶╃尗鍟嗗搧 [{"type":"shoptype"}]
+	 * @param totalSales
+	 *            閿�閲忎互涓�
+	 * @param out
+	 */
+	@RequestMapping(value = "getSubGoods", 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) {
+
+		try {
+			GoodsSubClass goodsSubClass = goodsSubClassService.getSubClassByPrimaryKeyCache(scid);
+			if (goodsSubClass == null) {
+				out.print(JsonUtil.loadFalseResult("涓嶅瓨鍦ㄨ鍒嗙被"));
+				return;
+			}
+
+			// 缁熻鐐瑰嚮閲�
+			if (page == 1) {
+				goodsSubClassService.countClick(acceptData, goodsSubClass);
+			}
+
+			SearchFilter sf = new SearchFilter();
+			String catesId = "";
+			// 鏌ヨ鏄惁鏈夋窐瀹濆垎绫籌D
+			List<TaoBaoClass> tbClassList = taoBaoClassService.listBySystemSubCid(0, 10, goodsSubClass.getId());
+			if (tbClassList != null && tbClassList.size() > 0)
+				for (TaoBaoClass tbc : tbClassList) {
+					catesId += tbc.getCategoryId() + ",";
+				}
+			if (catesId.endsWith(","))
+				catesId = catesId.substring(0, catesId.length() - 1);
+			sf.setCateIds(catesId);
+
+			// 鎸夊垎绫诲悕绉版悳绱�
+			if (!StringUtil.isNullOrEmpty(catesId)) {
+				String searchParam = goodsSubClass.getSearchJson();
+				Gson gs = new Gson();
+				SearchFilter searchfilter = gs.fromJson(searchParam, SearchFilter.class);
+				searchfilter.setCateIds(catesId);
+				searchfilter.setPage(page);
+				searchfilter.setPageSize(20);
+				if (Integer.parseInt(order) == 0)
+					searchfilter.setMaterialId("6707");
+				taoKeGoodsService.setSearchFilter(searchfilter, filter, order, startprice, endprice, fastFilter,
+						totalSales);
+				TaoBaoSearchResult searchResult = TaoKeApiUtil.searchWuLiao(searchfilter,null,null);
+				long count = searchResult.getPageEntity().getTotalCount();
+
+				List<TaoBaoGoodsBrief> resultGoodsList = searchResult.getTaoBaoGoodsBriefs();
+				// 鏌ヨ鏄惁瓒呰繃浜嗘渶澶х殑鍟嗗搧鏁�
+				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());
+					TaoBaoSearchResult searchResult2 = TaoKeApiUtil.searchWuLiao(searchfilter,null,null);
+					if (searchResult2 != null) {
+						List<TaoBaoGoodsBrief> resultListTemp = searchResult2.getTaoBaoGoodsBriefs();
+						if (resultListTemp != null)
+							resultGoodsList.addAll(resultListTemp);
+					}
+				}
+
+				Gson gson2 = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
+						.excludeFieldsWithoutExposeAnnotation().create();
+
+				JSONArray array = new JSONArray();
+				if (resultGoodsList != null) {
+					ConfigParamsDTO paramsDTO =  orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(),
+							acceptData.getVersion(),acceptData.getSystem());
+					for (TaoBaoGoodsBrief goods : resultGoodsList) {
+						GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertTaoBao(goods, paramsDTO);
+						array.add(gson2.toJson(goodsDetailVO));
+					}
+				}
+				JSONObject result = new JSONObject();
+				result.put("result", array);
+				result.put("count", result.optLong("count") + count);
+				out.print(JsonUtil.loadTrueResult(result));
+				return;
+			} else {
+				String searchParam = goodsSubClass.getSearchJson();
+				Gson gs = new Gson();
+				SearchFilter searchfilter = gs.fromJson(searchParam, SearchFilter.class);
+				searchfilter.setCateIds(catesId);
+				searchfilter.setPage(page);
+				searchfilter.setPageSize(20);
+				if (Integer.parseInt(order) == 0)
+					searchfilter.setMaterialId("6707");
+				searchfilter.setKey(goodsSubClass.getKey());
+				taoKeGoodsService.setSearchFilter(searchfilter, filter, order, startprice, endprice, fastFilter,
+						totalSales);
+
+				JSONObject result = taoKeGoodsService.searchWuLiaoV2(searchfilter,acceptData.getPlatform(),acceptData.getVersion(),acceptData.getSystem());
+				out.print(JsonUtil.loadTrueResult(result));
+				return;
+			}
+		} catch (Exception e) {
+			out.print(JsonUtil.loadFalseResult("鏁版嵁寮傚父"));
+			LogHelper.errorDetailInfo(e);
+		}
+	}
+
+}

--
Gitblit v1.8.0