admin
2019-07-30 573c491b4a1ba60e12a5678a01c1546c0077c1ee
fanli/src/main/java/com/yeshi/fanli/service/impl/lable/TaoKeGoodsServiceImpl.java
@@ -9,11 +9,10 @@
import javax.annotation.Resource;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
import org.yeshi.utils.JsonUtil;
import org.yeshi.utils.taobao.TbImgUtil;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -31,8 +30,9 @@
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
import org.yeshi.utils.JsonUtil;
import org.yeshi.utils.taobao.TbImgUtil;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
@Service
public class TaoKeGoodsServiceImpl implements TaoKeGoodsService {
@@ -42,10 +42,9 @@
   @Resource
   private TaoBaoShopService taoBaoShopService;
   @Resource
   private QualityGoodsService qualityGoodsService;
   @Cacheable(value = "taoKeMaterialCache", key = "'listByMaterial-'+#materialId +'-'+#pageIndex")
   @Override
@@ -79,9 +78,7 @@
      Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
            .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
      Map<String, String> map = manageService.convertMap();
      String proportion = map.get("hongbao_goods_proportion");
      String fcRate = map.get("hongbao_fc_ratio");
      BigDecimal proportion = manageService.getFanLiRate();
      listGoods.parallelStream().forEach(taoBaoGoodsBrief -> {
@@ -119,8 +116,8 @@
            taoBaoGoodsBrief.setPictUrl(TbImgUtil.getTBSize320Img(pictUrl));
         }
         arrayGoods
               .add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion, fcRate, null)));
         arrayGoods.add(
               gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null)));
      });
@@ -208,9 +205,7 @@
      int fh = sf.getHongbao();
      boolean ft = sf.isTmall();
      Map<String, String> map = manageService.convertMap();
      String proportion = map.get("hongbao_goods_proportion");
      String fcRate = map.get("hongbao_fc_ratio");
      BigDecimal proportion = manageService.getFanLiRate();
      if (fq == 0 && fh == 0 && !ft) {
         if (result != null && result.getTaoBaoGoodsBriefs() != null)
@@ -221,7 +216,7 @@
               if (!StringUtil.isNullOrEmpty(startBiz30day)) {
                  int biz30day = Integer.parseInt(startBiz30day);
                  if (count < biz30day) {
                     break;
                     continue;
                  }
               }
@@ -229,10 +224,10 @@
                  double sales = count;
                  String salesCountMidea = String.format("%.1f", sales / 10000);
                  bf.setSalesCount(salesCountMidea + "万");
                  re.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(bf, proportion, fcRate, ""));
                  re.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(bf, proportion.toString(), ""));
               } else {
                  bf.setSalesCount(count + "");
                  re.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(bf, proportion, fcRate, ""));
                  re.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(bf, proportion.toString(), ""));
               }
            }
      } else {
@@ -254,13 +249,13 @@
                  double sales = count;
                  String salesCountMidea = String.format("%.1f", sales / 10000);
                  taoBaoGoodsBrief.setSalesCount(salesCountMidea + "万");
                  taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion,
                        fcRate, "");
                  taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief,
                        proportion.toString(), "");
                  re.add(taoBaoGoodsBriefExtra);
               } else {
                  taoBaoGoodsBrief.setSalesCount(count + "");
                  taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion,
                        fcRate, "");
                  taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief,
                        proportion.toString(), "");
                  re.add(taoBaoGoodsBriefExtra);
               }
            }
@@ -274,6 +269,8 @@
      return data;
   }
   @Override
   @Cacheable(value = "searchWuLiaoCache", key = "'searchWuLiaoList-'+#sf")
@@ -286,8 +283,7 @@
      return result.getTaoBaoGoodsBriefs();
   }
   @Override
   public JSONObject listByWuLiao(int page, String key, String cateIds, String filterParams, String order,
         String startprice, String endprice, String searchParam) {
@@ -418,9 +414,7 @@
      int fh = sf.getHongbao();
      boolean ft = sf.isTmall();
      Map<String, String> map = manageService.convertMap();
      String proportion = map.get("hongbao_goods_proportion");
      String fcRate = map.get("hongbao_fc_ratio");
      BigDecimal proportion = manageService.getFanLiRate();
      if (fq == 0 && fh == 0 && !ft) {
         if (result != null && result.getTaoBaoGoodsBriefs() != null)
@@ -430,10 +424,10 @@
                  double sales = count;
                  String salesCountMidea = String.format("%.1f", sales / 10000);
                  bf.setSalesCount(salesCountMidea + "万");
                  re.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(bf, proportion, fcRate, ""));
                  re.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(bf, proportion.toString(), ""));
               } else {
                  bf.setSalesCount(count + "");
                  re.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(bf, proportion, fcRate, ""));
                  re.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(bf, proportion.toString(), ""));
               }
            }
      } else {
@@ -445,13 +439,13 @@
                  double sales = count;
                  String salesCountMidea = String.format("%.1f", sales / 10000);
                  taoBaoGoodsBrief.setSalesCount(salesCountMidea + "万");
                  taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion,
                        fcRate, "");
                  taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief,
                        proportion.toString(), "");
                  re.add(taoBaoGoodsBriefExtra);
               } else {
                  taoBaoGoodsBrief.setSalesCount(count + "");
                  taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion,
                        fcRate, "");
                  taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief,
                        proportion.toString(), "");
                  re.add(taoBaoGoodsBriefExtra);
               }
            }
@@ -465,13 +459,11 @@
      return data;
   }
   @Override
   public void setSearchFilter(SearchFilter searchfilter, String filter, String order,
         String startprice, String endprice, String fastFilter, Integer totalSales) {
   @Override
   public void setSearchFilter(SearchFilter searchfilter, String filter, String order, String startprice,
         String endprice, String fastFilter, Integer totalSales) {
      if (!StringUtil.isNullOrEmpty(startprice)) {
         searchfilter.setStartPrice(new BigDecimal(startprice));
      }
@@ -512,8 +504,7 @@
            }
         }
      }
      if (!com.yeshi.fanli.util.StringUtil.isNullOrEmpty(order)) {
         if (Integer.parseInt(order) == 1 || Integer.parseInt(order) == 0) {
            searchfilter.setSort(TaoBaoUtil.SORT_SALE_HIGH_TO_LOW);
@@ -529,60 +520,55 @@
      } else {
         searchfilter.setSort(TaoBaoUtil.SORT_SALE_HIGH_TO_LOW);
      }
   }
   @Override
   @Cacheable(value = "qualityCache",key="'countByQuality-'+#start+'-'+#searchKey+'-'+#systemCid+'-'+#listLabId")
   public List<QualityFactory> queryByQuality(long start, int count,String searchKey, Long systemCid,
   @Cacheable(value = "qualityCache", key = "'countByQuality-'+#start+'-'+#searchKey+'-'+#systemCid+'-'+#listLabId")
   public List<QualityFactory> queryByQuality(long start, int count, String searchKey, Long systemCid,
         List<Long> listLabId) {
      /* 1、 精选库筛选 */
      List<QualityFactory> listQuality = null;
      if (listLabId != null && listLabId.size() > 0) {
         // 含标签
         listQuality = qualityGoodsService.listQueryByKeyAndlabIDs(start, count, searchKey,
               listLabId, null, systemCid, null, null, null, null, null);
      } else {
         listQuality = qualityGoodsService.listQueryByKey(start, count, searchKey, null,
         listQuality = qualityGoodsService.listQueryByKeyAndlabIDs(start, count, searchKey, listLabId, null,
               systemCid, null, null, null, null, null);
      } else {
         listQuality = qualityGoodsService.listQueryByKey(start, count, searchKey, null, systemCid, null, null, null,
               null, null);
      }
      return listQuality;
   }
   @Override
   @Cacheable(value = "qualityCache",key="'countByQuality-'+#searchKey+'-'+#systemCid+'-'+#listLabId")
   @Cacheable(value = "qualityCache", key = "'countByQuality-'+#searchKey+'-'+#systemCid+'-'+#listLabId")
   public long countByQuality(String searchKey, Long systemCid, List<Long> listLabId) {
      long incount = 0;
      if (listLabId != null && listLabId.size() > 0) {
         // 含标签
         incount = qualityGoodsService.countQueryKeyAndlabIDs(searchKey, listLabId, systemCid,
               null, null, null, null, null);
         incount = qualityGoodsService.countQueryKeyAndlabIDs(searchKey, listLabId, systemCid, null, null, null,
               null, null);
      } else {
         incount = qualityGoodsService.countQueryByKey(searchKey, systemCid, null, null, null, null, null);
      }
      return incount;
   }
   @Override
   public JSONObject listQualityGoods(List<QualityFactory> listQuality, List<TaoBaoGoodsBrief> searchWuLiaoList,
         Map<String, String> map ) {
   public JSONObject listQualityGoods(List<QualityFactory> listQuality, List<TaoBaoGoodsBrief> searchWuLiaoList,
         Map<String, String> map) {
      JSONArray array = new JSONArray();
      Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
            .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
      String proportion = map.get("hongbao_goods_proportion");
      String fcRate = map.get("hongbao_fc_ratio");
      BigDecimal proportion = manageService.getFanLiRate();
      /* 遍历列表数据 */
      for (QualityFactory selectionGoods : listQuality) {
@@ -602,7 +588,7 @@
            taoBaoGoodsBrief.setSalesCount(biz30day + "");
         }
         array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion, fcRate, null)));
         array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null)));
      }
      if (searchWuLiaoList != null && searchWuLiaoList.size() > 0) {
@@ -620,7 +606,7 @@
            }
            array.add(gson
                  .toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion, fcRate, null)));
                  .toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null)));
         }
      }
@@ -631,8 +617,8 @@
      data.put("nav", gsonBuilder.toJson(navList));
      data.put("count", 5000);
      data.put("result", array);
      return data;
   }
}