From 5c4ecf9e8b47efbbf5d21c9e109be0a60cb7e26d Mon Sep 17 00:00:00 2001 From: yujian <yujian> Date: 星期一, 08 四月 2019 15:15:09 +0800 Subject: [PATCH] 冲突解决 --- fanli/src/main/java/com/yeshi/fanli/controller/client/RecommendController.java | 255 ++++++++++++++++++++++++++++---------------------- 1 files changed, 144 insertions(+), 111 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/RecommendController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/RecommendController.java index 5f52b1f..aea9784 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/RecommendController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/RecommendController.java @@ -28,11 +28,11 @@ import com.google.gson.JsonPrimitive; import com.google.gson.JsonSerializationContext; import com.google.gson.JsonSerializer; -import com.yeshi.fanli.dao.mybatis.HongBaoManageMapper; import com.yeshi.fanli.entity.accept.AcceptData; import com.yeshi.fanli.entity.bus.homemodule.Special; import com.yeshi.fanli.entity.bus.homemodule.SuperSpecial; import com.yeshi.fanli.entity.bus.homemodule.SwiperPicture; +import com.yeshi.fanli.entity.bus.lable.QualityFactory; import com.yeshi.fanli.entity.bus.recommend.Honest; import com.yeshi.fanli.entity.bus.recommend.RecommendBanner; import com.yeshi.fanli.entity.bus.recommend.RecommendBannerV2; @@ -74,7 +74,6 @@ import com.yeshi.fanli.service.inter.config.SystemConfigService; import com.yeshi.fanli.service.inter.goods.CollectionGoodsV2Service; import com.yeshi.fanli.service.inter.goods.CommonGoodsService; -import com.yeshi.fanli.service.inter.goods.RecommendBannerService; import com.yeshi.fanli.service.inter.goods.ScanHistoryV2Service; import com.yeshi.fanli.service.inter.goods.SuperRecommendBannerService; import com.yeshi.fanli.service.inter.goods.SuperRecommendBannerV2Service; @@ -85,6 +84,7 @@ import com.yeshi.fanli.service.inter.homemodule.SuperSpecialService; import com.yeshi.fanli.service.inter.homemodule.SwiperPictureService; import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService; +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.OrderService; @@ -100,11 +100,11 @@ 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.ThreadUtil; import com.yeshi.fanli.util.TimeUtil; import com.yeshi.fanli.util.factory.MonitorFactory; import com.yeshi.fanli.util.taobao.TaoBaoCouponUtil; -import com.yeshi.fanli.util.taobao.TaoBaoOrderUtil; import com.yeshi.fanli.util.taobao.TaoBaoUtil; import com.yeshi.fanli.util.taobao.TaoKeApiUtil; import com.yeshi.fanli.vo.user.UserSettingsVO; @@ -213,6 +213,10 @@ @Resource private UserInfoExtraService userInfoExtraService; + + @Resource + private QualityFlashSaleService qualityFlashSaleService; + @RequestMapping(value = "getHonestList") public void getHonestList(AcceptData acceptData, PrintWriter out) { @@ -564,8 +568,8 @@ // 鑾峰彇娣樺鍙傛暟 ClientTBPid clientTBPid = null; if (simpleGoods.getMaterialLibType() != null && simpleGoods.getMaterialLibType() == 1) { - String pid = Constant.TAOBAO_SPECIAL_PID_DEFAULT; - clientTBPid = new ClientTBPid(Constant.TAOBAO_AUTH_APPKEY, Constant.TAOBAO_AUTH_APPSECRET, + String pid = TaoBaoConstant.TAOBAO_SPECIAL_PID_DEFAULT; + clientTBPid = new ClientTBPid(TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET, pid.split("_")[2], pid.split("_")[3]); } else { if (acceptData.getPlatform().equalsIgnoreCase("android")) { @@ -1572,17 +1576,71 @@ @RequestMapping(value = "getRecommendIndex") public void getRecommendIndex(AcceptData acceptData, Long uid, PrintWriter out) { - BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), - acceptData.getPackages()); - if (system == null) { - out.print(JsonUtil.loadFalseResult(1, "绯荤粺涓嶅瓨鍦�")); - return; - } + try { + BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), + acceptData.getPackages()); + if (system == null) { + out.print(JsonUtil.loadFalseResult(1, "绯荤粺涓嶅瓨鍦�")); + return; + } - // 杞挱鍥� + JSONObject root = specialService.getSpecialListCache("native_index", system.getId()); + + // 椤堕儴杞挱鍥� + List<SwiperPicture> topPicList = getSwiperByCard("weex_index"); + if (topPicList == null) { + topPicList = new ArrayList<SwiperPicture>(); + } + root.put("topPicList", JsonUtil.getApiCommonGson().toJson(topPicList)); + + // 閭�璇锋湁濂栧浘鐗� + List<SwiperPicture> invitePicList = null; +// if ("ios".equalsIgnoreCase(acceptData.getPlatform()) +// && configService.iosOnLining(Integer.parseInt(acceptData.getVersion()))) { +// // 濡傛灉IOS褰撳墠鐗堟湰澶勪簬瀹℃牳鐘舵�佸氨涓嶈繑鍥� +// } else { +// if (uid == null) { +// invitePicList = getSwiperByCard("invitePrizes"); +// } else { +// try { +// UserSettingsVO vo = userCustomSettingsService.getMySettings(uid); +// if (vo == null || vo.getNoInvitationBonus() == null || vo.getNoInvitationBonus() == 0) { +// invitePicList = getSwiperByCard("invitePrizes"); // 娌℃湁鍏抽棴閭�璇� +// } +// } catch (UserCustomSettingsException e) { +// e.printStackTrace(); +// } +// } +// } + + invitePicList = getSwiperByCard("invitePrizes"); + if (invitePicList == null) { + invitePicList = new ArrayList<SwiperPicture>(); + } + + root.put("invitePicList", JsonUtil.getApiCommonGson().toJson(invitePicList)); + + // 搴曢儴缃戦〉閾炬帴 + String platform = acceptData.getPlatform(); + if ("ios".equalsIgnoreCase(platform)) { + root.put("htmlLink", configService.get("index_html_link_ios")); + } + + out.print(JsonUtil.loadTrueResult(root)); + } catch (Exception e) { + out.print(JsonUtil.loadFalseResult(1, "鑾峰彇鏁版嵁澶辫触")); + try { + LogHelper.errorDetailInfo(e); + } catch (Exception e1) { + e1.printStackTrace(); + } + } + } + + public List<SwiperPicture> getSwiperByCard(String card){ List<SwiperPicture> swiperList = null; try { - swiperList = swiperPictureService.getByBannerCard("weex_index"); + swiperList = swiperPictureService.getByBannerCard(card); } catch (Exception e) { try { LogHelper.errorDetailInfo(e); @@ -1591,112 +1649,87 @@ } e.printStackTrace(); } - - if (swiperList == null) { - swiperList = new ArrayList<SwiperPicture>(); + return swiperList; + } + + + /** + * 闄愭椂绉掓潃 1.5.3 + * + * @param acceptData + * @param out + */ + @RequestMapping(value = "getSpikeGoods") + public void getSpikeGoods(AcceptData acceptData, PrintWriter out) { + + // 涓嬩竴娆″�掕鏃剁殑鏃堕棿 + 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; } + 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); - Special miaoShaSpecial = null; - // 涓よ鍦嗗舰涓撻 - List<Special> arcList = new ArrayList<Special>(); - - // 娲诲姩鍒楄〃 - List<Special> activityList = new ArrayList<Special>(); - - // 鏂瑰潡閮ㄥ垎 - List<Special> blockList = new ArrayList<Special>(); - - - try { - List<Special> listSpecial = specialService.listBySystemAndCard("index", system.getId()); - - if (listSpecial != null && listSpecial.size() > 0) { - for (Special special : listSpecial) { - - if ("闄愭椂绉掓潃".equals(special.getName())) { - miaoShaSpecial = special; - continue; - } - - if (Special.SHOWTYPE_ARC.equals(special.getShowType())) { - // 涓よ鍦嗗舰涓撻 - arcList.add(special); - } else if (Special.SHOWTYPE_BLOCK.equals(special.getShowType())) { - // 鏂瑰潡閮ㄥ垎 - blockList.add(special); - } else if (Special.SHOWTYPE_ACTIVITY.equals(special.getShowType())) { - // 鍔ㄦ�� - activityList.add(special); - } - } - } - - } catch (Exception e) { - e.printStackTrace(); - } - - - /* 闄愭椂绉掓潃 - 鏃堕棿澶勭悊 */ - JSONObject msJSON = JSONObject.fromObject(new Gson().toJson(miaoShaSpecial)); - if (miaoShaSpecial != null) { - // 鑾峰彇绉掓潃 - int[] hours = new int[] { 0, 9, 12, 14, 16, 20, 22 }; - int hour = -1; - Calendar calendar = Calendar.getInstance(); - calendar.setTimeInMillis(Long.parseLong(acceptData.getTime())); - int nowHour = calendar.get(Calendar.HOUR_OF_DAY); - for (int i = 0; i < hours.length - 1; i++) { - if (nowHour >= hours[i] && nowHour < hours[i + 1]) { - hour = hours[i + 1]; - break; - } - } - - if (hour < 0) - hour = 24; - long time = TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(calendar.getTimeInMillis(), "yyyy-MM-dd"), - "yyyy-MM-dd") + 1000 * 60 * 60 * hour; - msJSON.put("time", time); - } - JSONObject root = new JSONObject(); - root.put("swiperList", JsonUtil.getApiCommonGson().toJson(swiperList)); - root.put("arcList", JsonUtil.getApiCommonGson().toJson(arcList)); - root.put("activityList", JsonUtil.getApiCommonGson().toJson(activityList)); - root.put("blockList", JsonUtil.getApiCommonGson().toJson(blockList)); - root.put("miaoSha", msJSON); - - // 澧炲姞閭�璇锋湁濂� - JSONObject invite = new JSONObject(); - JumpDetailV2 jumpDetail = jumpDetailV2Service.getByTypeCache("invite"); - invite.put("jumpDetail", jumpDetail); - invite.put("picture", configService.get("home_invite_banner")); - - if ("ios".equalsIgnoreCase(acceptData.getPlatform()) - && configService.iosOnLining(Integer.parseInt(acceptData.getVersion()))) { - // 濡傛灉IOS褰撳墠鐗堟湰澶勪簬瀹℃牳鐘舵�佸氨涓嶈繑鍥� + root.put("time", nextTime.getTimeInMillis()); + + + JSONArray array = new JSONArray(); + String cachekey = "spikeGoodsList" ; + String cacheValue = redisManager.getCommonString(cachekey); + if (!StringUtil.isNullOrEmpty(cacheValue)) { + array = JSONArray.fromObject(cacheValue); } else { - - // 鎸夌収鐗堟湰杩斿洖锛岀増鏈鐩栬冻澶熷悗鍙垹闄� - if (("android".equalsIgnoreCase(acceptData.getPlatform()) && Integer.parseInt(acceptData.getVersion()) > 30) - || ("ios".equalsIgnoreCase(acceptData.getPlatform()) - && Integer.parseInt(acceptData.getVersion()) > 37)) { - if (uid != null) { - try { - UserSettingsVO vo = userCustomSettingsService.getMySettings(uid); - if (vo == null || vo.getNoInvitationBonus() == null || vo.getNoInvitationBonus() == 0)// 娌℃湁鍏抽棴閭�璇� - root.put("invite", invite); - } catch (UserCustomSettingsException e) { - e.printStackTrace(); - } - } else - root.put("invite", invite); + BigDecimal proportion = manageService.getFanLiRate(); + Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()) + .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create(); + + // 缂撳瓨涓笉瀛樺湪 + List<QualityFactory> listGoods = qualityGoodsService.listFlashSaleRandGoods(); + if (listGoods == null) { + listGoods = new ArrayList<QualityFactory>(); } + /* 閬嶅巻鍒楄〃鏁版嵁 */ + for (QualityFactory qualityFactory : listGoods) { + + TaoBaoGoodsBrief taoBaoGoodsBrief = qualityFactory.getTaoBaoGoodsBrief(); + if (taoBaoGoodsBrief == null) { + continue; + } + array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null))); + } + // 缂撳瓨鍗婁釜灏忔椂 + redisManager.cacheCommonString(cachekey, array.toString(), 60 * 30); } - + root.put("listgoods", array); out.print(JsonUtil.loadTrueResult(root)); - } -- Gitblit v1.8.0