From 29d2c5213efa8f8e831e4f67822cd48bcc9e2f8a Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 22 八月 2019 16:51:56 +0800 Subject: [PATCH] 限时秒杀数据更改 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RecommendControllerV2.java | 77 +++++++++++++++++++------------------- 1 files changed, 38 insertions(+), 39 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RecommendControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RecommendControllerV2.java index 332a6db..b7b968e 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RecommendControllerV2.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RecommendControllerV2.java @@ -21,12 +21,12 @@ import com.yeshi.fanli.dto.pdd.PDDGoodsResult; import com.yeshi.fanli.entity.accept.AcceptData; import com.yeshi.fanli.entity.bus.homemodule.SwiperPicture; -import com.yeshi.fanli.entity.bus.lable.QualityFactory; import com.yeshi.fanli.entity.common.JumpDetailV2; import com.yeshi.fanli.entity.jd.JDGoods; import com.yeshi.fanli.entity.taobao.TLJBuyGoods; import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief; import com.yeshi.fanli.entity.taobao.TaoBaoSearchResult; +import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetailV2; import com.yeshi.fanli.log.LogHelper; import com.yeshi.fanli.service.inter.common.JumpDetailV2Service; import com.yeshi.fanli.service.inter.config.ConfigService; @@ -43,11 +43,13 @@ 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.tag.PageEntity; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.RedisManager; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.TaoBaoConstant; +import com.yeshi.fanli.util.TimeUtil; import com.yeshi.fanli.util.VersionUtil; import com.yeshi.fanli.util.factory.MonitorFactory; import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory; @@ -112,6 +114,9 @@ @Resource private TaoBaoGoodsUpdateService taoBaoGoodsUpdateService; + + @Resource + private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service; /** * 鏂扮増鎺ㄨ崘涓撻绠$悊(1.5.3) @@ -187,44 +192,31 @@ } private JSONObject getSpikeGoodsContent(AcceptData acceptData) { - // 涓嬩竴娆″�掕鏃剁殑鏃堕棿 - int type = qualityFlashSaleService.getNowType() + 1; - int hour = 0; - switch (type) { - case 1: - hour = 0; - break; - case 2: - hour = 9; - break; - case 3: - hour = 12; - break; - case 4: - hour = 14; - break; - case 5: - hour = 16; - break; - case 6: - hour = 20; - break; - case 7: - hour = 22; - break; - default: - break; + List<String> dtoList = daTaoKeGoodsDetailV2Service.getDingDongQiangTime(); + long nowTime = System.currentTimeMillis(); + int dateNum = Integer.parseInt(TimeUtil.getGernalTime(nowTime, "ddHH")); + String timeStr = null; + int nextPos = 0; + for (int i = 0; i < dtoList.size(); i++) { + if (dateNum <= Integer.parseInt(dtoList.get(i))) { + timeStr = dtoList.get(i); + nextPos = i + 1; + break; + } } - Calendar nextTime = Calendar.getInstance(); - nextTime.set(Calendar.HOUR_OF_DAY, hour); - nextTime.set(Calendar.MINUTE, 0); - nextTime.set(Calendar.SECOND, 0); - nextTime.set(Calendar.MILLISECOND, 0); + long nextTime = nowTime + 1000 * 60 * 60L;// 榛樿涓�1灏忔椂 + if (nextPos < dtoList.size()) { + nextTime = TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(nowTime, "MM") + dtoList.get(nextPos), + "MMddHH"); + } 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()); + Calendar nowCalendar = Calendar.getInstance(); + nowCalendar.setTimeInMillis(nowTime); + int hour = nowCalendar.get(Calendar.HOUR_OF_DAY); String timeValue = redisManager.getCommonString(timekey); if (timeValue == null || !timeValue.equals(hour + "")) { @@ -235,6 +227,7 @@ array = JSONArray.fromObject(cacheValue); } } + JumpDetailV2 jumpDetail = jumpDetailV2Service.getByTypeCache("web"); if (array == null) { array = new JSONArray(); @@ -246,15 +239,18 @@ .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create(); // 缂撳瓨涓笉瀛樺湪 - List<QualityFactory> listGoods = qualityGoodsService.listFlashSaleRandGoods(); + List<DaTaoKeDetailV2> listGoods = daTaoKeGoodsDetailV2Service.getDingDongQiangData(timeStr); if (listGoods == null) { - listGoods = new ArrayList<QualityFactory>(); + listGoods = new ArrayList<>(); } + + if (listGoods != null && listGoods.size() > 3) + listGoods = listGoods.subList(0, 3); /* 閬嶅巻鍒楄〃鏁版嵁 */ - for (QualityFactory qualityFactory : listGoods) { - TaoBaoGoodsBrief taoBaoGoodsBrief = qualityFactory.getTaoBaoGoodsBrief(); + for (DaTaoKeDetailV2 detail : listGoods) { + TaoBaoGoodsBrief taoBaoGoodsBrief = TaoBaoUtil.convert(detail); if (taoBaoGoodsBrief == null) { continue; } @@ -280,10 +276,13 @@ // 缂撳瓨鍗婁釜灏忔椂 redisManager.cacheCommonString(cachekey, array.toString(), 60 * 30); } - Long endTime = nextTime.getTimeInMillis() - java.lang.System.currentTimeMillis(); + + // 鑾峰彇浠婂ぉ鐨勬暟鎹� + + Long endTime = nextTime - nowTime; JSONObject root = new JSONObject(); - root.put("time", nextTime.getTimeInMillis()); + root.put("time", nextTime); root.put("endTime", endTime > 0 ? endTime : 0); root.put("listgoods", array); -- Gitblit v1.8.0