From 69bee82b81626b82b7f39f0e459e4f56b1699b51 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 13 三月 2019 12:02:16 +0800
Subject: [PATCH] 正式数据库修改

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/SearchController.java |  197 +++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 158 insertions(+), 39 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 85d9bde..30bae77 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
@@ -10,10 +10,6 @@
 
 import javax.annotation.Resource;
 
-import net.sf.ehcache.Element;
-import net.sf.json.JSONArray;
-import net.sf.json.JSONObject;
-
 import org.springframework.cache.annotation.Cacheable;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -38,9 +34,9 @@
 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;
 import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
 import com.yeshi.fanli.service.inter.lable.QualityGoodsService;
 import com.yeshi.fanli.service.inter.lable.TaoKeGoodsService;
@@ -52,12 +48,19 @@
 import com.yeshi.fanli.util.taobao.SearchFilterUtil;
 import com.yeshi.fanli.util.taobao.TaoBaoUtil;
 
+import net.sf.ehcache.Element;
+import net.sf.json.JSONArray;
+import net.sf.json.JSONObject;
+
 @Controller
 @RequestMapping("api/v1/search")
 public class SearchController {
 
 	@Resource
 	private SystemService systemService;
+
+	@Resource
+	private ConfigService configService;
 
 	@Resource
 	private SuperHotSearchService superHotSearchSerivce;
@@ -67,9 +70,6 @@
 
 	@Resource
 	private HongBaoManageService manageService;
-
-	@Resource
-	private HonestService honestService;
 
 	@Resource
 	private TaoBaoUnionConfigService taoBaoUnionConfigService;
@@ -109,7 +109,7 @@
 
 	@RequestMapping("specialSearch")
 	public void specialSearch(AcceptData acceptData, long hid, int page, PrintWriter out) {
-		Honest honest = honestService.getOne(hid);
+		Honest honest = null;
 		if (honest == null) {
 			out.print(JsonUtil.loadFalseResult(""));
 			return;
@@ -136,11 +136,9 @@
 		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();
 		for (TaoBaoGoodsBrief bf : taoBaoGoodsBriefs) {
-			re.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(bf, proportion, fcRate, ""));
+			re.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(bf, proportion.toString(), ""));
 		}
 		Gson gson2 = JsonUtil.getApiCommonGson();
 		data.put("result", gson2.toJson(re));
@@ -311,9 +309,7 @@
 		int fq = sf.getQuan();
 		int fh = sf.getHongbao();
 		boolean ft = sf.isTmall();
-		Map<String, String> map = manageService.convertMap();
-		String proportion = map.get("hongbao_goods_proportion");
-		String fcRate = map.get("hongbao_fc_ratio");
+		BigDecimal proportion = manageService.getFanLiRate();
 		if (fq == 0 && fh == 0 && !ft) {
 			if (result != null && result.getTaoBaoGoodsBriefs() != null)
 				for (TaoBaoGoodsBrief bf : result.getTaoBaoGoodsBriefs()) {
@@ -322,10 +318,10 @@
 						double sales = count;
 						String salesCountMidea = String.format("%.1f", sales / 10000);
 						bf.setSalesCount(salesCountMidea + "涓�");
-						re.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(bf, proportion, fcRate, ""));
+						re.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(bf, proportion.toString(), ""));
 					} else {
 						bf.setSalesCount(count + "");
-						re.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(bf, proportion, fcRate, ""));
+						re.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(bf, proportion.toString(), ""));
 					}
 				}
 		} else {
@@ -337,13 +333,13 @@
 						double sales = count;
 						String salesCountMidea = String.format("%.1f", sales / 10000);
 						taoBaoGoodsBrief.setSalesCount(salesCountMidea + "涓�");
-						taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion,
-								fcRate, "");
+						taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief,
+								proportion.toString(), "");
 						re.add(taoBaoGoodsBriefExtra);
 					} else {
 						taoBaoGoodsBrief.setSalesCount(count + "");
-						taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion,
-								fcRate, "");
+						taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief,
+								proportion.toString(), "");
 						re.add(taoBaoGoodsBriefExtra);
 					}
 				}
@@ -422,7 +418,7 @@
 	 */
 	@RequestMapping(value = "searchgoods")
 	public void searchgoods(AcceptData acceptData, String kw, int page, String filter, String order, String startprice,
-			String endprice, String fastFilter, PrintWriter out) {
+			String endprice, Double startTkRate, Double endTkRate, String fastFilter, PrintWriter out) {
 
 		String bid = getHistorySearchBid(acceptData);
 
@@ -484,7 +480,8 @@
 		}
 
 		Gson gson = new GsonBuilder().create();
-		data.put("words", gson.toJson(listRecommendWords));
+		if (data != null)
+			data.put("words", gson.toJson(listRecommendWords));
 
 		out.print(JsonUtil.loadTrueResult(data));
 	}
@@ -603,10 +600,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;
@@ -624,8 +632,7 @@
 		int fh = sf.getHongbao();
 		boolean ft = sf.isTmall();
 		Map<String, String> map = manageService.convertMap();
-		String proportion = map.get("hongbao_goods_proportion");
-		String fcRate = map.get("hongbao_fc_ratio");
+		BigDecimal proportion = manageService.getFanLiRate();
 		if (fq == 0 && fh == 0 && !ft) {
 			if (result != null && result.getTaoBaoGoodsBriefs() != null)
 				for (TaoBaoGoodsBrief bf : result.getTaoBaoGoodsBriefs()) {
@@ -634,10 +641,10 @@
 						double sales = count;
 						String salesCountMidea = String.format("%.1f", sales / 10000);
 						bf.setSalesCount(salesCountMidea + "涓�");
-						re.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(bf, proportion, fcRate, ""));
+						re.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(bf, proportion.toString(), ""));
 					} else {
 						bf.setSalesCount(count + "");
-						re.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(bf, proportion, fcRate, ""));
+						re.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(bf, proportion.toString(), ""));
 					}
 				}
 		} else {
@@ -649,13 +656,13 @@
 						double sales = count;
 						String salesCountMidea = String.format("%.1f", sales / 10000);
 						taoBaoGoodsBrief.setSalesCount(salesCountMidea + "涓�");
-						taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion,
-								fcRate, "");
+						taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief,
+								proportion.toString(), "");
 						re.add(taoBaoGoodsBriefExtra);
 					} else {
 						taoBaoGoodsBrief.setSalesCount(count + "");
-						taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion,
-								fcRate, "");
+						taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief,
+								proportion.toString(), "");
 						re.add(taoBaoGoodsBriefExtra);
 					}
 				}
@@ -686,6 +693,8 @@
 		Double start_Price = null;
 		Double end_Price = null;
 		Integer sort = null;
+		Double startTkRate = null;
+		Double endTkRate = null;
 
 		int provinceId = -100;
 
@@ -724,6 +733,86 @@
 
 				} 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);
+							}
+						}
+					}
 				}
 			}
 		}
@@ -731,13 +820,10 @@
 		int pageSize = Constant.PAGE_SIZE;
 
 		List<QualityFactory> listQuery = qualityGoodsService.listRecommendBykey(page * pageSize, pageSize, key, hasQuan,
-				userType, start_Price, end_Price, sort);
+				userType, start_Price, end_Price, startTkRate, endTkRate, sort);
 
 		List<TaoBaoGoodsBriefExtra> listExtra = new ArrayList<TaoBaoGoodsBriefExtra>();
-		Map<String, String> map = manageService.convertMap();
-		String proportion = map.get("hongbao_goods_proportion");
-		String fcRate = map.get("hongbao_fc_ratio");
-
+		BigDecimal proportion = manageService.getFanLiRate();
 		/* 閬嶅巻鍒楄〃鏁版嵁 */
 		if (listQuery != null && listQuery.size() > 0) {
 			for (QualityFactory selectionGoods : listQuery) {
@@ -763,11 +849,12 @@
 					taoBaoGoodsBrief.setPictUrl(TbImgUtil.getTBSize320Img(pictUrl));
 				}
 
-				listExtra.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion, fcRate, null));
+				listExtra.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null));
 			}
 		}
 
-		long count = qualityGoodsService.countRecommendBykey(key, hasQuan, userType, start_Price, end_Price);
+		long count = qualityGoodsService.countRecommendBykey(key, hasQuan, userType, start_Price, end_Price,
+				startTkRate, endTkRate);
 
 		// 璁剧疆鍙戣揣鍦板潃
 		TaoBaoSearchNav nav = new TaoBaoSearchNav();
@@ -805,4 +892,36 @@
 		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