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 | 234 +++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 191 insertions(+), 43 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 1b07d91..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,17 +28,16 @@ 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; import com.yeshi.fanli.entity.bus.recommend.RecommendSpecial; import com.yeshi.fanli.entity.bus.su.recommend.SuperRecommendBanner; -import com.yeshi.fanli.entity.bus.su.recommend.SuperRecommendBannerV2; import com.yeshi.fanli.entity.bus.su.recommend.SuperRecommendSpecial; import com.yeshi.fanli.entity.bus.user.Order; import com.yeshi.fanli.entity.bus.user.ShamUser; @@ -75,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; @@ -86,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; @@ -101,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; @@ -117,8 +116,6 @@ @RequestMapping("api/v1/user") public class RecommendController { - @Resource - private RecommendBannerService recommendService; @Resource private BusinessSystemService businessSystemService; @@ -144,8 +141,6 @@ @Resource private UserInfoService userInfoService; - @Resource - private TaoBaoOrderUtil taoBaoOrderUtil; @Resource private TaoBaoCouponService taoBaoCouponService; @@ -158,9 +153,6 @@ @Resource private CollectionGoodsV2Service collectionGoodsV2Service; - - @Resource - private HongBaoManageMapper hongBaoManageMapper; @Resource private TaoBaoGoodsBriefService taoBaoGoodsBriefService; @@ -221,6 +213,10 @@ @Resource private UserInfoExtraService userInfoExtraService; + + @Resource + private QualityFlashSaleService qualityFlashSaleService; + @RequestMapping(value = "getHonestList") public void getHonestList(AcceptData acceptData, PrintWriter out) { @@ -404,25 +400,28 @@ if (!"1".equals(version) && "android".equalsIgnoreCase(acceptData.getPlatform())) { jumpDetail = jumpDetailService.getlastJumpDetailCache(); } + List<RecommendSpecial> recommendSpecialList = null; + List<SuperRecommendSpecial> superRecommendSpecialList = superRecommendSpecialService .getSuperRecommendSpecialBySystemId(system.getId()); + if (superRecommendSpecialList != null && superRecommendSpecialList.size() > 0) { - List<RecommendSpecial> recommendSpecialList = null; - for (SuperRecommendSpecial superRecommendSpecial : superRecommendSpecialList) { - if (recommendSpecialList == null) { - recommendSpecialList = new ArrayList<RecommendSpecial>(); + recommendSpecialList = new ArrayList<RecommendSpecial>(); + + for (SuperRecommendSpecial superRecommendSpecial : superRecommendSpecialList) { + RecommendSpecial recommendSpecial = superRecommendSpecial.getRecommendSpecial(); + if (jumpDetail != null) { + recommendSpecial.setJumpDetail(jumpDetail); + } + recommendSpecialList.add(recommendSpecial); } - RecommendSpecial recommendSpecial = superRecommendSpecial.getRecommendSpecial(); - if (jumpDetail != null) { - recommendSpecial.setJumpDetail(jumpDetail); - } - recommendSpecialList.add(recommendSpecial); } if (recommendSpecialList == null || recommendSpecialList.size() == 0) { out.print(JsonUtil.loadFalseResult(1, "鏆傛棤鏁版嵁")); return; } + JSONObject data = new JSONObject(); data.put("count", recommendSpecialList.size()); Gson gson = new Gson(); @@ -569,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")) { @@ -1307,7 +1306,7 @@ for (TaoBaoGoodsBrief goods : result.getTaoBaoGoodsBriefs()) { if (!StringUtil.isNullOrEmpty(goods.getCouponInfo()) && goods.getCouponAmount() != null && goods.getCouponAmount().compareTo(new BigDecimal("5")) >= 0 - && goods.getBiz30day() > 1000) + && goods.getBiz30day() > 1000 && !StringUtil.isNullOrEmpty(goods.getPictUrlWhite())) goodsList.add(goods); } try { @@ -1368,26 +1367,8 @@ } // 棣栭〉Banner - List<RecommendBannerV2> listBanner = null; - - List<SuperRecommendBannerV2> listRecommendBanner = superRecommendBannerV2Service - .getSuperRecommendBannerV2sBySystem(system); - - if (listRecommendBanner != null && listRecommendBanner.size() > 0) { - - listBanner = new ArrayList<RecommendBannerV2>(); - - for (SuperRecommendBannerV2 superRecommendBanner : listRecommendBanner) { - RecommendBannerV2 recommendBanner = superRecommendBanner.getRecommendBanner(); - // 娣樼壒浠锋殏鏃朵慨鏀� - if (system.getId() == 7) { - recommendBanner.getJumpDetail().setActivity(recommendBanner.getJumpDetail().getActivity() - .replace("com.yeshi.ec.rebate.myapplication", "com.yeshi.ec.taospecial")); - } - - listBanner.add(recommendBanner); - } - } + List<RecommendBannerV2> listBanner = superRecommendBannerV2Service + .getSuperRecommendBannerV2sBySystem(system.getId()); JSONObject root = new JSONObject(); root.put("banner", listBanner); @@ -1585,6 +1566,173 @@ } + + /** + * 鏂扮増鎺ㄨ崘涓撻绠$悊(1.5.3) + * + * @param acceptData + * @param out + */ + @RequestMapping(value = "getRecommendIndex") + public void getRecommendIndex(AcceptData acceptData, Long uid, PrintWriter out) { + + 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(card); + } catch (Exception e) { + try { + LogHelper.errorDetailInfo(e); + } catch (Exception e1) { + e1.printStackTrace(); + } + e.printStackTrace(); + } + 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); + + JSONObject root = new JSONObject(); + 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 { + 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)); + } + + /** * 鍟嗗搧鍩烘湰璇︽儏 (1.4.0) * -- Gitblit v1.8.0