From 8e30aa7c1f0384f09278699318b4902b815b42a7 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 26 四月 2019 18:01:25 +0800
Subject: [PATCH] 维权返利初步修改,拼多多初步增加

---
 fanli/src/main/java/com/yeshi/fanli/controller/web/WebSearchController.java |  143 +++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 135 insertions(+), 8 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/web/WebSearchController.java b/fanli/src/main/java/com/yeshi/fanli/controller/web/WebSearchController.java
index 4c75d82..78d19cb 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/web/WebSearchController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/web/WebSearchController.java
@@ -14,10 +14,12 @@
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.yeshi.utils.JsonUtil;
+import org.yeshi.utils.taobao.TbImgUtil;
 
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
 import com.yeshi.fanli.entity.accept.AcceptData;
+import com.yeshi.fanli.entity.bus.lable.QualityFactory;
 import com.yeshi.fanli.entity.bus.search.HotSearch;
 import com.yeshi.fanli.entity.bus.su.search.SuperHotSearch;
 import com.yeshi.fanli.entity.system.CustomerContent;
@@ -30,6 +32,7 @@
 import com.yeshi.fanli.service.inter.config.SuperHotSearchService;
 import com.yeshi.fanli.service.inter.config.SystemClientParamsService;
 import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
+import com.yeshi.fanli.service.inter.lable.QualityGoodsService;
 import com.yeshi.fanli.service.inter.user.HistorySearchService;
 import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.taobao.TaoBaoUtil;
@@ -55,9 +58,12 @@
 
 	@Resource
 	private SuperHotSearchService superHotSearchSerivce;
-	
+
 	@Resource
 	private CustomerContentService customerContentService;
+
+	@Resource
+	private QualityGoodsService qualityGoodsService;
 
 	// 浼樻儬鍒�
 	/*
@@ -115,12 +121,6 @@
 	@RequestMapping(value = "search", method = RequestMethod.GET)
 	public void search(String callback, AcceptData acceptData, String kw, int page, String filter, String order,
 			String startprice, String endprice, String fastFilter, PrintWriter out) {
-		/*
-		 * System system = webControllerUtil.getSystem(acceptData); if(system ==
-		 * null){
-		 * out.print(JsonUtil.loadFalseResult(WebControllerUtil.NOSYSTEM));
-		 * return; }
-		 */
 		if (!StringUtil.isNullOrEmpty(fastFilter)) {
 			if (!StringUtil.isNullOrEmpty(filter)) {
 				JSONArray filterArray = JSONArray.fromObject(filter);
@@ -132,6 +132,132 @@
 			}
 		}
 		JSONObject data = search(kw, page, filter, order, startprice, endprice);
+		out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(data)));
+	}
+
+	@RequestMapping(value = "searchGoods", method = RequestMethod.GET)
+	public void searchGoods(String callback, AcceptData acceptData, String kw, int page, int pagesize, String filters,
+			String rate, String order, String startprice, String endprice, PrintWriter out) {
+		/*
+		 * System system = webControllerUtil.getSystem(acceptData); if(system ==
+		 * null){
+		 * out.print(JsonUtil.loadFalseResult(WebControllerUtil.NOSYSTEM));
+		 * return; }
+		 */
+		if (pagesize > 100)
+			return;
+
+		SearchFilter sf = new SearchFilter();
+		sf.setPage(page);
+		sf.setPageSize(pagesize);
+		sf.setKey(StringUtil.isNullOrEmpty(kw) ? "" : kw);
+		boolean recommend = false;
+		if (!StringUtil.isNullOrEmpty(filters)) {
+			JSONArray array = JSONArray.fromObject(filters);
+			for (int i = 0; i < array.size(); i++) {
+				String type = array.optJSONObject(i).optString("type");
+				if ("quantype".equalsIgnoreCase(type)) {
+					sf.setQuan(1);
+				} else if ("baoyou".equalsIgnoreCase(type)) {
+					sf.setBaoYou(true);
+				} else if ("usertype".equalsIgnoreCase(type)) {
+					sf.setTmall(true);
+				} else if ("recommend".equalsIgnoreCase(type)) {
+					//
+					recommend = true;
+				}
+			}
+		}
+
+		if (!StringUtil.isNullOrEmpty(startprice))
+			sf.setStartPrice(new BigDecimal(startprice));
+		if (!StringUtil.isNullOrEmpty(endprice))
+			sf.setEndPrice(new BigDecimal(endprice));
+
+		if (!StringUtil.isNullOrEmpty(rate))
+			try {
+				sf.setStartTkRate(Integer.parseInt(rate));
+			} catch (Exception e) {
+			}
+
+		if (StringUtil.isNullOrEmpty(kw))
+			recommend = true;
+
+		List<TaoBaoGoodsBriefExtra> listExtra = new ArrayList<TaoBaoGoodsBriefExtra>();
+
+		long count = 0;
+		if (recommend) {
+
+			List<QualityFactory> listQuery = qualityGoodsService.listRecommendBykey((page - 1) * pagesize, pagesize, kw,
+					sf.getQuan() == 1 ? 1 : 0, sf.isTmall() ? 1 : 0,
+					StringUtil.isNullOrEmpty(startprice) ? null : Double.parseDouble(startprice),
+					StringUtil.isNullOrEmpty(endprice) ? null : Double.parseDouble(endprice),
+					StringUtil.isNullOrEmpty(rate) ? null : Double.parseDouble(rate), null, 1);
+
+			BigDecimal proportion = manageService.getFanLiRate();
+			/* 閬嶅巻鍒楄〃鏁版嵁 */
+			if (listQuery != null && listQuery.size() > 0) {
+				for (QualityFactory selectionGoods : listQuery) {
+
+					TaoBaoGoodsBrief taoBaoGoodsBrief = selectionGoods.getTaoBaoGoodsBrief();
+
+					if (taoBaoGoodsBrief == null) {
+						continue;
+					}
+
+					int biz30day = taoBaoGoodsBrief.getBiz30day();
+					if (biz30day >= 10000) {
+						double sales = biz30day;
+						String salesCountMidea = String.format("%.1f", sales / 10000);
+						taoBaoGoodsBrief.setSalesCount(salesCountMidea + "涓�");
+					} else {
+						taoBaoGoodsBrief.setSalesCount(biz30day + "");
+					}
+
+					// 鏀瑰彉鍥剧墖灏哄
+					String pictUrl = taoBaoGoodsBrief.getPictUrl();
+					if (!StringUtil.isNullOrEmpty(pictUrl) && !pictUrl.contains("320x320")) {
+						taoBaoGoodsBrief.setPictUrl(TbImgUtil.getTBSize320Img(pictUrl));
+					}
+
+					listExtra.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null));
+				}
+			}
+			count = qualityGoodsService.countRecommendBykey(kw, sf.getQuan() == 1 ? 1 : 0, sf.isTmall() ? 1 : 0,
+					StringUtil.isNullOrEmpty(startprice) ? null : Double.parseDouble(startprice),
+					StringUtil.isNullOrEmpty(endprice) ? null : Double.parseDouble(endprice),
+					StringUtil.isNullOrEmpty(rate) ? null : Double.parseDouble(rate), null);
+
+		} else {
+			TaoBaoSearchResult result = TaoBaoUtil.search(sf);
+			if (result != null) {
+				List<TaoBaoGoodsBrief> taoBaoGoodsBriefs = result.getTaoBaoGoodsBriefs();
+				int fq = sf.getQuan();
+				int fh = sf.getHongbao();
+				boolean ft = sf.isTmall();
+				BigDecimal proportion = manageService.getFanLiRate();
+				if (fq == 0 && fh == 0 && !ft) {
+					if (taoBaoGoodsBriefs != null)
+						for (TaoBaoGoodsBrief bf : taoBaoGoodsBriefs) {
+							listExtra.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(bf, proportion.toString(), ""));
+						}
+				} else {
+					TaoBaoGoodsBriefExtra taoBaoGoodsBriefExtra;
+					if(taoBaoGoodsBriefs!=null)
+					for (TaoBaoGoodsBrief taoBaoGoodsBrief : taoBaoGoodsBriefs) {
+						taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief,
+								proportion.toString(), "");
+						listExtra.add(taoBaoGoodsBriefExtra);
+					}
+				}
+				count = result.getTaoBaoHead().getDocsfound();
+			}
+
+		}
+		JSONObject data = new JSONObject();
+		Gson gson2 = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create();
+		data.put("result", gson2.toJson(listExtra));
+		data.put("count", count);
 		out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(data)));
 	}
 
@@ -260,7 +386,8 @@
 		} else {
 			TaoBaoGoodsBriefExtra taoBaoGoodsBriefExtra;
 			for (TaoBaoGoodsBrief taoBaoGoodsBrief : taoBaoGoodsBriefs) {
-				taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), "");
+				taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(),
+						"");
 				re.add(taoBaoGoodsBriefExtra);
 			}
 		}

--
Gitblit v1.8.0