yujian
2020-01-03 c9cbdfa41d645d42eeaa7e06d550d4ef8ac328e7
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RecommendControllerV2.java
@@ -46,11 +46,11 @@
import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
import com.yeshi.fanli.service.inter.pdd.PDDGoodsService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsUpdateService;
import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailService;
import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailV2Service;
import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsService;
import com.yeshi.fanli.tag.PageEntity;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.RedisKeyEnum;
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TaoBaoConstant;
@@ -96,9 +96,6 @@
   @Resource
   private QualityFlashSaleService qualityFlashSaleService;
   @Resource
   private DaTaoKeGoodsDetailService daTaoKeGoodsDetailService;
   @Resource
   private RecommendGoodsDeleteHistoryService recommendGoodsDeleteHistoryService;
@@ -149,7 +146,9 @@
         JSONObject root = specialService.listCacheSpecialToIndex(acceptData, deviceSex);
         // 2、顶部轮播图
         List<SwiperPicture> oldtopPicList = swiperPictureService.getByBannerCard("index_top");
         List<SwiperPicture> oldtopPicList = swiperPictureService.getByBannerCardAndVersion("index_top",
               acceptData.getPlatform(), Integer.parseInt(acceptData.getVersion()));
         List<SwiperPicture> topPicList = new ArrayList<>();
         if (oldtopPicList != null && oldtopPicList.size() > 0)
            topPicList.addAll(oldtopPicList);
@@ -162,7 +161,8 @@
               && configService.iosOnLining(Integer.parseInt(acceptData.getVersion()))) {
            // 如果IOS当前版本处于审核状态就不返回
         } else {
            invitePicList = swiperPictureService.getByBannerCard("index_invite");
            invitePicList = swiperPictureService.getByBannerCardAndVersion("index_invite", acceptData.getPlatform(),
                  Integer.parseInt(acceptData.getVersion()));
         }
         if (invitePicList == null) {
@@ -228,13 +228,15 @@
      long nextTime = nowTime + 1000 * 60 * 60L;// 默认为1小时
      if (nextPos < dtoList.size()) {
         nextTime = TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(nowTime, "yyyyMM") + dtoList.get(nextPos).getTime(),
               "yyyyMMddHH");
         nextTime = TimeUtil.convertToTimeTemp(
               TimeUtil.getGernalTime(nowTime, "yyyyMM") + dtoList.get(nextPos).getTime(), "yyyyMMddHH");
      }
      JSONArray array = null;
      String timekey = String.format("spikeGoods_hour_new-%s-%s", acceptData.getPlatform(), acceptData.getVersion());
      String cachekey = String.format("spikeGoodsList_new-%s-%s", acceptData.getPlatform(), acceptData.getVersion());
      String timekey = RedisKeyEnum.getRedisKey(RedisKeyEnum.spikeGoodsHourNew,acceptData.getPlatform() +"-"+acceptData.getVersion());
      String cachekey = RedisKeyEnum.getRedisKey(RedisKeyEnum.spikeGoodsListNew,acceptData.getPlatform() +"-"+acceptData.getVersion());
      Calendar nowCalendar = Calendar.getInstance();
      nowCalendar.setTimeInMillis(nowTime);
      int hour = nowCalendar.get(Calendar.HOUR_OF_DAY);
@@ -276,13 +278,15 @@
         /* 遍历列表数据 */
         ConfigParamsDTO configParamsDTO = hongBaoManageService.getShowComputeRate(acceptData.getPlatform(),
               acceptData.getVersion());
         for (DaTaoKeDetailV2 detail : listGoods) {
            TaoBaoGoodsBrief taoBaoGoodsBrief = TaoBaoUtil.convert(detail);
            if (taoBaoGoodsBrief == null) {
               continue;
            }
            GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief,
                  new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE,hongBaoManageService.getVIPFanLiRate()));
            GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, configParamsDTO);
            JSONObject params = new JSONObject();
            params.put("url", configService.get("spike_goods_link") + "?id=" + taoBaoGoodsBrief.getAuctionId());
@@ -357,8 +361,7 @@
      List<SpikeTimeVO> list = new ArrayList<SpikeTimeVO>();
      for (int i = 0; i < timeList.size(); i++) {
         SpikeTimeVO spikeTime1 = new SpikeTimeVO();
         spikeTime1.setTime(
                timeList.get(i).getTime().subSequence(2, 4)+":00");
         spikeTime1.setTime(timeList.get(i).getTime().subSequence(2, 4) + ":00");
         if (timeList.get(i).getState() <= 0)
            spikeTime1.setState("进行中");
         else
@@ -407,9 +410,8 @@
      Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
            .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
      if (detailList != null) {
         BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
         BigDecimal shareRate = hongBaoManageService.getShareRate();
         ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE,hongBaoManageService.getVIPFanLiRate());
         ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate(acceptData.getPlatform(),
               acceptData.getVersion());
         for (DaTaoKeDetailV2 detail : detailList) {
            array.add(gson.toJson(GoodsDetailVOFactory.convertTaoBao(TaoBaoUtil.convert(detail), paramsDTO)));
@@ -553,9 +555,8 @@
            }
         }
         BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
         BigDecimal shareRate = hongBaoManageService.getShareRate();
         ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE,hongBaoManageService.getVIPFanLiRate());
         ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate(acceptData.getPlatform(),
               acceptData.getVersion());
         for (TaoBaoGoodsBrief goods : goodsList) {
            GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(goods, paramsDTO);
@@ -573,7 +574,8 @@
            List<TLJBuyGoods> list = homeRecommendGoodsService.getZiGouLiJianHotGoods(acceptData.getDevice());
            if (list != null && list.size() > 0) {
               BigDecimal rateBuy = TaoBaoConstant.OWN_BUY_WITHOUT_FANLI_RATE;
               ConfigParamsDTO paramsBuy = new ConfigParamsDTO(rateBuy, rateBuy, Constant.MAX_REWARD_RATE,hongBaoManageService.getVIPFanLiRate());
               ConfigParamsDTO paramsBuy = new ConfigParamsDTO(rateBuy, rateBuy, Constant.MAX_REWARD_RATE,
                     hongBaoManageService.getVIPFanLiRate());
               for (int i = list.size() - 1; i >= 0; i--) {
                  TLJBuyGoods goods = list.get(i);
                  GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(goods.getGoods(), paramsBuy);
@@ -623,15 +625,14 @@
               // filter
               try {
                  gList = daTaoKeGoodsDetailService.filterTaoBaoGoods(gList);
                  gList = daTaoKeGoodsDetailV2Service.filterTaoBaoGoods(gList);
               } catch (Exception e) {
               }
               // 设备推荐
               if (gList != null) {
                  BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
                  BigDecimal shareRate = hongBaoManageService.getShareRate();
                  ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE,hongBaoManageService.getVIPFanLiRate());
                  ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate(acceptData.getPlatform(),
                        acceptData.getVersion());
                  for (TaoBaoGoodsBrief goods : gList) {
                     if (!StringUtil.isNullOrEmpty(goods.getCouponInfo()) && goods.getCouponAmount() != null
                           && goods.getCouponAmount().compareTo(new BigDecimal("5")) >= 0
@@ -666,10 +667,10 @@
               }
            }
         }
         JSONArray localArray = qualityGoodsService.getRecommendToIndexV2((page - 1) * pageSize, pageSize);
         JSONArray localArray = qualityGoodsService.getRecommendToIndexV2((page - 1) * pageSize, pageSize,acceptData.getPlatform(),acceptData.getVersion());
         array.addAll(localArray);
      } else {// 从精选库来
         array = qualityGoodsService.getRecommendToIndexV2((page - 1) * pageSize, pageSize);
         array = qualityGoodsService.getRecommendToIndexV2((page - 1) * pageSize, pageSize,acceptData.getPlatform(),acceptData.getVersion());
         if (array == null) {
            out.print(JsonUtil.loadFalseResult("没有更多了"));
            return;
@@ -702,9 +703,8 @@
         List<JDGoods> goodsList = result.getGoodsList();
         if (goodsList != null && goodsList.size() > 0) {
            BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
            BigDecimal shareRate = hongBaoManageService.getShareRate();
            ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE,hongBaoManageService.getVIPFanLiRate());
            ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate(acceptData.getPlatform(),
                  acceptData.getVersion());
            Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
                  .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
@@ -736,9 +736,8 @@
         Gson gson = JsonUtil.getApiCommonGson();
         List<PDDGoodsDetail> goodsList = result.getGoodsList();
         if (goodsList != null && goodsList.size() > 0) {
            BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
            BigDecimal shareRate = hongBaoManageService.getShareRate();
            ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE,hongBaoManageService.getVIPFanLiRate());
            ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate(acceptData.getPlatform(),
                  acceptData.getVersion());
            for (PDDGoodsDetail goods : goodsList) {
               GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertPDDGoods(goods, paramsDTO);
@@ -771,9 +770,8 @@
         JSONArray arrayKeys = JSONArray.fromObject(keys);
         if (arrayKeys != null && arrayKeys.size() > 0) {
            count = arrayKeys.size();
            BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
            BigDecimal shareRate = hongBaoManageService.getShareRate();
            ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE,hongBaoManageService.getVIPFanLiRate());
            ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate(acceptData.getPlatform(),
                  acceptData.getVersion());
            int j = 1;
            for (int i = (page - 1) * 3; i < arrayKeys.size(); i++) {