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