yujian
2019-10-28 31e26f7d023a651c18fa3a0e69fc637a2189ba8a
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RecommendControllerV2.java
@@ -31,16 +31,17 @@
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.common.JumpDetailV2Service;
import com.yeshi.fanli.service.inter.config.ConfigService;
import com.yeshi.fanli.service.inter.count.HongBaoV2CountService;
import com.yeshi.fanli.service.inter.goods.recommend.HomeRecommendGoodsService;
import com.yeshi.fanli.service.inter.goods.recommend.RecommendGoodsDeleteHistoryService;
import com.yeshi.fanli.service.inter.homemodule.DeviceSexService;
import com.yeshi.fanli.service.inter.homemodule.SpecialService;
import com.yeshi.fanli.service.inter.homemodule.SwiperPictureService;
import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
import com.yeshi.fanli.service.inter.jd.JDGoodsService;
import com.yeshi.fanli.service.inter.lable.QualityFlashSaleService;
import com.yeshi.fanli.service.inter.lable.QualityGoodsService;
import com.yeshi.fanli.service.inter.monitor.MonitorService;
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;
@@ -60,6 +61,7 @@
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
import com.yeshi.fanli.vo.goods.GoodsDetailVO;
import com.yeshi.fanli.vo.goods.OtherInfo;
import com.yeshi.fanli.vo.goods.SpikeTimeVO;
import com.yeshi.fanli.vo.msg.ClientTextStyleVO;
import com.yeshi.fanli.vo.search.SearchKeyTOPVO;
import com.yeshi.fanli.vo.search.SearchKeyVO;
@@ -125,6 +127,11 @@
   @Resource
   private DaTaoKeGoodsService daTaoKeGoodsService;
   @Resource
   private HongBaoV2CountService hongBaoV2CountService;
   /**
    * 新版推荐专题管理(1.5.3)
@@ -173,7 +180,7 @@
         if (VersionUtil.greaterThan_1_6_5(acceptData.getPlatform(), acceptData.getVersion()))
            root.put("scoreExchange", getScoreExchangeInfo(acceptData));
         if (VersionUtil.greaterThan_2_0_0(acceptData.getPlatform(), acceptData.getVersion()))
         if (VersionUtil.greaterThan_2_0(acceptData.getPlatform(), acceptData.getVersion()))
            root.put("searchDiscovery", getSearchDiscoveryInfo(acceptData));
         out.print(JsonUtil.loadTrueResult(root));
@@ -200,8 +207,10 @@
   }
   private JSONObject getSpikeGoodsContent(AcceptData acceptData) {
      List<String> dtoList = DaTaoKeUtil.getDingDongQiangTime();
      long nowTime = System.currentTimeMillis();
      Calendar calendar=   Calendar.getInstance();
      calendar.setTimeInMillis(nowTime);
      List<String> dtoList = DaTaoKeUtil.getDingDongQiangTime(calendar);
      int dateNum = Integer.parseInt(TimeUtil.getGernalTime(nowTime, "ddHH"));
      String timeStr = null;
      int nextPos = 0;
@@ -212,6 +221,7 @@
            break;
         }
      }
      if (timeStr == null)
         timeStr = dtoList.get(dtoList.size() - 1);
@@ -238,7 +248,14 @@
         }
      }
      JumpDetailV2 jumpDetail = jumpDetailV2Service.getByTypeCache("web");
      JumpDetailV2 jumpDetail = null;
      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();
@@ -325,6 +342,100 @@
      return root;
   }
   /**
    * 限时秒杀列表
    * @param acceptData
    * @param page
    * @param auctionId
    * @param time
    * @param out
    */
   @RequestMapping("getSpikTime")
   public void getSpikTime(AcceptData acceptData, PrintWriter out) {
      List<SpikeTimeVO> list = new ArrayList<SpikeTimeVO>();
      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");
      list.add(spikeTime1);
      list.add(spikeTime2);
      list.add(spikeTime3);
      list.add(spikeTime4);
      JSONObject data = new JSONObject();
      data.put("count", list.size());
      data.put("list", list);
      out.print(JsonUtil.loadTrueResult(data));
   }
   /**
    * 限时秒杀列表
    * @param acceptData
    * @param page
    * @param auctionId
    * @param time
    * @param out
    */
   @RequestMapping("getSpikeGoodsList")
   public void getSpikeGoodsList(AcceptData acceptData, Integer page, Long goodsId, String qtime, PrintWriter out) {
      List<DaTaoKeDetailV2> detailList0 = daTaoKeGoodsDetailV2Service.getDingDongQiangData(qtime);
      if (detailList0 == null)
         detailList0 = new ArrayList<>();
      List<DaTaoKeDetailV2> detailList = new ArrayList<>();
      detailList.addAll(detailList0);
      JSONArray array = new JSONArray();
      if (page == 1 && goodsId != null && detailList != null) {
         for (int i = 0; i < detailList.size(); i++) {
            if (detailList.get(i).getGoodsId().longValue() == goodsId) {
               DaTaoKeDetailV2 goods = detailList.get(i);
               detailList.remove(i);
               detailList.add(0, goods);
               break;
            }
         }
      }
      Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
            .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
      if (detailList != null) {
         BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
         BigDecimal shareRate = hongBaoManageService.getShareRate();
         for (DaTaoKeDetailV2 detail : detailList) {
            array.add(gson.toJson(GoodsDetailVOFactory.convertTaoBao(TaoBaoUtil.convert(detail), null, fanLiRate, shareRate)));
         }
      }
      JSONObject data = new JSONObject();
      data.put("count", detailList.size());
      data.put("list", array);
      out.print(JsonUtil.loadTrueResult(data));
   }
   /**
    * 金币兑换信息
    * 
@@ -364,7 +475,7 @@
         for (int i = 0; i < arrayKeys.size(); i++) {
            String name = arrayKeys.get(i).toString();
            JSONObject params = new JSONObject();
            params.put("searchKey", name);
            params.put("content", name);
            SearchKeyVO keyVO = new SearchKeyVO();
            keyVO.setName(name);
@@ -761,4 +872,44 @@
         out.print(JsonUtil.loadTrueResult(data));
   }
   /**
    * 获取专题渠道活动
    *
    * @param acceptData
    * @param uid
    * @param callback
    * @param out
    */
   @RequestMapping(value = "getGuide")
   public void getGuide(AcceptData acceptData, Long uid, PrintWriter out) {
      String tips = null;
      if (uid == null || uid <= 0) {
         tips = configService.get("tip_guide_new_user");
      } else {
         long rebateOrder = hongBaoV2CountService.countRebateOrder(uid);
         long shareOrInviteOrder = hongBaoV2CountService.countShareOrInviteOrder(uid);
         if (rebateOrder + shareOrInviteOrder >= 3) {
            // 熟客版
         } else if (rebateOrder <= 0 && shareOrInviteOrder <= 0) {
            // 新人版
            tips = configService.get("tip_guide_new_user");
         } else if (rebateOrder > 0 && shareOrInviteOrder <= 0) {
            // 省钱版
            tips = configService.get("tip_guide_save_money");
         } 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));
   }
}