yujian
2019-12-19 626d711cb15896055c13fe344eb7fcc824589715
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RecommendControllerV2.java
@@ -17,6 +17,7 @@
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.yeshi.fanli.dto.ConfigParamsDTO;
import com.yeshi.fanli.dto.dataoke.DingDongTime;
import com.yeshi.fanli.dto.jd.JDSearchResult;
import com.yeshi.fanli.dto.pdd.PDDGoodsDetail;
import com.yeshi.fanli.dto.pdd.PDDGoodsResult;
@@ -128,11 +129,9 @@
   @Resource
   private DaTaoKeGoodsService daTaoKeGoodsService;
   @Resource
   private HongBaoV2CountService hongBaoV2CountService;
   /**
    * 新版推荐专题管理(1.5.3)
@@ -150,7 +149,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);
@@ -163,7 +164,7 @@
               && 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) {
@@ -209,26 +210,27 @@
   private JSONObject getSpikeGoodsContent(AcceptData acceptData) {
      long nowTime = System.currentTimeMillis();
      Calendar calendar=   Calendar.getInstance();
      Calendar calendar = Calendar.getInstance();
      calendar.setTimeInMillis(nowTime);
      List<String> dtoList = DaTaoKeUtil.getDingDongQiangTime(calendar);
      List<DingDongTime> dtoList = DaTaoKeUtil.getDingDongQiangTime(calendar);
      int dateNum = Integer.parseInt(TimeUtil.getGernalTime(nowTime, "ddHH"));
      String timeStr = null;
      int nextPos = 0;
      for (int i = 0; i < dtoList.size() - 1; i++) {
         if (dateNum >= Integer.parseInt(dtoList.get(i)) && dateNum < Integer.parseInt(dtoList.get(i + 1))) {
            timeStr = dtoList.get(i);
         if (dateNum >= Integer.parseInt(dtoList.get(i).getTime())
               && dateNum < Integer.parseInt(dtoList.get(i + 1).getTime())) {
            timeStr = dtoList.get(i).getTime();
            nextPos = i + 1;
            break;
         }
      }
      if (timeStr == null)
         timeStr = dtoList.get(dtoList.size() - 1);
         timeStr = dtoList.get(dtoList.size() - 1).getTime();
      long nextTime = nowTime + 1000 * 60 * 60L;// 默认为1小时
      if (nextPos < dtoList.size()) {
         nextTime = TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(nowTime, "yyyyMM") + dtoList.get(nextPos),
         nextTime = TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(nowTime, "yyyyMM") + dtoList.get(nextPos).getTime(),
               "yyyyMMddHH");
      }
@@ -250,13 +252,12 @@
      }
      JumpDetailV2 jumpDetail = null;
      if(VersionUtil.greaterThan_2_0_2(acceptData.getPlatform(), acceptData.getVersion())) {
      if (VersionUtil.greaterThan_2_0_2(acceptData.getPlatform(), acceptData.getVersion())) {
         jumpDetail = jumpDetailV2Service.getByTypeCache("spike_goods_list");
      } else {
         jumpDetail = jumpDetailV2Service.getByTypeCache("web");
      }
      if (array == null) {
         array = new JSONArray();
@@ -282,7 +283,8 @@
            if (taoBaoGoodsBrief == null) {
               continue;
            }
            GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE));
            GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief,
                  new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE,hongBaoManageService.getVIPFanLiRate()));
            JSONObject params = new JSONObject();
            params.put("url", configService.get("spike_goods_link") + "?id=" + taoBaoGoodsBrief.getAuctionId());
@@ -342,10 +344,9 @@
      return root;
   }
   /**
    * 限时秒杀列表
    *
    * @param acceptData
    * @param page
    * @param auctionId
@@ -354,76 +355,31 @@
    */
   @RequestMapping("getSpikTime")
   public void getSpikTime(AcceptData acceptData, PrintWriter out) {
      List<DingDongTime> timeList = DaTaoKeUtil.getDingDongQiangTime(Calendar.getInstance());
      List<SpikeTimeVO> list = new ArrayList<SpikeTimeVO>();
      SpikeTimeVO spikeTime0 = new SpikeTimeVO();
      spikeTime0.setTime("00:00");
      spikeTime0.setState("进行中");
      spikeTime0.setRequestTime("2400");
      SpikeTimeVO spikeTime1 = new SpikeTimeVO();
      spikeTime1.setTime("08:00");
      spikeTime1.setState("进行中");
      spikeTime1.setRequestTime("2408");
      SpikeTimeVO spikeTime2 = new SpikeTimeVO();
      spikeTime2.setTime("10:00");
      spikeTime2.setState("进行中");
      spikeTime2.setChecked(true);
      spikeTime2.setRequestTime("2410");
      SpikeTimeVO spikeTime3 = new SpikeTimeVO();
      spikeTime3.setTime("13:00");
      spikeTime3.setState("即将开始");
      spikeTime3.setRequestTime("2413");
      SpikeTimeVO spikeTime4 = new SpikeTimeVO();
      spikeTime4.setTime("15:00");
      spikeTime4.setState("即将开始");
      spikeTime4.setRequestTime("2415");
      SpikeTimeVO spikeTime5 = new SpikeTimeVO();
      spikeTime5.setTime("17:00");
      spikeTime5.setState("即将开始");
      spikeTime5.setRequestTime("2417");
      SpikeTimeVO spikeTime6 = new SpikeTimeVO();
      spikeTime6.setTime("19:00");
      spikeTime6.setState("即将开始");
      spikeTime6.setRequestTime("2419");
      SpikeTimeVO spikeTime7 = new SpikeTimeVO();
      spikeTime7.setTime("20:00");
      spikeTime7.setState("即将开始");
      spikeTime7.setRequestTime("2420");
      SpikeTimeVO spikeTime8 = new SpikeTimeVO();
      spikeTime8.setTime("21:00");
      spikeTime8.setState("即将开始");
      spikeTime8.setRequestTime("2421");
      list.add(spikeTime0);
      list.add(spikeTime1);
      list.add(spikeTime2);
      list.add(spikeTime3);
      list.add(spikeTime4);
      list.add(spikeTime5);
      list.add(spikeTime6);
      list.add(spikeTime7);
      list.add(spikeTime8);
      for (int i = 0; i < timeList.size(); i++) {
         SpikeTimeVO spikeTime1 = new SpikeTimeVO();
         spikeTime1.setTime(
                timeList.get(i).getTime().subSequence(2, 4)+":00");
         if (timeList.get(i).getState() <= 0)
            spikeTime1.setState("进行中");
         else
            spikeTime1.setState("即将开始");
         if (timeList.get(i).getState() == 0)
            spikeTime1.setChecked(true);
         spikeTime1.setRequestTime(timeList.get(i).getTime());
         list.add(spikeTime1);
      }
      JSONObject data = new JSONObject();
      data.put("count", list.size());
      data.put("list", list);
      out.print(JsonUtil.loadTrueResult(data));
      out.print(JsonUtil.loadTrueResult(data));
   }
   /**
    * 限时秒杀列表
    *
    * @param acceptData
    * @param page
    * @param auctionId
@@ -435,7 +391,7 @@
      List<DaTaoKeDetailV2> detailList0 = daTaoKeGoodsDetailV2Service.getDingDongQiangData(qtime);
      if (detailList0 == null)
         detailList0 = new ArrayList<>();
      List<DaTaoKeDetailV2> detailList = new ArrayList<>();
      detailList.addAll(detailList0);
      JSONArray array = new JSONArray();
@@ -449,13 +405,13 @@
            }
         }
      }
      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);
         ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE,hongBaoManageService.getVIPFanLiRate());
         for (DaTaoKeDetailV2 detail : detailList) {
            array.add(gson.toJson(GoodsDetailVOFactory.convertTaoBao(TaoBaoUtil.convert(detail), paramsDTO)));
@@ -465,12 +421,9 @@
      JSONObject data = new JSONObject();
      data.put("count", detailList.size());
      data.put("list", array);
      out.print(JsonUtil.loadTrueResult(data));
      out.print(JsonUtil.loadTrueResult(data));
   }
   /**
    * 金币兑换信息
    * 
@@ -604,7 +557,7 @@
         BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
         BigDecimal shareRate = hongBaoManageService.getShareRate();
          ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE);
         ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE,hongBaoManageService.getVIPFanLiRate());
         for (TaoBaoGoodsBrief goods : goodsList) {
            GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(goods, paramsDTO);
@@ -622,7 +575,7 @@
            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);
               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);
@@ -680,7 +633,7 @@
               if (gList != null) {
                  BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
                  BigDecimal shareRate = hongBaoManageService.getShareRate();
                   ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE);
                  ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE,hongBaoManageService.getVIPFanLiRate());
                  for (TaoBaoGoodsBrief goods : gList) {
                     if (!StringUtil.isNullOrEmpty(goods.getCouponInfo()) && goods.getCouponAmount() != null
                           && goods.getCouponAmount().compareTo(new BigDecimal("5")) >= 0
@@ -753,7 +706,7 @@
         if (goodsList != null && goodsList.size() > 0) {
            BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
            BigDecimal shareRate = hongBaoManageService.getShareRate();
             ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE);
            ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE,hongBaoManageService.getVIPFanLiRate());
            Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
                  .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
@@ -787,7 +740,7 @@
         if (goodsList != null && goodsList.size() > 0) {
            BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
            BigDecimal shareRate = hongBaoManageService.getShareRate();
             ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE);
            ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE,hongBaoManageService.getVIPFanLiRate());
            for (PDDGoodsDetail goods : goodsList) {
               GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertPDDGoods(goods, paramsDTO);
@@ -822,7 +775,7 @@
            count = arrayKeys.size();
            BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
            BigDecimal shareRate = hongBaoManageService.getShareRate();
             ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE);
            ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE,hongBaoManageService.getVIPFanLiRate());
            int j = 1;
            for (int i = (page - 1) * 3; i < arrayKeys.size(); i++) {
@@ -835,7 +788,8 @@
               List<DaTaoKeDetailV2> listTaoKe = daTaoKeGoodsService.getSearchDiscoveryGoods(words);
               if (listTaoKe != null && listTaoKe.size() > 0) {
                  for (DaTaoKeDetailV2 daTaoKeDetailV2 : listTaoKe) {
                     listGoods.add(GoodsDetailVOFactory.convertTaoBao(TaoBaoUtil.convert(daTaoKeDetailV2), paramsDTO));
                     listGoods.add(
                           GoodsDetailVOFactory.convertTaoBao(TaoBaoUtil.convert(daTaoKeDetailV2), paramsDTO));
                     if (listGoods.size() >= 3)
                        break;
                  }
@@ -889,7 +843,7 @@
               special.setTimeTask(true);
            else
               special.setTimeTask(false);
            if (special.isTimeTask()) {
               if (time < special.getStartTime().getTime() || time > special.getEndTime().getTime()) {
                  list.remove(i--);
@@ -912,7 +866,6 @@
         out.print(JsonUtil.loadTrueResult(data));
   }
   /**
    * 获取专题渠道活动
    * 
@@ -940,14 +893,14 @@
         } else {
            // 赚钱版
            tips = configService.get("tip_guide_share_invite");
         }
         }
      }
      if (StringUtil.isNullOrEmpty(tips)) {
         out.print(JsonUtil.loadFalseResult("暂无提示"));
         return;
      }
      JSONObject data = JSONObject.fromObject(tips);
      out.print(JsonUtil.loadTrueResult(data));
   }