From f4548a3ee46afe45da4ee2a42dc169c575deee9f Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期三, 31 七月 2019 11:57:36 +0800 Subject: [PATCH] 动态v2兼容 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v1/RecommendController.java | 203 +++++++++++++++++++++++++++++++------------------- 1 files changed, 124 insertions(+), 79 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/RecommendController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/RecommendController.java index c579457..813f67a 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/RecommendController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/RecommendController.java @@ -53,6 +53,7 @@ import com.yeshi.fanli.entity.taobao.ClientTBPid; import com.yeshi.fanli.entity.taobao.PidUser; import com.yeshi.fanli.entity.taobao.SearchFilter; +import com.yeshi.fanli.entity.taobao.TLJBuyGoods; import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief; import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBriefExtra; import com.yeshi.fanli.entity.taobao.TaoBaoSearchResult; @@ -81,6 +82,7 @@ import com.yeshi.fanli.service.inter.goods.SuperRecommendSpecialService; import com.yeshi.fanli.service.inter.goods.TaoBaoCouponService; import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService; +import com.yeshi.fanli.service.inter.goods.recommend.HomeRecommendGoodsService; import com.yeshi.fanli.service.inter.goods.recommend.RecommendGoodsDeleteHistoryService; import com.yeshi.fanli.service.inter.homemodule.DeviceSexService; import com.yeshi.fanli.service.inter.homemodule.SpecialService; @@ -92,6 +94,7 @@ import com.yeshi.fanli.service.inter.monitor.MonitorService; import com.yeshi.fanli.service.inter.order.OrderService; import com.yeshi.fanli.service.inter.order.ShareGoodsActivityOrderService; +import com.yeshi.fanli.service.inter.taobao.TLJBuyGoodsService; import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsUpdateService; import com.yeshi.fanli.service.inter.taobao.TaoBaoShopService; import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService; @@ -121,6 +124,7 @@ import com.yeshi.fanli.util.taobao.TaoBaoUtil; import com.yeshi.fanli.util.taobao.TaoKeApiUtil; import com.yeshi.fanli.util.taobao.TaoLiJinUtil; +import com.yeshi.fanli.vo.goods.taobao.TLJBuyHongBaoVO; import com.yeshi.fanli.vo.msg.ClientTextStyleVO; import com.yeshi.fanli.vo.tlj.SpreadHongBao; import com.yeshi.fanli.vo.user.UserSettingsVO; @@ -260,6 +264,12 @@ @Resource private RecommendGoodsDeleteHistoryService recommendGoodsDeleteHistoryService; + + @Resource + private HomeRecommendGoodsService homeRecommendGoodsService; + + @Resource + private TLJBuyGoodsService tljBuyGoodsService; @RequestMapping(value = "getHonestList") public void getHonestList(AcceptData acceptData, PrintWriter out) { @@ -1180,8 +1190,9 @@ } // 鑾峰彇娴忚璁板綍 - @RequestMapping(value = "getscanhistory", method = RequestMethod.POST) - public void getScanHistory(AcceptData acceptData, String uid, int page, Integer goodsType, PrintWriter out) { + @RequestMapping(value = "getscanhistory", method = RequestMethod.POST) + public void getScanHistory(AcceptData acceptData, String uid, int page, PrintWriter out) { + if (page < 0) { out.print(JsonUtil.loadFalseResult(1, "page涓嶅皬浜�0")); return; @@ -1193,13 +1204,13 @@ out.print(JsonUtil.loadFalseResult(1, "涓嶅瓨鍦ㄨ绯荤粺")); return; } - - List<ScanHistoryV2> list = scanHistoryV2Service.getScanHistoryByDeviceOrUid( - StringUtil.isNullOrEmpty(uid) ? null : Long.parseLong(uid), acceptData.getDevice(), page, 20, goodsType); - - long count = scanHistoryV2Service.getCountByDeviceOrUid( - StringUtil.isNullOrEmpty(uid) ? null : Long.parseLong(uid), acceptData.getDevice(), goodsType); - + List<ScanHistoryV2> list = scanHistoryV2Service.getScanHistoryByDeviceOrUid( + StringUtil.isNullOrEmpty(uid) ? null : Long.parseLong(uid), acceptData.getDevice(), page, 20, Constant.SOURCE_TYPE_TAOBAO); + long count = scanHistoryV2Service.getCountByDeviceOrUid( + StringUtil.isNullOrEmpty(uid) ? null : Long.parseLong(uid), acceptData.getDevice(), Constant.SOURCE_TYPE_TAOBAO); + + + JSONObject data = new JSONObject(); data.put("count", count); JSONArray array = new JSONArray(); @@ -1235,8 +1246,7 @@ } @RequestMapping(value = "deletescanhistory", method = RequestMethod.POST) - public void deleteScanHistory(AcceptData acceptData, String type, String uid, String ids, - Integer goodsType, PrintWriter out) { + public void deleteScanHistory(AcceptData acceptData, String type, String uid, String ids, PrintWriter out) { BusinessSystem sys = businessSystemService.getBusinessSystem(acceptData.getPlatform(), acceptData.getPackages()); if (sys == null) { @@ -1249,11 +1259,11 @@ for (String auctionIdStr : idStr) { scanHistoryV2Service.deleteByAuctionIdAndDeviceOrUid( StringUtil.isNullOrEmpty(uid) ? null : Long.parseLong(uid), acceptData.getDevice(), - Long.parseLong(auctionIdStr), goodsType); + Long.parseLong(auctionIdStr)); } } else { scanHistoryV2Service.deleteByDeviceOrUid(StringUtil.isNullOrEmpty(uid) ? null : Long.parseLong(uid), - acceptData.getDevice(), goodsType); + acceptData.getDevice()); } out.print(JsonUtil.loadTrueResult("")); @@ -1288,16 +1298,16 @@ * 闃叉璇锋眰棰戠巼杩囬珮 * */ - if (Constant.IS_OUTNET) { - String key = "linkParse-" + acceptData.getDevice() + "-" + id; + // if (Constant.IS_OUTNET) { + String key = "linkParse-" + acceptData.getDevice() + "-" + id; - String value = redisManager.getCommonString(key); - if (!StringUtil.isNullOrEmpty(value)) { - out.print(JsonUtil.loadFalseResult(11, "璇锋眰棰戠巼闄愬埗")); - return; - } - redisManager.cacheCommonString(key, "1", 5);// 5s闂撮殧 + String value = redisManager.getCommonString(key); + if (!StringUtil.isNullOrEmpty(value)) { + out.print(JsonUtil.loadFalseResult(11, "璇锋眰棰戠巼闄愬埗")); + return; } + redisManager.cacheCommonString(key, "1", 5);// 5s闂撮殧 + // } TaoBaoGoodsBrief goods = null; try { goods = redisManager.getTaoBaoGoodsBrief(Long.parseLong(id)); @@ -1332,6 +1342,54 @@ int pageSize = Constant.PAGE_SIZE; JSONArray array = new JSONArray(); Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()).create(); + if (VersionUtil.greaterThan_1_5_70(acceptData.getPlatform(), acceptData.getVersion())) { + List<TaoBaoGoodsBrief> goodsList = homeRecommendGoodsService.listGoodsByPage(null, acceptData.getDevice(), + imei, idfa, page); + + BigDecimal rate = hongBaoManageService.getFanLiRate(); + for (TaoBaoGoodsBrief goods : goodsList) { + TaoBaoGoodsBriefExtra extra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(goods, rate + "", null); + if (page < 3) + extra.setRecommend(true); + + try { + array.add(gson.toJson(extra)); + } catch (Exception e) { + e.printStackTrace(); + System.out.println(new Gson().toJson(goods)); + } + } + + if (page == 1) { + List<TLJBuyGoods> list = homeRecommendGoodsService.getZiGouLiJianHotGoods(acceptData.getDevice()); + if (list != null && list.size() > 0) + for (int i = list.size() - 1; i >= 0; i--) { + TLJBuyGoods goods = list.get(i); + TaoBaoGoodsBriefExtra extra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(goods.getGoods(), + TaoBaoConstant.OWN_BUY_WITHOUT_FANLI_RATE + "", null); + String hongBao = TaoBaoUtil.getGoodsHongBaoInfo(goods.getGoods(), + TaoBaoConstant.OWN_BUY_WITHOUT_FANLI_RATE); + TLJBuyHongBaoVO vo = new TLJBuyHongBaoVO(); + vo.setLeft(goods.getLeftHongBaoCount()); + vo.setMoney(hongBao); + vo.setTagName("浠樻绔嬪噺 " + hongBao); + vo.setTip(""); + vo.setTotal(goods.getTotalHongBaoCount()); + extra.setTljBuyHongBao(vo); + extra.setPictureTag(new ClientTextStyleVO("绔嬪噺TOP" + (i + 1), "#E5005C", "#FCE431", null)); + extra.setRecommend(true); + extra.setSpreadMoney(vo.getTagName()); + array.add(0, gson.toJson(extra)); + } + } + + JSONObject data = new JSONObject(); + data.put("data", array); + data.put("count", 1000); + out.print(JsonUtil.loadTrueResult(data)); + return; + } + // 浠庢帹鑽愭潵 if (page <= 1) { array.clear(); @@ -1350,6 +1408,7 @@ // filter try { + gList = daTaoKeGoodsDetailService.filterTaoBaoGoods(gList); } catch (Exception e) { } @@ -1364,6 +1423,7 @@ TaoBaoGoodsBriefExtra extra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(goods, proportion.toString(), ""); + extra.setRecommend(true); goodsList.add(extra); } @@ -2061,7 +2121,8 @@ } String token = ""; - if (!StringUtil.isNullOrEmpty(tb.getCouponLink())) { + if (!StringUtil.isNullOrEmpty(tb.getCouponLink()) + && VersionUtil.greaterThan_1_5_60(acceptData.getPlatform(), acceptData.getVersion())) { token = redisManager.getCommonTaoToken(tb.getAuctionId()); if (StringUtil.isNullOrEmpty(token)) { token = TaoKeApiUtil.getTKToken(tb.getPictUrl(), tb.getTitle(), tb.getCouponLink()); @@ -2237,7 +2298,7 @@ data.put("listTip", listText); } - spreadHongBao.setTip("褰撴棩棰嗗彇锛屽綋鏃ュ唴浣跨敤锛岃繃鏈熷け鏁堛��"); + spreadHongBao.setTip("褰撴棩棰嗗彇锛屽綋鏃ュ唴浣跨敤锛岃繃鏈熷け鏁�"); goodsJson.put("spreadHongBao", spreadHongBao); // 鐢ㄦ埛鍓╀綑鍙互娣樼ぜ閲戦獙璇� @@ -2259,6 +2320,27 @@ goodsJson.put("tljNum", tljNum); } + } else if (from != null && from.equals("taolijin_buy")) { + noRebateHelpLink = configService.get("zigoulijian_nofanli_help"); + // 鏌ヨ鍒嗕韩搴� + TLJBuyGoods buyGoods = tljBuyGoodsService.selectByAuctionIdAndDay(goods.getAuctionId(), + TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyy-MM-dd")); + if (buyGoods == null) { + out.print(JsonUtil.loadFalseResult(2, "鑷喘绔嬪噺绾㈠寘杩囨湡")); + return; + } + + fanliValid = true; + goodsJson.put("shareValid", false); + String tljHongBao = TaoBaoUtil.getGoodsHongBaoMoney(goods, new BigDecimal(70)).toString(); + TLJBuyHongBaoVO vo = new TLJBuyHongBaoVO(); + vo.setLeft(buyGoods.getLeftHongBaoCount()); + vo.setMoney(tljHongBao); + vo.setTagName("浠樻绔嬪噺 楼" + tljHongBao); + vo.setTip("褰撴棩棰嗗彇锛屽綋鏃ュ唴浣跨敤锛岃繃鏈熷け鏁�"); + vo.setTotal(buyGoods.getTotalHongBaoCount()); + goodsJson.put("tljBuyHongBao", vo); + moneyType = 2; } goodsJson.put("moneyType", moneyType); @@ -2399,67 +2481,30 @@ if (goodsList != null && goodsList.size() > 0) goodsList.parallelStream().forEach(goods -> { + if (goods != null) { + // 鑾峰彇璇︽儏 + TaoBaoGoodsBrief taoBaoGoodsBrief = null; + try { + taoBaoGoodsBrief = taoBaoGoodsCacheUtil.getCommonTaoBaoGoodsInfo(goods.getAuctionId()); + } catch (Exception e) { + e.printStackTrace(); + } - // 鑾峰彇璇︽儏 - TaoBaoGoodsBrief taoBaoGoodsBrief = null; - try { - taoBaoGoodsBrief = taoBaoGoodsCacheUtil.getCommonTaoBaoGoodsInfo(goods.getAuctionId()); - } catch (Exception e) { - e.printStackTrace(); + if (taoBaoGoodsBrief == null) { + TaoBaoGoodsBrief newGoods = TaoKeApiUtil.specialConvertCoupon(goods.getAuctionId(), app); + goods.setCouponInfo(newGoods.getCouponInfo()); + goods.setCouponLink(newGoods.getCouponLink()); + goods.setTkRate(newGoods.getTkRate()); + taoBaoGoodsBrief = goods; + } + + if (taoBaoGoodsBrief != null) { + listExtra.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), "")); + } } - - if (taoBaoGoodsBrief == null) { - TaoBaoGoodsBrief newGoods = TaoKeApiUtil.specialConvertCoupon(goods.getAuctionId(), app); - goods.setCouponInfo(newGoods.getCouponInfo()); - goods.setCouponLink(newGoods.getCouponLink()); - goods.setTkRate(newGoods.getTkRate()); - taoBaoGoodsBrief = goods; - } - - if (taoBaoGoodsBrief != null) { - listExtra.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), "")); - } - }); List<TaoBaoGoodsBrief> listQuality = new ArrayList<TaoBaoGoodsBrief>(); - // 鍒犻櫎鎺ㄨ崘 - // - // try { - // List<QualityFactory> listRecommend = - // qualityGoodsService.recommendByAuctionId(id); - // - // if (listRecommend != null && listRecommend.size() > 1) { - // for (QualityFactory quality : listRecommend) { - // - // TaoBaoGoodsBrief taoBaoGoodsBrief = quality.getTaoBaoGoodsBrief(); - // if (taoBaoGoodsBrief == null) { - // continue; - // } - // - // int biz30day = taoBaoGoodsBrief.getBiz30day(); - // if (biz30day >= 10000) { - // double sales = biz30day; - // String salesCountMidea = String.format("%.1f", sales / 10000); - // taoBaoGoodsBrief.setSalesCount(salesCountMidea + "涓�"); - // } else { - // taoBaoGoodsBrief.setSalesCount(biz30day + ""); - // } - // - // // 鏀瑰彉鍥剧墖灏哄 - // String pictUrl = taoBaoGoodsBrief.getPictUrl(); - // if (!StringUtil.isNullOrEmpty(pictUrl) && - // !pictUrl.contains("320x320")) { - // taoBaoGoodsBrief.setPictUrl(TbImgUtil.getTBSize320Img(pictUrl)); - // } - // - // listQuality.add(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, - // proportion.toString(), null)); - // } - // } - // } catch (Exception e2) { - // e2.printStackTrace(); - // } // 鍙栧伓鏁颁釜鏁版嵁 if (listExtra.size() % 2 != 0) { -- Gitblit v1.8.0