From c9cbdfa41d645d42eeaa7e06d550d4ef8ac328e7 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期五, 03 一月 2020 12:15:08 +0800 Subject: [PATCH] redis关键词 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RecommendControllerV2.java | 162 ++++++++++++++++++++++++------------------------------ 1 files changed, 72 insertions(+), 90 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 9d333e2..54ed7a0 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 @@ -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; @@ -45,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; @@ -97,9 +98,6 @@ private QualityFlashSaleService qualityFlashSaleService; @Resource - private DaTaoKeGoodsDetailService daTaoKeGoodsDetailService; - - @Resource private RecommendGoodsDeleteHistoryService recommendGoodsDeleteHistoryService; @Resource @@ -128,11 +126,9 @@ @Resource private DaTaoKeGoodsService daTaoKeGoodsService; - + @Resource private HongBaoV2CountService hongBaoV2CountService; - - /** * 鏂扮増鎺ㄨ崘涓撻绠$悊(1.5.3) @@ -150,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); @@ -163,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) { @@ -209,32 +208,35 @@ 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), - "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); @@ -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(); @@ -277,12 +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)); + GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, configParamsDTO); JSONObject params = new JSONObject(); params.put("url", configService.get("spike_goods_link") + "?id=" + taoBaoGoodsBrief.getAuctionId()); @@ -342,10 +346,9 @@ return root; } - - /** * 闄愭椂绉掓潃鍒楄〃 + * * @param acceptData * @param page * @param auctionId @@ -354,43 +357,30 @@ */ @RequestMapping("getSpikTime") public void getSpikTime(AcceptData acceptData, PrintWriter out) { + List<DingDongTime> timeList = DaTaoKeUtil.getDingDongQiangTime(Calendar.getInstance()); 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); - + 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 @@ -402,7 +392,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(); @@ -416,13 +406,12 @@ } } } - + 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 = hongBaoManageService.getShowComputeRate(acceptData.getPlatform(), + acceptData.getVersion()); for (DaTaoKeDetailV2 detail : detailList) { array.add(gson.toJson(GoodsDetailVOFactory.convertTaoBao(TaoBaoUtil.convert(detail), paramsDTO))); @@ -432,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)); } - - - - + /** * 閲戝竵鍏戞崲淇℃伅 * @@ -569,9 +555,8 @@ } } - BigDecimal fanLiRate = hongBaoManageService.getFanLiRate(); - BigDecimal shareRate = hongBaoManageService.getShareRate(); - ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE); + ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate(acceptData.getPlatform(), + acceptData.getVersion()); for (TaoBaoGoodsBrief goods : goodsList) { GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(goods, paramsDTO); @@ -589,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); + 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); @@ -639,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); + 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 @@ -682,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; @@ -718,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); + ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate(acceptData.getPlatform(), + acceptData.getVersion()); Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()) .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create(); @@ -752,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); + ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate(acceptData.getPlatform(), + acceptData.getVersion()); for (PDDGoodsDetail goods : goodsList) { GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertPDDGoods(goods, paramsDTO); @@ -787,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); + ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate(acceptData.getPlatform(), + acceptData.getVersion()); int j = 1; for (int i = (page - 1) * 3; i < arrayKeys.size(); i++) { @@ -802,7 +784,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; } @@ -856,7 +839,7 @@ special.setTimeTask(true); else special.setTimeTask(false); - + if (special.isTimeTask()) { if (time < special.getStartTime().getTime() || time > special.getEndTime().getTime()) { list.remove(i--); @@ -879,7 +862,6 @@ out.print(JsonUtil.loadTrueResult(data)); } - /** * 鑾峰彇涓撻娓犻亾娲诲姩 * @@ -907,14 +889,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)); } -- Gitblit v1.8.0