喻健
2018-11-16 cb950a37e1617f6601da1f334608186a4cc4f40b
前端搜索接口调整
2个文件已修改
167 ■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/controller/client/SearchController.java 160 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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,6 +59,9 @@
    @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();
@@ -515,20 +519,6 @@
        if (!com.yeshi.fanli.util.StringUtil.isNullOrEmpty(endprice)) {
            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)) {
@@ -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,13 +694,15 @@
     * @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,6 +741,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);
                            }
                        }
                    }
                }
            }
        }
@@ -819,4 +902,35 @@
        return data;
    }
    /**
     * 设置查询佣金比例范围
     * @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);
                }
            }
        }
    }
}
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java
@@ -626,6 +626,13 @@
        if (filter.getEndTkRate() > 0)
            map.put("end_tk_rate", filter.getEndTkRate() + "");
        if (filter.getStartKaTkRate() > 0)
            map.put("start_ka_tk_rate", filter.getStartKaTkRate() + "");
        if (filter.getEndKaTkRate() > 0)
            map.put("end_ka_tk_rate", filter.getEndKaTkRate() + "");
        if (filter.isTmall())
            map.put("is_tmall", filter.isTmall() + "");