| | |
| | | @Resource
|
| | | private DaTaoKeGoodsDetailService daTaoKeGoodsDetailService;
|
| | |
|
| | |
|
| | | /**
|
| | | * 搜索-新版
|
| | | *
|
| | |
| | | * @param kw
|
| | | * @param page
|
| | | * @param filter
|
| | | * @param order
|
| | | * 销量由高到低:1 、 价格从高到低:2 、 价格从低到高:3 、 推广量高到低:4(综合默认)、返利比高到低:5
|
| | | * 、返利比低到高:6 、推荐20
|
| | | * @param order 销量由高到低:1 、 价格从高到低:2 、 价格从低到高:3 、 推广量高到低:4(综合默认)、返利比高到低:5
|
| | | * 、返利比低到高:6 、推荐20
|
| | | * @param startprice
|
| | | * @param endprice
|
| | | * @param fastFilter
|
| | |
| | | */
|
| | | @RequestMapping(value = "searchGoods")
|
| | | public void searchGoods(AcceptData acceptData, String kw, int page, String filter, String order, String startprice,
|
| | | String endprice, Double startTkRate, Double endTkRate, String fastFilter, Integer goodsType, PrintWriter out) {
|
| | | String endprice, Double startTkRate, Double endTkRate, String fastFilter, Integer goodsType,
|
| | | PrintWriter out) {
|
| | |
|
| | | String bid = getHistorySearchBid(acceptData);
|
| | | |
| | |
|
| | | // 加入搜索历史记录
|
| | | historySearchService.addHistorySearch(kw, bid);
|
| | |
|
| | |
| | | out.print(JsonUtil.loadTrueResult(data));
|
| | | return;
|
| | | }
|
| | | |
| | |
|
| | | if (!StringUtil.isNullOrEmpty(fastFilter)) {
|
| | | if (!StringUtil.isNullOrEmpty(filter)) {
|
| | | JSONArray filterArray = JSONArray.fromObject(filter);
|
| | |
| | | if (goodsType == null) {
|
| | | goodsType = Constant.SOURCE_TYPE_TAOBAO;
|
| | | }
|
| | | |
| | |
|
| | | // 京东商品
|
| | | if (goodsType.intValue() == Constant.SOURCE_TYPE_JD) {
|
| | | searchJDGoods(kw, page, filter, order, startprice, endprice, out);
|
| | | return;
|
| | | }
|
| | | |
| | |
|
| | | if (goodsType.intValue() == Constant.SOURCE_TYPE_PDD) {
|
| | | // 拼多多商品 TODO
|
| | | searchPDDGoods(kw, page, filter, order, startprice, endprice, out);
|
| | | return;
|
| | | }
|
| | | |
| | | |
| | |
|
| | | // 是否是推荐
|
| | | boolean recommend = false;
|
| | |
| | | listRecommendWords = new ArrayList<String>();
|
| | | }
|
| | |
|
| | | List<TaoBaoShopVO> listShop =taoBaoShopService.getShopByKey(kw);
|
| | | List<TaoBaoShopVO> listShop = taoBaoShopService.getShopByKey(kw);
|
| | | if (listShop != null && listShop.size() > 0 && listShop.get(0).getListGoods() != null
|
| | | && listShop.get(0).getListGoods().size() > 2) {
|
| | | data.put("shop", JsonUtil.getApiCommonGson().toJson(listShop.get(0)));
|
| | |
| | | out.print(JsonUtil.loadTrueResult(data));
|
| | | }
|
| | |
|
| | | |
| | | private String getHistorySearchBid(AcceptData acceptData) {
|
| | | StringBuffer sb = new StringBuffer();
|
| | | String link = "#$$$#";
|
| | |
| | | return StringUtil.Md5(sb.toString());
|
| | | }
|
| | |
|
| | | |
| | | /**
|
| | | * 执行搜索-新版
|
| | | *
|
| | |
| | | boolean ft = sf.isTmall();
|
| | | BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
|
| | | BigDecimal shareRate = hongBaoManageService.getShareRate();
|
| | | |
| | |
|
| | | if (fq == 0 && fh == 0 && !ft) {
|
| | | if (result != null && taoBaoGoodsBriefs != null)
|
| | | for (TaoBaoGoodsBrief bf : taoBaoGoodsBriefs) {
|
| | |
| | | list.add(GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, null, fanLiRate, shareRate));
|
| | | }
|
| | | }
|
| | | |
| | |
|
| | | Gson gson2 = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
|
| | | .excludeFieldsWithoutExposeAnnotation().create();
|
| | | |
| | |
|
| | | data.put("result", gson2.toJson(list));
|
| | | data.put("count", result.getTaoBaoHead().getDocsfound());
|
| | | return data;
|
| | | }
|
| | |
|
| | |
|
| | | /**
|
| | | * 大淘客商品
|
| | | * |
| | | * @param key
|
| | | * @param page
|
| | | * @param filter
|
| | |
| | | }
|
| | | }
|
| | | }
|
| | | |
| | |
|
| | | /**
|
| | | * 京东
|
| | | * 京东
|
| | | *
|
| | | * @param kw
|
| | | * @param page
|
| | |
| | | * @param endprice
|
| | | * @return
|
| | | */
|
| | | private void searchJDGoods(String kw, int page, String filter, String order, String startprice,
|
| | | String endprice, PrintWriter out) {
|
| | | private void searchJDGoods(String kw, int page, String filter, String order, String startprice, String endprice,
|
| | | PrintWriter out) {
|
| | | JDSearchFilter jdfilter = new JDSearchFilter();
|
| | | jdfilter.setKey(SearchFilterUtil.filterSearchContent(kw));
|
| | | jdfilter.setPageNo(page);
|
| | |
| | | if (!StringUtil.isNullOrEmpty(endprice)) {
|
| | | jdfilter.setToPrice(Integer.parseInt(endprice));
|
| | | }
|
| | | |
| | | |
| | |
|
| | | int sort = 1;
|
| | | if (!StringUtil.isNullOrEmpty(order)) {
|
| | | sort = Integer.parseInt(order);
|
| | | }
|
| | | |
| | |
|
| | | switch (sort) {
|
| | | case 1: // 销量 desc
|
| | | jdfilter.setSort(JDSearchFilter.SORT_DESC);
|
| | | jdfilter.setSortName(JDSearchFilter.SORTNAME_ORDER_COUNT_30DAYS);
|
| | | break;
|
| | | case 2: // 价格—desc
|
| | | jdfilter.setSort(JDSearchFilter.SORT_DESC);
|
| | | jdfilter.setSortName(JDSearchFilter.SORTNAME_PRICE);
|
| | | break;
|
| | | case 3: // 价格—asc
|
| | | jdfilter.setSort(JDSearchFilter.SORT_ASC);
|
| | | jdfilter.setSortName(JDSearchFilter.SORTNAME_PRICE);
|
| | | break;
|
| | | case 5: // 返利比—asc
|
| | | jdfilter.setSort(JDSearchFilter.SORT_DESC);
|
| | | jdfilter.setSortName(JDSearchFilter.SORTNAME_COMMISSION_SHARE);
|
| | | break;
|
| | | default: // 默认:销量 desc
|
| | | jdfilter.setSort(JDSearchFilter.SORT_DESC);
|
| | | jdfilter.setSortName(JDSearchFilter.SORTNAME_ORDER_COUNT_30DAYS);
|
| | | break;
|
| | | case 1: // 销量 desc
|
| | | jdfilter.setSort(JDSearchFilter.SORT_DESC);
|
| | | jdfilter.setSortName(JDSearchFilter.SORTNAME_ORDER_COUNT_30DAYS);
|
| | | break;
|
| | | case 2: // 价格—desc
|
| | | jdfilter.setSort(JDSearchFilter.SORT_DESC);
|
| | | jdfilter.setSortName(JDSearchFilter.SORTNAME_PRICE);
|
| | | break;
|
| | | case 3: // 价格—asc
|
| | | jdfilter.setSort(JDSearchFilter.SORT_ASC);
|
| | | jdfilter.setSortName(JDSearchFilter.SORTNAME_PRICE);
|
| | | break;
|
| | | case 5: // 返利比—DESC
|
| | | jdfilter.setSort(JDSearchFilter.SORT_DESC);
|
| | | jdfilter.setSortName(JDSearchFilter.SORTNAME_COMMISSION_SHARE);
|
| | | break;
|
| | | default: // 默认:销量 desc
|
| | | //jdfilter.setSort(JDSearchFilter.SORT_DESC);
|
| | | //jdfilter.setSortName(JDSearchFilter.SORTNAME_ORDER_COUNT_30DAYS);
|
| | | break;
|
| | | }
|
| | |
|
| | | if (!com.yeshi.fanli.util.StringUtil.isNullOrEmpty(filter)) {
|
| | | JSONArray array = JSONArray.fromObject(filter);
|
| | | for (int i = 0; i < array.size(); i++) {
|
| | | String ty = array.optJSONObject(i).optString("type");
|
| | | if ("quantype".equalsIgnoreCase(ty)) {
|
| | | jdfilter.setHasCoupon(1); // 有券
|
| | | if ("quantype".equalsIgnoreCase(ty)) {
|
| | | jdfilter.setHasCoupon(1); // 有券
|
| | | } else if ("zy".equalsIgnoreCase(ty)) {
|
| | | jdfilter.setIsZY(1); // 是否自营
|
| | | }
|
| | | }
|
| | | }
|
| | |
| | | if (pageEntity != null) {
|
| | | count = pageEntity.getTotalCount();
|
| | | }
|
| | | |
| | |
|
| | | List<JDGoods> goodsList = result.getGoodsList();
|
| | | if (goodsList != null && goodsList.size() > 0) {
|
| | | BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
|
| | | BigDecimal shareRate = hongBaoManageService.getShareRate();
|
| | | Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
|
| | | .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
|
| | | for (JDGoods goods: goodsList) {
|
| | | GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertJDGoods(goods, null, fanLiRate, shareRate);
|
| | | for (JDGoods goods : goodsList) {
|
| | | GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertJDGoods(goods, null, fanLiRate,
|
| | | shareRate);
|
| | | array.add(gson.toJson(goodsDetailVO));
|
| | | }
|
| | | }
|
| | | }
|
| | | |
| | |
|
| | | data.put("result", array);
|
| | | data.put("count", count);
|
| | | out.print(JsonUtil.loadTrueResult(data));
|
| | | }
|
| | |
|
| | | |
| | | /**
|
| | | * 京东
|
| | | * 京东
|
| | | *
|
| | | * @param kw
|
| | | * @param page
|
| | |
| | | * @param endprice
|
| | | * @return
|
| | | */
|
| | | private void searchPDDGoods(String kw, int page, String filter, String order, String startprice,
|
| | | String endprice, PrintWriter out) {
|
| | | private void searchPDDGoods(String kw, int page, String filter, String order, String startprice, String endprice,
|
| | | PrintWriter out) {
|
| | | PDDSearchFilter pddfilter = new PDDSearchFilter();
|
| | | pddfilter.setKw(SearchFilterUtil.filterSearchContent(kw));
|
| | | pddfilter.setPage(page);
|
| | |
| | | if (!StringUtil.isNullOrEmpty(order)) {
|
| | | sort = Integer.parseInt(order);
|
| | | }
|
| | | |
| | |
|
| | | switch (sort) {
|
| | | case 1: // 销量 desc
|
| | | pddfilter.setSortType(6);
|
| | | break;
|
| | | case 2: // 价格—desc
|
| | | pddfilter.setSortType(4);
|
| | | break;
|
| | | case 3: // 价格—asc
|
| | | pddfilter.setSortType(3);
|
| | | break;
|
| | | case 5: // 返利比—asc
|
| | | pddfilter.setSortType(2);
|
| | | break;
|
| | | case 6: // 返利比—asc
|
| | | pddfilter.setSortType(1);
|
| | | break;
|
| | | case 20: // 综合排序
|
| | | pddfilter.setSortType(0);
|
| | | break;
|
| | | default: // 默认:销量 desc
|
| | | pddfilter.setSortType(6);
|
| | | break;
|
| | | case 1: // 销量 desc
|
| | | pddfilter.setSortType(6);
|
| | | break;
|
| | | case 2: // 价格—desc
|
| | | pddfilter.setSortType(4);
|
| | | break;
|
| | | case 3: // 价格—asc
|
| | | pddfilter.setSortType(3);
|
| | | break;
|
| | | case 5: // 返利比—asc
|
| | | pddfilter.setSortType(2);
|
| | | break;
|
| | | case 6: // 返利比—asc
|
| | | pddfilter.setSortType(1);
|
| | | break;
|
| | | case 20: // 综合排序
|
| | | pddfilter.setSortType(0);
|
| | | break;
|
| | | default: // 默认:销量 desc
|
| | | // pddfilter.setSortType(6);
|
| | | break;
|
| | | }
|
| | | |
| | | |
| | |
|
| | | if (!com.yeshi.fanli.util.StringUtil.isNullOrEmpty(filter)) {
|
| | | JSONArray array = JSONArray.fromObject(filter);
|
| | | for (int i = 0; i < array.size(); i++) {
|
| | | String ty = array.optJSONObject(i).optString("type");
|
| | | if ("quantype".equalsIgnoreCase(ty)) {
|
| | | pddfilter.setHasCoupon(true); // 有券
|
| | | if ("quantype".equalsIgnoreCase(ty)) {
|
| | | pddfilter.setHasCoupon(true); // 有券
|
| | | } else if ("brand".equalsIgnoreCase(ty)) {
|
| | | pddfilter.setIsBrand(true); // 是否是品牌
|
| | | }
|
| | | }
|
| | | }
|
| | |
| | | int count = 0;
|
| | | JSONObject data = new JSONObject();
|
| | | JSONArray array = new JSONArray();
|
| | | |
| | |
|
| | | PDDGoodsResult result = PinDuoDuoApiUtil.searchGoods(pddfilter);
|
| | | if (result != null) {
|
| | | count = result.getTotalCount();
|
| | |
| | | BigDecimal shareRate = hongBaoManageService.getShareRate();
|
| | | Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
|
| | | .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
|
| | | for (PDDGoodsDetail goods: goodsList) {
|
| | | GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertPDDGoods(goods, null, fanLiRate, shareRate);
|
| | | for (PDDGoodsDetail goods : goodsList) {
|
| | | GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertPDDGoods(goods, null, fanLiRate,
|
| | | shareRate);
|
| | | array.add(gson.toJson(goodsDetailVO));
|
| | | }
|
| | | }
|
| | | }
|
| | | |
| | |
|
| | | data.put("result", array);
|
| | | data.put("count", count);
|
| | | out.print(JsonUtil.loadTrueResult(data));
|