From cb950a37e1617f6601da1f334608186a4cc4f40b Mon Sep 17 00:00:00 2001
From: 喻健 <喻健@Admin>
Date: 星期五, 16 十一月 2018 09:06:38 +0800
Subject: [PATCH] 前端搜索接口调整

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/SearchController.java |  168 +++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 141 insertions(+), 27 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/SearchController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/SearchController.java
index 6251ed3..9dfd6e0 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/SearchController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/SearchController.java
@@ -38,6 +38,7 @@
 import com.yeshi.fanli.entity.taobao.TaoBaoSearchNav;
 import com.yeshi.fanli.entity.taobao.TaoBaoSearchResult;
 import com.yeshi.fanli.entity.taobao.TaoBaoUnionConfig;
+import com.yeshi.fanli.service.inter.config.ConfigService;
 import com.yeshi.fanli.service.inter.config.SuperHotSearchService;
 import com.yeshi.fanli.service.inter.config.SystemService;
 import com.yeshi.fanli.service.inter.goods.HonestService;
@@ -58,7 +59,10 @@
 
 	@Resource
 	private SystemService systemService;
-
+	
+	@Resource
+	private ConfigService configService;
+	
 	@Resource
 	private SuperHotSearchService superHotSearchSerivce;
 
@@ -428,11 +432,11 @@
 
 		historySearchService.addHistorySearch(kw, bid);
 
-		System system = systemService.getSystemCache(acceptData.getPlatform(), acceptData.getPackages());
-		if (system == null) {
-			out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�"));
-			return;
-		}
+//		System system = systemService.getSystemCache(acceptData.getPlatform(), acceptData.getPackages());
+//		if (system == null) {
+//			out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�"));
+//			return;
+//		}
 
 		if (!StringUtil.isNullOrEmpty(kw) && (kw.startsWith("http://") || kw.startsWith("https://"))) {
 			out.print(JsonUtil.loadFalseResult("鏃犳硶鎼滅储閾炬帴"));
@@ -467,10 +471,10 @@
 		JSONObject data = null;
 		if (!recommend) {
 			// 娣樺疂鎺ュ彛璇锋眰
-			data = searchGoods(kw, page, filter, order, startprice, endprice, startTkRate, endTkRate);
+			data = searchGoods(kw, page, filter, order, startprice, endprice);
 		} else {
 			// 鎺ㄨ崘锛氱簿閫夊簱
-			data = searchQualityGoods(kw, page, filter, order, startprice, endprice, startTkRate, endTkRate);
+			data = searchQualityGoods(kw, page, filter, order, startprice, endprice);
 		}
 
 		// 鑾峰彇鎺ㄨ崘璇�
@@ -501,7 +505,7 @@
 	 * @return
 	 */
 	private JSONObject searchGoods(String kw, int page, String filter, String order, String startprice,
-			String endprice, Double startTkRate, Double endTkRate) {
+			String endprice) {
 		page = page + 1;
 
 		SearchFilter sf = new SearchFilter();
@@ -517,20 +521,6 @@
 			sf.setEndPrice(new BigDecimal(endprice));
 		}
 		
-		if (startTkRate != null && startTkRate != 0 && !startTkRate.equals(0)) {
-			BigDecimal b = new BigDecimal(startTkRate/2);
-			double df = b.setScale(2, BigDecimal.ROUND_FLOOR).doubleValue();
-			int tkRate = (int) (df * 100);
-			sf.setStartTkRate(tkRate);
-		}
-		
-		if (endTkRate != null && endTkRate != 0 && !endTkRate.equals(0)) {
-			BigDecimal b = new BigDecimal(endTkRate/2);
-			double df = b.setScale(2, BigDecimal.ROUND_FLOOR).doubleValue();
-			int tkRate = (int) (df * 100);
-			sf.setEndTkRate(tkRate);
-		}
-
 		if (!com.yeshi.fanli.util.StringUtil.isNullOrEmpty(order)) {
 			if (Integer.parseInt(order) == 1) {
 				sf.setSort(TaoBaoUtil.SORT_SALE_HIGH_TO_LOW);
@@ -617,10 +607,21 @@
 				} else if ("materialId".equalsIgnoreCase(ty)) {
 					int id = array.optJSONObject(i).optInt("id");
 					sf.setProvinceId(id);
-				}
+				} else if ("tkRate1".equalsIgnoreCase(ty)) {
+					setSearchTkRate(0, sf);
+				} else if ("tkRate2".equalsIgnoreCase(ty)) {
+					setSearchTkRate(1, sf);
+				} else if ("tkRate3".equalsIgnoreCase(ty)) {
+					setSearchTkRate(2, sf);
+				} else if ("tkRate4".equalsIgnoreCase(ty)) {
+					setSearchTkRate(3, sf);
+				} else if ("tkRate5".equalsIgnoreCase(ty)) {
+					setSearchTkRate(4, sf);
+				} 
 			}
 			sf.setParams(params);
 		}
+		
 		TaoBaoSearchResult result = TaoBaoUtil.search(sf);
 		if (result == null) {
 			return null;
@@ -693,14 +694,16 @@
 	 * @return
 	 */
 	private JSONObject searchQualityGoods(String key, int page, String filter, String order, String startprice,
-			String endprice, Double startTkRate, Double endTkRate) {
+			String endprice ) {
 
 		Integer hasQuan = null;
 		Integer userType = null;
 		Double start_Price = null;
 		Double end_Price = null;
 		Integer sort = null;
-
+		Double startTkRate = null;
+		Double endTkRate = null;
+		
 		int provinceId = -100;
 
 		// 璧峰浠锋牸
@@ -738,7 +741,87 @@
 
 				} else if ("fahuodi".equalsIgnoreCase(ty)) {
 					provinceId = array.optJSONObject(i).optInt("id");
-				}
+				} else if ("tkRate1".equalsIgnoreCase(ty)) {
+					// 鑾峰彇瀵瑰簲鍙傛暟
+					String value = configService.get("tkRate_range");
+					if (!StringUtil.isNullOrEmpty(value)) {
+						JSONArray tkRatearray = JSONArray.fromObject(value);
+						if (tkRatearray != null) {
+							String start = tkRatearray.optJSONObject(0).optString("start");
+							if (!StringUtil.isNullOrEmpty(start)) {
+								startTkRate = Double.parseDouble(start);
+							}
+							String end = tkRatearray.optJSONObject(0).optString("end");
+							if (!StringUtil.isNullOrEmpty(end)) {
+								endTkRate = Double.parseDouble(end);
+							}
+						}
+					}
+				} else if ("tkRate2".equalsIgnoreCase(ty)) {
+					// 鑾峰彇瀵瑰簲鍙傛暟
+					String value = configService.get("tkRate_range");
+					if (!StringUtil.isNullOrEmpty(value)) {
+						JSONArray tkRatearray = JSONArray.fromObject(value);
+						if (tkRatearray != null) {
+							String start = tkRatearray.optJSONObject(1).optString("start");
+							if (!StringUtil.isNullOrEmpty(start)) {
+								startTkRate = Double.parseDouble(start);
+							}
+							String end = tkRatearray.optJSONObject(1).optString("end");
+							if (!StringUtil.isNullOrEmpty(end)) {
+								endTkRate = Double.parseDouble(end);
+							}
+						}
+					}
+				} else if ("tkRate3".equalsIgnoreCase(ty)) {
+					// 鑾峰彇瀵瑰簲鍙傛暟
+					String value = configService.get("tkRate_range");
+					if (!StringUtil.isNullOrEmpty(value)) {
+						JSONArray tkRatearray = JSONArray.fromObject(value);
+						if (tkRatearray != null) {
+							String start = tkRatearray.optJSONObject(2).optString("start");
+							if (!StringUtil.isNullOrEmpty(start)) {
+								startTkRate = Double.parseDouble(start);
+							}
+							String end = tkRatearray.optJSONObject(2).optString("end");
+							if (!StringUtil.isNullOrEmpty(end)) {
+								endTkRate = Double.parseDouble(end);
+							}
+						}
+					}
+				} else if ("tkRate4".equalsIgnoreCase(ty)) {
+					// 鑾峰彇瀵瑰簲鍙傛暟
+					String value = configService.get("tkRate_range");
+					if (!StringUtil.isNullOrEmpty(value)) {
+						JSONArray tkRatearray = JSONArray.fromObject(value);
+						if (tkRatearray != null) {
+							String start = tkRatearray.optJSONObject(3).optString("start");
+							if (!StringUtil.isNullOrEmpty(start)) {
+								startTkRate = Double.parseDouble(start);
+							}
+							String end = tkRatearray.optJSONObject(3).optString("end");
+							if (!StringUtil.isNullOrEmpty(end)) {
+								endTkRate = Double.parseDouble(end);
+							}
+						}
+					}
+				} else if ("tkRate5".equalsIgnoreCase(ty)) {
+					// 鑾峰彇瀵瑰簲鍙傛暟
+					String value = configService.get("tkRate_range");
+					if (!StringUtil.isNullOrEmpty(value)) {
+						JSONArray tkRatearray = JSONArray.fromObject(value);
+						if (tkRatearray != null) {
+							String start = tkRatearray.optJSONObject(4).optString("start");
+							if (!StringUtil.isNullOrEmpty(start)) {
+								startTkRate = Double.parseDouble(start);
+							}
+							String end = tkRatearray.optJSONObject(4).optString("end");
+							if (!StringUtil.isNullOrEmpty(end)) {
+								endTkRate = Double.parseDouble(end);
+							}
+						}
+					}
+				} 
 			}
 		}
 
@@ -819,4 +902,35 @@
 		return data;
 	}
 
+	/**
+	 * 璁剧疆鏌ヨ浣i噾姣斾緥鑼冨洿
+	 * @param i
+	 * @param sf
+	 */
+	public void setSearchTkRate(int i, SearchFilter sf) {
+		// 鑾峰彇瀵瑰簲鍙傛暟
+		String value = configService.get("tkRate_range");
+		
+		if (!StringUtil.isNullOrEmpty(value)) {
+			
+			JSONArray tkRatearray = JSONArray.fromObject(value);
+			
+			if (tkRatearray != null) {
+				
+				String start = tkRatearray.optJSONObject(i).optString("start");
+				
+				if (!StringUtil.isNullOrEmpty(start)) {
+					int tkRate = (int) (Float.parseFloat(start) * 100);
+					sf.setStartTkRate(tkRate);
+				}
+				
+				String end = tkRatearray.optJSONObject(i).optString("end");
+				if (!StringUtil.isNullOrEmpty(end)) {
+					int tkRate = (int) (Float.parseFloat(end) * 100);
+					sf.setEndTkRate(tkRate);
+				}
+			}
+			
+		}
+	}
 }

--
Gitblit v1.8.0