admin
2020-07-22 73a3d86a47d8da711b609cd224c63526f7d00f9b
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/SearchController.java
@@ -20,7 +20,7 @@
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.yeshi.fanli.dto.dataoke.DaTaoKeGoodsResult;
import com.yeshi.goods.facade.dto.taobao.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;
@@ -29,29 +29,28 @@
import com.yeshi.fanli.entity.system.ConfigKeyEnum;
import com.yeshi.fanli.entity.taobao.PidUser;
import com.yeshi.fanli.entity.taobao.SearchFilter;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBriefExtra;
import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBriefExtra;
import com.yeshi.fanli.entity.taobao.TaoBaoProvince;
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.entity.taobao.dataoke.DaTaoKeDetailV2;
import com.yeshi.goods.facade.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.HotSearchService;
import com.yeshi.fanli.service.inter.lable.QualityGoodsService;
import com.yeshi.fanli.service.inter.lable.TaoKeGoodsService;
import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoShopService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailV2Service;
import com.yeshi.goods.facade.service.DaTaoKeGoodsDetailV2Service;
import com.yeshi.fanli.service.inter.user.HistorySearchService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.EhcacheUtil;
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.goods.facade.utils.taobao.DaTaoKeApiUtil;
import com.yeshi.fanli.util.taobao.SearchFilterUtil;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.vo.brand.TaoBaoShopVO;
@@ -108,7 +107,7 @@
         goodsType = Constant.SOURCE_TYPE_TAOBAO;
      }
      
      List<HotSearch> list = hotSearchService.getHotSearchCache(goodsType);
      List<HotSearch> list = hotSearchService.getHotSearchCache(goodsType,acceptData.getSystem());
      if (list == null || list.size() == 0) {
         out.print(JsonUtil.loadFalseResult("没有数据"));
         return;
@@ -149,7 +148,7 @@
      data.put("nav", gson.toJson(navList));
      List<TaoBaoGoodsBriefExtra> re = new ArrayList<TaoBaoGoodsBriefExtra>();
      List<TaoBaoGoodsBrief> taoBaoGoodsBriefs = result.getTaoBaoGoodsBriefs();
      BigDecimal proportion = manageService.getFanLiRate();
      BigDecimal proportion = manageService.getFanLiRate(acceptData.getSystem());
      for (TaoBaoGoodsBrief bf : taoBaoGoodsBriefs) {
         re.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(bf, proportion.toString(), ""));
      }
@@ -174,7 +173,7 @@
      String bid = getHistorySearchBid(acceptData);
      historySearchService.addHistorySearch(kw, bid);
      BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
            acceptData.getPackages());
            acceptData.getPackages(),acceptData.getSystem());
      if (system == null) {
         out.print(JsonUtil.loadFalseResult("系统不存在"));
         return;
@@ -195,7 +194,7 @@
            filter = fastFilter;
         }
      }
      JSONObject data = search(kw, page, filter, order, startprice, endprice);
      JSONObject data = search(acceptData, kw, page, filter, order, startprice, endprice);
      out.print(JsonUtil.loadTrueResult(data));
   }
@@ -203,11 +202,11 @@
   public JSONObject searchClass(AcceptData acceptData, String kw, int page, String filter, String order,
         String startprice, String endprice, String md5) {
      java.lang.System.out.println("searchClass");
      JSONObject data = search(kw, page, filter, order, startprice, endprice);
      JSONObject data = search(acceptData, kw, page, filter, order, startprice, endprice);
      return data;
   }
   private JSONObject search(String kw, int page, String filter, String order, String startprice, String endprice) {
   private JSONObject search(AcceptData acceptData, String kw, int page, String filter, String order, String startprice, String endprice) {
      page = page + 1;
      SearchFilter sf = new SearchFilter();
@@ -307,7 +306,7 @@
         }
         sf.setParams(params);
      }
      TaoBaoSearchResult result = TaoBaoUtil.search(sf);
      TaoBaoSearchResult result = TaoBaoUtil.search(sf,null,null);
      if (result == null) {
         return null;
      }
@@ -323,7 +322,7 @@
      int fq = sf.getQuan();
      int fh = sf.getHongbao();
      boolean ft = sf.isTmall();
      BigDecimal proportion = manageService.getFanLiRate();
      BigDecimal proportion = manageService.getFanLiRate(acceptData.getSystem());
      if (fq == 0 && fh == 0 && !ft) {
         if (result != null && result.getTaoBaoGoodsBriefs() != null)
            for (TaoBaoGoodsBrief bf : result.getTaoBaoGoodsBriefs()) {
@@ -457,12 +456,12 @@
      JSONObject data = null;
      if (!recommend) {
         // 淘宝接口请求
         data = searchGoods(kw, page, filter, order, startprice, endprice,acceptData.getSystem());
         data = searchGoods(acceptData, kw, page, filter, order, startprice, endprice,acceptData.getSystem());
      } else {
         // 推荐:精选库
         // data = searchQualityGoods(kw, page, filter, order, startprice,
         // endprice);
         data = searchDaTaoKeGoods(kw, page, filter, order, startprice, endprice);
         data = searchDaTaoKeGoods(acceptData, kw, page, filter, order, startprice, endprice);
      }
      // 获取推荐词
@@ -474,7 +473,7 @@
            listRecommendWords = new ArrayList<String>();
         }
         List<TaoBaoShopVO> listShop =taoBaoShopService.getShopByKey(kw);
         List<TaoBaoShopVO> listShop =taoBaoShopService.getShopByKey(kw,acceptData.getSystem());
         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)));
@@ -499,7 +498,7 @@
    * @param endprice
    * @return
    */
   private JSONObject searchGoods(String kw, int page, String filter, String order, String startprice,
   private JSONObject searchGoods(AcceptData acceptData, String kw, int page, String filter, String order, String startprice,
         String endprice,SystemEnum system) {
      page = page + 1;
@@ -622,7 +621,7 @@
      if (page == 1)
         daTaoKeList = daTaoKeGoodsDetailV2Service.listByDtitle(kw);
      TaoBaoSearchResult result = TaoBaoUtil.search(sf);
      TaoBaoSearchResult result = TaoBaoUtil.search(sf,null,null);
      if (result == null) {
         return null;
      }
@@ -682,7 +681,7 @@
      int fq = sf.getQuan();
      int fh = sf.getHongbao();
      boolean ft = sf.isTmall();
      BigDecimal proportion = manageService.getFanLiRate();
      BigDecimal proportion = manageService.getFanLiRate(acceptData.getSystem());
      if (fq == 0 && fh == 0 && !ft) {
         if (result != null && taoBaoGoodsBriefs != null)
            for (TaoBaoGoodsBrief bf : taoBaoGoodsBriefs) {
@@ -735,7 +734,7 @@
    * @param endprice
    * @return
    */
   private JSONObject searchQualityGoods(String key, int page, String filter, String order, String startprice,
   private JSONObject searchQualityGoods(AcceptData acceptData, String key, int page, String filter, String order, String startprice,
                                String endprice, SystemEnum system) {
      Integer hasQuan = null;
@@ -873,7 +872,7 @@
            userType, start_Price, end_Price, startTkRate, endTkRate, sort);
      List<TaoBaoGoodsBriefExtra> listExtra = new ArrayList<TaoBaoGoodsBriefExtra>();
      BigDecimal proportion = manageService.getFanLiRate();
      BigDecimal proportion = manageService.getFanLiRate(acceptData.getSystem());
      /* 遍历列表数据 */
      if (listQuery != null && listQuery.size() > 0) {
         for (QualityFactory selectionGoods : listQuery) {
@@ -942,7 +941,7 @@
      return data;
   }
   private JSONObject searchDaTaoKeGoods(String key, int page, String filter, String order, String startprice,
   private JSONObject searchDaTaoKeGoods(AcceptData acceptData, String key, int page, String filter, String order, String startprice,
         String endprice) {
      page = page + 1;
      int sort = DaTaoKeApiUtil.SORT_DEFAULT;
@@ -957,7 +956,7 @@
      }
      List<TaoBaoGoodsBriefExtra> listExtra = new ArrayList<TaoBaoGoodsBriefExtra>();
      BigDecimal proportion = manageService.getFanLiRate();
      BigDecimal proportion = manageService.getFanLiRate(acceptData.getSystem());
      DaTaoKeGoodsResult result = DaTaoKeApiUtil.search(key, null, null, null, page, 20, sort);
      if (result != null && result.getGoodsList() != null)