yujian
2019-06-11 aba5dee7a341ecb60fe02f088684aa982ac037f9
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/SearchController.java
@@ -15,10 +15,12 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.yeshi.utils.JsonUtil;
import org.yeshi.utils.taobao.TaoBaoAuthUtil;
import org.yeshi.utils.taobao.TbImgUtil;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.yeshi.fanli.dto.dataoke.DaTaoKeGoodsResult;
import com.yeshi.fanli.entity.accept.AcceptData;
import com.yeshi.fanli.entity.bus.lable.QualityFactory;
import com.yeshi.fanli.entity.bus.recommend.Honest;
@@ -34,6 +36,7 @@
import com.yeshi.fanli.entity.taobao.TaoBaoSearchResult;
import com.yeshi.fanli.entity.taobao.TaoBaoUnionConfig;
import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetail;
import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetailV2;
import com.yeshi.fanli.service.inter.config.BusinessSystemService;
import com.yeshi.fanli.service.inter.config.ConfigService;
import com.yeshi.fanli.service.inter.config.SuperHotSearchService;
@@ -49,6 +52,7 @@
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.ThreadUtil;
import com.yeshi.fanli.util.cache.TaoBaoGoodsCacheUtil;
import com.yeshi.fanli.util.dataoke.DaTaoKeApiUtil;
import com.yeshi.fanli.util.taobao.SearchFilterUtil;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.vo.brand.TaoBaoShopVO;
@@ -460,7 +464,9 @@
         data = searchGoods(kw, page, filter, order, startprice, endprice);
      } else {
         // 推荐:精选库
         data = searchQualityGoods(kw, page, filter, order, startprice, endprice);
         // data = searchQualityGoods(kw, page, filter, order, startprice,
         // endprice);
         data = searchDaTaoKeGoods(kw, page, filter, order, startprice, endprice);
      }
      // 获取推荐词
@@ -670,7 +676,7 @@
         if (daTaoKeList != null && daTaoKeList.size() > 0) {
            Collections.reverse(daTaoKeList);
            for (DaTaoKeDetail detail : daTaoKeList) {
               taoBaoGoodsBriefs.add(0,TaoBaoUtil.convert(detail));
               taoBaoGoodsBriefs.add(0, TaoBaoUtil.convert(detail));
            }
         }
      } catch (Exception e) {
@@ -939,6 +945,43 @@
      return data;
   }
   private JSONObject searchDaTaoKeGoods(String key, int page, String filter, String order, String startprice,
         String endprice) {
      page=page+1;
      int sort = DaTaoKeApiUtil.SORT_DEFAULT;
      if ("5".equalsIgnoreCase(order)) {
         sort = DaTaoKeApiUtil.SORT_COMMISSION;
      } else if ("1".equalsIgnoreCase(order)) {
         sort = DaTaoKeApiUtil.SORT_SALES;
      } else if ("2".equalsIgnoreCase(order)) {
         sort = DaTaoKeApiUtil.SORT_PRICE_HIGH_TO_LOW;
      } else if ("3".equalsIgnoreCase(order)) {
         sort = DaTaoKeApiUtil.SORT_PRICE_LOW_TO_HIGH;
      }
      List<TaoBaoGoodsBriefExtra> listExtra = new ArrayList<TaoBaoGoodsBriefExtra>();
      BigDecimal proportion = manageService.getFanLiRate();
      DaTaoKeGoodsResult result = DaTaoKeApiUtil.search(key, null, page, 20, sort);
      if (result != null && result.getGoodsList() != null)
         for (DaTaoKeDetailV2 goods : result.getGoodsList()) {
            listExtra.add(
                  TaoBaoUtil.getTaoBaoGoodsBriefExtra(TaoBaoUtil.convert(goods), proportion.toString(), null));
         }
      List<TaoBaoSearchNav> navList = new ArrayList<>();
      Gson gson = new GsonBuilder().create();
      Gson gson2 = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
            .excludeFieldsWithoutExposeAnnotation().create();
      JSONObject data = new JSONObject();
      data.put("nav", gson.toJson(navList));
      data.put("result", gson2.toJson(listExtra));
      data.put("count", result.getTotalCount());
      return data;
   }
   /**
    * 设置查询佣金比例范围
    *