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 | 261 ++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 220 insertions(+), 41 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 3f254ea..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,7 +28,6 @@ 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; @@ -39,7 +38,6 @@ 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; @@ -76,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; @@ -87,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; @@ -102,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; @@ -118,8 +116,6 @@ @RequestMapping("api/v1/user") public class RecommendController { - @Resource - private RecommendBannerService recommendService; @Resource private BusinessSystemService businessSystemService; @@ -145,8 +141,6 @@ @Resource private UserInfoService userInfoService; - @Resource - private TaoBaoOrderUtil taoBaoOrderUtil; @Resource private TaoBaoCouponService taoBaoCouponService; @@ -159,9 +153,6 @@ @Resource private CollectionGoodsV2Service collectionGoodsV2Service; - - @Resource - private HongBaoManageMapper hongBaoManageMapper; @Resource private TaoBaoGoodsBriefService taoBaoGoodsBriefService; @@ -222,6 +213,10 @@ @Resource private UserInfoExtraService userInfoExtraService; + + @Resource + private QualityFlashSaleService qualityFlashSaleService; + @RequestMapping(value = "getHonestList") public void getHonestList(AcceptData acceptData, PrintWriter out) { @@ -405,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(); @@ -570,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")) { @@ -1308,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 { @@ -1369,8 +1367,8 @@ } // 棣栭〉Banner - List<RecommendBannerV2> listBanner = superRecommendBannerV2Service.getSuperRecommendBannerV2sBySystem(system.getId()); - + List<RecommendBannerV2> listBanner = superRecommendBannerV2Service + .getSuperRecommendBannerV2sBySystem(system.getId()); JSONObject root = new JSONObject(); root.put("banner", listBanner); @@ -1568,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) * @@ -1611,21 +1776,11 @@ // 鑾峰彇娣樺鍙傛暟 ClientTBPid clientTBPid = null; - if (StringUtil.isNullOrEmpty(uid)) { - // 鐢ㄦ埛鏈櫥褰� - if (acceptData.getPlatform().equalsIgnoreCase("android")) { - clientTBPid = tbPidService.getAndroidDefault(); - } else { - clientTBPid = tbPidService.getIOSDefault(); - } - + // 鐢ㄦ埛鏈櫥褰� + if (acceptData.getPlatform().equalsIgnoreCase("android")) { + clientTBPid = tbPidService.getAndroidDefault(); } else { - // 鐢ㄦ埛宸茬粡鐧诲綍 - if (acceptData.getPlatform().equalsIgnoreCase("android")) { - clientTBPid = tbPidService.getAndroidDefault(); - } else { - clientTBPid = tbPidService.getIOSDefault(); - } + clientTBPid = tbPidService.getIOSDefault(); } LogHelper.test("鑾峰彇PID鑰楁椂锛�" + (java.lang.System.currentTimeMillis() - startTime)); @@ -1648,6 +1803,21 @@ try { goods = redisManager.getTaoBaoGoodsBrief(Long.parseLong(id)); + if (goods.getTkRate() == null || new BigDecimal(0).compareTo(goods.getTkRate()) == 0) { + String appId = clientPid.split("_")[2]; + TaoBaoUnionConfig config = taoBaoUnionConfigService.getConfigByAppIdCache(appId); + TaoKeAppInfo app = new TaoKeAppInfo(); + app.setAdzoneId(clientPid.split("_")[3]); + app.setAppKey(config.getAppKey()); + app.setAppSecret(config.getAppSecret()); + app.setPid(clientPid); + TaoBaoGoodsBrief linkInfo = TaoKeApiUtil.specialConvertCoupon(goods.getAuctionId(), app); + if (linkInfo != null) { + goods.setAuctionUrl(linkInfo.getAuctionUrl()); + goods.setCouponLink(linkInfo.getCouponLink()); + goods.setTkRate(linkInfo.getTkRate()); + } + } } catch (TaobaoGoodsDownException e) { // 鍟嗗搧涓嬫灦 ThreadUtil.run(new Runnable() { @@ -1674,6 +1844,15 @@ // 娴嬭瘯浣跨敤 ticket.put("couponUrl", goods.getCouponLink()); data.put("ticket", ticket); + } + + if (goods.getTkRate() == null || new BigDecimal(0).compareTo(goods.getTkRate()) == 0) { + TaoBaoGoodsBrief linkInfo = TaoKeApiUtil.specialConvertCoupon(goods.getAuctionId(), app); + if (linkInfo != null) { + goods.setAuctionUrl(linkInfo.getAuctionUrl()); + goods.setCouponLink(linkInfo.getCouponLink()); + goods.setTkRate(linkInfo.getTkRate()); + } } } catch (NumberFormatException e) { @@ -2057,8 +2236,8 @@ } JSONObject data = new JSONObject(); - data.put("listGuess", JsonUtil.getApiCommonGson().toJson(listExtra)); - data.put("listQuality", JsonUtil.getApiCommonGson().toJson(listQuality)); + data.put("listQuality", JsonUtil.getApiCommonGson().toJson(listExtra)); + data.put("listGuess", JsonUtil.getApiCommonGson().toJson(listQuality)); out.print(JsonUtil.loadTrueResult(data)); } -- Gitblit v1.8.0