From b9f8ef2c4737b6e6be4b12fc8f7bafb033bfcfe5 Mon Sep 17 00:00:00 2001 From: admin <2780501319@qq.com> Date: 星期日, 22 九月 2019 16:47:33 +0800 Subject: [PATCH] 金币BUG修改 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RecommendControllerV2.java | 231 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 217 insertions(+), 14 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 b7b968e..40440f9 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 @@ -20,6 +20,7 @@ import com.yeshi.fanli.dto.pdd.PDDGoodsDetail; import com.yeshi.fanli.dto.pdd.PDDGoodsResult; import com.yeshi.fanli.entity.accept.AcceptData; +import com.yeshi.fanli.entity.bus.homemodule.Special; import com.yeshi.fanli.entity.bus.homemodule.SwiperPicture; import com.yeshi.fanli.entity.common.JumpDetailV2; import com.yeshi.fanli.entity.jd.JDGoods; @@ -35,15 +36,16 @@ 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; 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.RedisManager; @@ -53,11 +55,14 @@ import com.yeshi.fanli.util.VersionUtil; import com.yeshi.fanli.util.factory.MonitorFactory; import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory; +import com.yeshi.fanli.util.taobao.DaTaoKeUtil; import com.yeshi.fanli.util.taobao.TaoBaoUtil; 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.msg.ClientTextStyleVO; +import com.yeshi.fanli.vo.search.SearchKeyTOPVO; +import com.yeshi.fanli.vo.search.SearchKeyVO; import com.yeshi.fanli.vo.tlj.ReduceHongBao; import net.sf.json.JSONArray; @@ -118,6 +123,9 @@ @Resource private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service; + @Resource + private DaTaoKeGoodsService daTaoKeGoodsService; + /** * 鏂扮増鎺ㄨ崘涓撻绠$悊(1.5.3) * @@ -138,11 +146,6 @@ List<SwiperPicture> topPicList = new ArrayList<>(); if (oldtopPicList != null && oldtopPicList.size() > 0) topPicList.addAll(oldtopPicList); - if ("ios".equalsIgnoreCase(acceptData.getPlatform())) { - SwiperPicture notifyReName = swiperPictureService.selectByPrimaryKey(162L); - if (notifyReName != null) - topPicList.add(0, notifyReName); - } root.put("topPicList", JsonUtil.getApiCommonGson().toJson(topPicList)); @@ -167,6 +170,11 @@ } root.put("spikeGoods", getSpikeGoodsContent(acceptData)); + if (VersionUtil.greaterThan_1_6_5(acceptData.getPlatform(), acceptData.getVersion())) + root.put("scoreExchange", getScoreExchangeInfo(acceptData)); + + if (VersionUtil.greaterThan_2_0(acceptData.getPlatform(), acceptData.getVersion())) + root.put("searchDiscovery", getSearchDiscoveryInfo(acceptData)); out.print(JsonUtil.loadTrueResult(root)); } catch (Exception e) { @@ -192,23 +200,25 @@ } private JSONObject getSpikeGoodsContent(AcceptData acceptData) { - List<String> dtoList = daTaoKeGoodsDetailV2Service.getDingDongQiangTime(); + List<String> dtoList = DaTaoKeUtil.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))) { + 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); nextPos = i + 1; break; } } + if (timeStr == null) + timeStr = dtoList.get(dtoList.size() - 1); long nextTime = nowTime + 1000 * 60 * 60L;// 榛樿涓�1灏忔椂 if (nextPos < dtoList.size()) { - nextTime = TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(nowTime, "MM") + dtoList.get(nextPos), - "MMddHH"); + nextTime = TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(nowTime, "yyyyMM") + dtoList.get(nextPos), + "yyyyMMddHH"); } JSONArray array = null; @@ -282,16 +292,99 @@ Long endTime = nextTime - nowTime; JSONObject root = new JSONObject(); + + if (VersionUtil.greaterThan_1_6_5(acceptData.getPlatform(), acceptData.getVersion())) { + root.put("time", nextTime); + root.put("endTime", endTime > 0 ? endTime : 0); + JSONArray imgArray = new JSONArray(); + if (array != null) + for (int i = 0; i < array.size(); i++) { + imgArray.add(array.optJSONObject(i).optJSONObject("goods").optString("picUrl")); + } + root.put("imgList", imgArray); + JSONObject params = new JSONObject(); + params.put("url", configService.get("spike_goods_link")); + root.put("params", params); + root.put("jumpDetail", jumpDetail); + root.put("name", "闄愭椂绉掓潃"); + root.put("desc", "鏁寸偣鏇存柊锛屽ソ鐗╂姠璐�"); + } else { + root.put("time", nextTime); + root.put("endTime", endTime > 0 ? endTime : 0); + root.put("listgoods", array); + JSONObject params = new JSONObject(); + params.put("url", configService.get("spike_goods_link")); + root.put("params", params); + root.put("jumpDetail", jumpDetail); + } + root.put("time", nextTime); root.put("endTime", endTime > 0 ? endTime : 0); root.put("listgoods", array); + return root; + } + + /** + * 閲戝竵鍏戞崲淇℃伅 + * + * @param acceptData + * @return + */ + private JSONObject getScoreExchangeInfo(AcceptData acceptData) { + + JSONObject root = new JSONObject(); + JSONArray array = new JSONArray(); + array.add("http://img.flqapp.com/resource/integral/integral_home_icon_2.png"); + array.add("http://img.flqapp.com/resource/integral/integral_home_icon_1.png"); + root.put("imgList", array); JSONObject params = new JSONObject(); - params.put("url", configService.get("spike_goods_link")); - + params.put("balanceMore", true); root.put("params", params); - root.put("jumpDetail", jumpDetail); + root.put("jumpDetail", jumpDetailV2Service.getByTypeCache("integralExchange", + Constant.getPlatformCode(acceptData.getPlatform()), Integer.parseInt(acceptData.getVersion()))); + root.put("name", "閲戝竵鍏戞崲"); + root.put("desc", "姣忔棩绛惧埌锛屾儕鍠滀笉鍋�"); + root.put("tagImg", "http://img.flqapp.com/resource/score_exchange_tag.png"); + return root; + } + + /** + * 閲戝竵鍏戞崲淇℃伅 + * + * @param acceptData + * @return + */ + private JSONObject getSearchDiscoveryInfo(AcceptData acceptData) { + JSONArray array = new JSONArray(); + String keys = configService.getSearchDiscoveryKeys(); + if (!StringUtil.isNullOrEmpty(keys)) { + JSONArray arrayKeys = JSONArray.fromObject(keys); + for (int i = 0; i < arrayKeys.size(); i++) { + String name = arrayKeys.get(i).toString(); + JSONObject params = new JSONObject(); + params.put("content", name); + + SearchKeyVO keyVO = new SearchKeyVO(); + keyVO.setName(name); + keyVO.setParams(params.toString()); + array.add(keyVO); + } + } + + JSONObject params = new JSONObject(); + params.put("url", configService.get("search_discovery_h5_link")); + + JSONObject root = new JSONObject(); + root.put("picture", "http://img.flqapp.com/resource/home_search_found.png"); + root.put("params", params); + root.put("jumpDetail", jumpDetailV2Service.getByTypeCache("web", + Constant.getPlatformCode(acceptData.getPlatform()), Integer.parseInt(acceptData.getVersion()))); + + root.put("jumpResult", jumpDetailV2Service.getByTypeCache("search_goods_result", + Constant.getPlatformCode(acceptData.getPlatform()), Integer.parseInt(acceptData.getVersion()))); + root.put("keyList", array); return root; } @@ -558,4 +651,114 @@ out.print(JsonUtil.loadTrueResult(data)); } + /** + * 鎼滅储鍙戠幇鍒楄〃 + * + * @param acceptData + * @param uid + * @param page + * @param out + */ + @RequestMapping(value = "getSearchDiscoveryTop") + public void getSearchDiscoveryTop(AcceptData acceptData, Long uid, Integer page, String callback, PrintWriter out) { + int count = 0; + List<SearchKeyTOPVO> list = new ArrayList<SearchKeyTOPVO>(); + + String keys = configService.getSearchDiscoveryKeys(); + if (!StringUtil.isNullOrEmpty(keys)) { + JSONArray arrayKeys = JSONArray.fromObject(keys); + if (arrayKeys != null && arrayKeys.size() > 0) { + count = arrayKeys.size(); + BigDecimal fanLiRate = hongBaoManageService.getFanLiRate(); + BigDecimal shareRate = hongBaoManageService.getShareRate(); + + int j = 1; + for (int i = (page - 1) * 3; i < arrayKeys.size(); i++) { + if (j > 3) + break; + + String words = arrayKeys.get(i).toString(); + List<GoodsDetailVO> listGoods = new ArrayList<GoodsDetailVO>(); + + List<DaTaoKeDetailV2> listTaoKe = daTaoKeGoodsService.getSearchDiscoveryGoods(words); + if (listTaoKe != null && listTaoKe.size() > 0) { + for (DaTaoKeDetailV2 daTaoKeDetailV2 : listTaoKe) { + listGoods.add(GoodsDetailVOFactory.convertTaoBao(TaoBaoUtil.convert(daTaoKeDetailV2), null, + fanLiRate, shareRate)); + if (listGoods.size() >= 3) + break; + } + } + + SearchKeyTOPVO keyTOPVO = new SearchKeyTOPVO(); + keyTOPVO.setName(words); + keyTOPVO.setListGoods(listGoods); + list.add(keyTOPVO); + + j++; + } + } + } + + GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation(); + Gson gson = gsonBuilder.create(); + JSONObject data = new JSONObject(); + data.put("count", count); + data.put("list", gson.toJson(list)); + if (!StringUtil.isNullOrEmpty(callback)) { + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); + } else + out.print(JsonUtil.loadTrueResult(data)); + } + + /** + * 鑾峰彇涓撻娓犻亾娲诲姩 + * + * @param acceptData + * @param uid + * @param callback + * @param out + */ + @RequestMapping(value = "getSpecialChannelActivity") + public void getSpecialChannelActivity(AcceptData acceptData, Long uid, String callback, PrintWriter out) { + + int platformCode = Constant.getPlatformCode(acceptData.getPlatform()); + + List<Special> list = specialService.listByPlaceKey("special_channel_activity", platformCode, + Integer.parseInt(acceptData.getVersion())); + + long time = System.currentTimeMillis(); + // 鍒犻櫎灏氭湭鍚敤鐨勮繃鏈熺殑 + for (int i = 0; i < list.size(); i++) { + Special special = list.get(i); + if (special.getState() == 1L) { + list.remove(i--); + } else { + if (special.getStartTime() != null && special.getEndTime() != null) + special.setTimeTask(true); + else + special.setTimeTask(false); + + if (special.isTimeTask()) { + if (time < special.getStartTime().getTime() || time > special.getEndTime().getTime()) { + list.remove(i--); + } else// 璁剧疆鍊掕鏃� + { + special.setCountDownTime((special.getEndTime().getTime() - time) / 1000); + } + } + } + } + + GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation(); + Gson gson = gsonBuilder.create(); + JSONObject data = new JSONObject(); + data.put("count", list.size()); + data.put("list", gson.toJson(list)); + if (!StringUtil.isNullOrEmpty(callback)) { + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); + } else + out.print(JsonUtil.loadTrueResult(data)); + } + } -- Gitblit v1.8.0