admin
2020-05-19 744594ef1a2f530fc3e86ea9dc48b62247f79420
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/GoodsClassControllerV2.java
@@ -1,7 +1,6 @@
package com.yeshi.fanli.controller.client.v2;
import java.io.PrintWriter;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
@@ -15,6 +14,7 @@
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.yeshi.fanli.dto.ConfigParamsDTO;
import com.yeshi.fanli.entity.accept.AcceptData;
import com.yeshi.fanli.entity.bus.clazz.GoodsClass;
import com.yeshi.fanli.entity.bus.clazz.GoodsSubClass;
@@ -28,10 +28,11 @@
import com.yeshi.fanli.service.inter.goods.GoodsClassService;
import com.yeshi.fanli.service.inter.goods.GoodsSubClassService;
import com.yeshi.fanli.service.inter.goods.TaoBaoClassService;
import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
import com.yeshi.fanli.service.inter.lable.LabelClassService;
import com.yeshi.fanli.service.inter.lable.QualityGoodsService;
import com.yeshi.fanli.service.inter.lable.TaoKeGoodsService;
import com.yeshi.fanli.service.inter.order.OrderHongBaoMoneyComputeService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsUpdateService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory;
@@ -68,10 +69,13 @@
   private TaoBaoClassService taoBaoClassService;
   @Resource
   private HongBaoManageService hongBaoManageService;
   private OrderHongBaoMoneyComputeService orderHongBaoMoneyComputeService;
   @Resource
   private LabelClassService labelClassService;
   @Resource
   private TaoBaoGoodsUpdateService taoBaoGoodsUpdateService;
   /**
    * 一级分类
@@ -135,8 +139,10 @@
      // 总条数
      long counttotal = 5000;
      // 精选库数据为空时,网络进行查询
      if (listQuery == null || listQuery.size() == 0) {
      List<TaoBaoGoodsBrief> updateGoodsList = new ArrayList<>();
      // 精选库数据小于10时,网络进行查询
      if (listQuery == null || listQuery.size() < 10) {
         long count = qualityGoodsService.countQueryClassId(gcid);
         int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
         page = page - totalPage;
@@ -161,7 +167,7 @@
         filter.setPageSize(pageSize);
         filter.setCateIds(taoBaoCatIds);
         JSONObject result = taoKeGoodsService.searchWuLiaoV2(filter);
         JSONObject result = taoKeGoodsService.searchWuLiaoV2(filter,acceptData.getPlatform(),acceptData.getVersion());
         out.print(JsonUtil.loadTrueResult(result));
         return;
      }
@@ -169,9 +175,9 @@
      Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
            .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
      BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
      BigDecimal shareRate = hongBaoManageService.getShareRate();
      ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(),
            acceptData.getVersion());
      // 精选库数据
      JSONArray array = new JSONArray();
      for (QualityFactory selectionGoods : listQuery) {
@@ -179,8 +185,8 @@
         if (taoBaoGoodsBrief == null) {
            continue;
         }
         GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, null, fanLiRate,
               shareRate);
         updateGoodsList.add(taoBaoGoodsBrief);
         GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, paramsDTO);
         array.add(gson.toJson(goodsDetailVO));
      }
@@ -189,6 +195,10 @@
      data.put("count", counttotal);
      data.put("result", array);
      out.print(JsonUtil.loadTrueResult(data));
      try {
         taoBaoGoodsUpdateService.addUpdateQueueAsync(updateGoodsList);
      } catch (Exception e) {
      }
   }
   /**
@@ -198,15 +208,19 @@
    * @param page
    * @param scid
    * @param filter
    * @param order      来源:【推荐:0 | 综合:4 、综合只看有券 1 、综合只看天猫 1 | 价格:低到高3 高到低2 | 销量:1】
    *                   排序值:【销量由高到低: 1 ; 销量由低到高 5; 价格从高到低: 2 ; 价格从低到高:3 ; 推广量高到低:4
    *                   ; 其他默认: 销量由高到低】
    * @param order
    *            来源:【推荐:0 | 综合:4 、综合只看有券 1 、综合只看天猫 1 | 价格:低到高3 高到低2 | 销量:1】
    *            排序值:【销量由高到低: 1 ; 销量由低到高 5; 价格从高到低: 2 ; 价格从低到高:3 ; 推广量高到低:4 ;
    *            其他默认: 销量由高到低】
    * 
    * @param startprice 起始价格
    * @param endprice   结束价格
    * @param fastFilter fastFilter 有券 [{"type":"quantype"}] 天猫商品
    *                   [{"type":"shoptype"}]
    * @param totalSales 销量以上
    * @param startprice
    *            起始价格
    * @param endprice
    *            结束价格
    * @param fastFilter
    *            fastFilter 有券 [{"type":"quantype"}] 天猫商品 [{"type":"shoptype"}]
    * @param totalSales
    *            销量以上
    * @param out
    */
   @RequestMapping(value = "getSubGoods", method = RequestMethod.POST)
@@ -236,9 +250,9 @@
         if (catesId.endsWith(","))
            catesId = catesId.substring(0, catesId.length() - 1);
         sf.setCateIds(catesId);
         // 按分类名称搜索
         if (!StringUtil.isNullOrEmpty(catesId))   {
         if (!StringUtil.isNullOrEmpty(catesId)) {
            String searchParam = goodsSubClass.getSearchJson();
            Gson gs = new Gson();
            SearchFilter searchfilter = gs.fromJson(searchParam, SearchFilter.class);
@@ -251,7 +265,6 @@
                  totalSales);
            TaoBaoSearchResult searchResult = TaoKeApiUtil.searchWuLiao(searchfilter);
            long count = searchResult.getPageEntity().getTotalCount();
            List<TaoBaoGoodsBrief> resultGoodsList = searchResult.getTaoBaoGoodsBriefs();
            // 查询是否超过了最大的商品数
@@ -272,19 +285,19 @@
                     resultGoodsList.addAll(resultListTemp);
               }
            }
            Gson gson2 = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
                  .excludeFieldsWithoutExposeAnnotation().create();
            JSONArray array = new JSONArray();
            BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
            BigDecimal shareRate = hongBaoManageService.getShareRate();
            if (resultGoodsList != null)
            if (resultGoodsList != null) {
               ConfigParamsDTO paramsDTO =  orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(),
                     acceptData.getVersion());
               for (TaoBaoGoodsBrief goods : resultGoodsList) {
                  GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertTaoBao(goods, null, fanLiRate, shareRate);
                  GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertTaoBao(goods, paramsDTO);
                  array.add(gson2.toJson(goodsDetailVO));
               }
            }
            JSONObject result = new JSONObject();
            result.put("result", array);
            result.put("count", result.optLong("count") + count);
@@ -302,8 +315,8 @@
            searchfilter.setKey(goodsSubClass.getKey());
            taoKeGoodsService.setSearchFilter(searchfilter, filter, order, startprice, endprice, fastFilter,
                  totalSales);
            JSONObject result = taoKeGoodsService.searchWuLiaoV2(searchfilter);
            JSONObject result = taoKeGoodsService.searchWuLiaoV2(searchfilter,acceptData.getPlatform(),acceptData.getVersion());
            out.print(JsonUtil.loadTrueResult(result));
            return;
         }