From beee6afac3f7d1b7fa30f768df91cd55e6c6d2db Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期一, 24 六月 2019 11:28:18 +0800 Subject: [PATCH] 增加汽车户外,增加拼多多常量 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v1/RecommendController.java | 119 ++++++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 80 insertions(+), 39 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 b110e19..994164a 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 @@ -80,6 +80,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.RecommendGoodsDeleteHistoryService; import com.yeshi.fanli.service.inter.homemodule.SpecialService; import com.yeshi.fanli.service.inter.homemodule.SuperSpecialService; import com.yeshi.fanli.service.inter.homemodule.SwiperPictureService; @@ -92,6 +93,7 @@ import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsUpdateService; import com.yeshi.fanli.service.inter.taobao.TaoBaoShopService; import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService; +import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailService; import com.yeshi.fanli.service.inter.user.ShamUserService; import com.yeshi.fanli.service.inter.user.TBPidService; import com.yeshi.fanli.service.inter.user.UserCustomSettingsService; @@ -99,11 +101,13 @@ import com.yeshi.fanli.service.inter.user.UserInfoExtraService; import com.yeshi.fanli.service.inter.user.UserInfoService; import com.yeshi.fanli.util.Constant; +import com.yeshi.fanli.util.MoneyBigDecimalUtil; 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.VersionUtil; import com.yeshi.fanli.util.cache.TaoBaoGoodsCacheUtil; import com.yeshi.fanli.util.factory.MonitorFactory; import com.yeshi.fanli.util.taobao.TaoBaoCouponUtil; @@ -223,6 +227,12 @@ @Resource private TaoBaoShopService taoBaoShopService; + + @Resource + private DaTaoKeGoodsDetailService daTaoKeGoodsDetailService; + + @Resource + private RecommendGoodsDeleteHistoryService recommendGoodsDeleteHistoryService; @RequestMapping(value = "getHonestList") public void getHonestList(AcceptData acceptData, PrintWriter out) { @@ -1303,14 +1313,24 @@ if (result != null && result.getTaoBaoGoodsBriefs() != null) { // 绛涢�� - List<TaoBaoGoodsBrief> goodsList = new ArrayList<>(); + List<TaoBaoGoodsBriefExtra> goodsList = new ArrayList<>(); - for (TaoBaoGoodsBrief goods : result.getTaoBaoGoodsBriefs()) { - if (!StringUtil.isNullOrEmpty(goods.getCouponInfo()) && goods.getCouponAmount() != null - && goods.getCouponAmount().compareTo(new BigDecimal("5")) >= 0 - && goods.getBiz30day() > 1000 && !StringUtil.isNullOrEmpty(goods.getPictUrlWhite())) - goodsList.add(goods); - } + List<TaoBaoGoodsBrief> gList = recommendGoodsDeleteHistoryService + .filterGoods(acceptData.getDevice(), result.getTaoBaoGoodsBriefs()); + // 璁惧鎺ㄨ崘 + if (gList != null) + for (TaoBaoGoodsBrief goods : gList) { + if (!StringUtil.isNullOrEmpty(goods.getCouponInfo()) && goods.getCouponAmount() != null + && goods.getCouponAmount().compareTo(new BigDecimal("5")) >= 0 + && goods.getBiz30day() > 1000 + && !StringUtil.isNullOrEmpty(goods.getPictUrlWhite())) { + + TaoBaoGoodsBriefExtra extra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(goods, + proportion.toString(), ""); + extra.setRecommend(true); + goodsList.add(extra); + } + } try { monitorService.addClientAPIMonitor(MonitorFactory.createClientAPI(request, 0, (int) (java.lang.System.currentTimeMillis() - startTime), "鎺ㄨ崘鏁伴噺:" + goodsList.size())); @@ -1320,8 +1340,8 @@ Collections.shuffle(goodsList); goodsList = goodsList.size() > 20 ? goodsList.subList(0, 20) : goodsList; - for (TaoBaoGoodsBrief goods : goodsList) { - array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(goods, proportion.toString(), ""))); + for (TaoBaoGoodsBriefExtra goods : goodsList) { + array.add(gson.toJson(goods)); } } else { try { @@ -1602,8 +1622,8 @@ if ("ios".equalsIgnoreCase(platform)) { root.put("htmlLink", configService.get("index_html_link_ios")); } - - root.put("spikeGoods", getSpikeGoodsContent(acceptData)); + + root.put("spikeGoods", getSpikeGoodsContent(acceptData)); out.print(JsonUtil.loadTrueResult(root)); } catch (Exception e) { @@ -1687,8 +1707,8 @@ nextTime.set(Calendar.MILLISECOND, 0); JSONArray array = null; - String timekey = "spikeGoods_hour"; - String cachekey = "spikeGoodsList"; + String timekey = String.format("spikeGoods_hour-%s-%s", acceptData.getPlatform(), acceptData.getVersion()); + String cachekey = String.format("spikeGoodsList-%s-%s", acceptData.getPlatform(), acceptData.getVersion()); String timeValue = redisManager.getCommonString(timekey); if (timeValue == null || !timeValue.equals(hour + "")) { @@ -1699,7 +1719,7 @@ array = JSONArray.fromObject(cacheValue); } } - + JumpDetailV2 jumpDetail = jumpDetailV2Service.getByTypeCache("web"); if (array == null) { array = new JSONArray(); @@ -1714,30 +1734,41 @@ } /* 閬嶅巻鍒楄〃鏁版嵁 */ - for (QualityFactory qualityFactory : listGoods) { + for (QualityFactory qualityFactory : listGoods) { TaoBaoGoodsBrief taoBaoGoodsBrief = qualityFactory.getTaoBaoGoodsBrief(); if (taoBaoGoodsBrief == null) { continue; } - array.add(gson + JSONObject goods = new JSONObject(); + goods.put("goods", gson .toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null))); + goods.put("jumpDetail", jumpDetail); + JSONObject params = new JSONObject(); + params.put("url", configService.get("spike_goods_link") + "?id=" + taoBaoGoodsBrief.getAuctionId()); + goods.put("params", params); + + // 1.5.4鍙婁互鍚庤繑鍥� + if (VersionUtil.greaterThan_1_5_40(acceptData.getPlatform(), acceptData.getVersion())) { + array.add(goods); + } else { + array.add(goods.optJSONObject("goods")); + } } // 缂撳瓨鍗婁釜灏忔椂 redisManager.cacheCommonString(cachekey, array.toString(), 60 * 30); } Long endTime = nextTime.getTimeInMillis() - java.lang.System.currentTimeMillis(); - + JSONObject root = new JSONObject(); root.put("time", nextTime.getTimeInMillis()); - root.put("endTime", endTime > 0? endTime : 0); + root.put("endTime", endTime > 0 ? endTime : 0); root.put("listgoods", array); - - + JSONObject params = new JSONObject(); params.put("url", configService.get("spike_goods_link")); - JumpDetailV2 jumpDetail = jumpDetailV2Service.getByTypeCache("web"); + root.put("params", params); root.put("jumpDetail", jumpDetail); @@ -1924,19 +1955,24 @@ if (!StringUtil.isNullOrEmpty(tb.getPictUrlWhite())) finalImgList.add(0, tb.getPictUrlWhite()); + // 澶ф窐瀹㈠晢鍝佽繃婊� + try { + goods = daTaoKeGoodsDetailService.filterTaoBaoGoods(goods); + } catch (Exception e) { + LogHelper.errorDetailInfo(e); + } JSONObject goodsJson = new JSONObject(); goodsJson.put("auctionId", tb.getAuctionId()); goodsJson.put("imgList", finalImgList); goodsJson.put("title", tb.getTitle()); goodsJson.put("userType", tb.getUserType() == 1 ? 2 : 1); goodsJson.put("price", tb.getReservePrice().toString()); - goodsJson.put("zkPrice", tb.getZkPrice().toString()); + goodsJson.put("zkPrice", MoneyBigDecimalUtil.getWithNoZera(tb.getZkPrice()).toString()); - // 30澶╅攢閲� goodsJson.put("saleCount", TaoBaoUtil.getSaleCount(tb.getBiz30day())); goodsJson.put("salesCount", TaoBaoUtil.getSaleCount(tb.getBiz30day())); - + // 鍒嗕韩璧� BigDecimal shareMoney = taoBaoGoodsBriefService.getShareGoodsUserHongBao(tb); data.put("shareMoney", "楼" + shareMoney); @@ -1977,10 +2013,12 @@ String hongBao = null; // 鑾峰彇鍒镐俊鎭� - if (!StringUtil.isNullOrEmpty(tb.getCouponInfo())) { + if (!StringUtil.isNullOrEmpty(tb.getCouponInfo()) && tb.getCouponAmount() != null + && tb.getCouponAmount().compareTo(new BigDecimal(0)) > 0 && tb.getCouponEffectiveStartTime() != null + && tb.getCouponEffectiveEndTime() != null) { BigDecimal quanPrice = TaoBaoUtil.getAfterUseCouplePrice(tb); JSONObject couponInfo = new JSONObject(); - couponInfo.put("couponPrice", quanPrice.toString()); + couponInfo.put("couponPrice", MoneyBigDecimalUtil.getWithNoZera(quanPrice).toString()); if (from != null && from.equals("miandan")) { // 鍏嶅崟鍟嗗搧 @@ -1995,7 +2033,9 @@ redisManager.saveCommonTaoToken(tb.getAuctionId(), token); } } - tb.setCouponLinkTaoToken(token); + // 娴嬭瘯 + if (!Constant.IS_TEST) + tb.setCouponLinkTaoToken(token); // 鏈嶅姟绔浆閾� // if (convertInServer && @@ -2007,11 +2047,14 @@ // tb.getAuctionId() + "")); // } - couponInfo.put("couponAmount", NumberUtil.subZeroAndDot(tb.getCouponAmount().toString())); + couponInfo.put("couponAmount", MoneyBigDecimalUtil.getWithNoZera(tb.getCouponAmount()).toString()); couponInfo.put("couponTime", "浣跨敤鏈熼檺锛�" + tb.getCouponEffectiveStartTime().replace("-", ".") + "-" + tb.getCouponEffectiveEndTime().replace("-", ".")); // 鍒哥殑鍙d护 - couponInfo.put("couponToken", token); + + // 娴嬭瘯 + if (!Constant.IS_TEST) + couponInfo.put("couponToken", token); goodsJson.put("couponInfo", couponInfo); if (tb.getBiz30day() >= 1000) { @@ -2056,17 +2099,15 @@ } else { tbShopInfo.setUserType("0"); } - + String shopLink = tbShopInfo.getShopUrl(); if (StringUtil.isNullOrEmpty(shopLink)) { tbShopInfo.setShopUrl(TaoBaoUtil.getShopLink(tbShopInfo.getUserId())); } } - - // 搴楅摵 - if (("android".equalsIgnoreCase(acceptData.getPlatform()) && Integer.parseInt(acceptData.getVersion()) >= 40) - || ("ios".equalsIgnoreCase(acceptData.getPlatform()) - && Integer.parseInt(acceptData.getVersion()) >= 49)) { + + // 搴楅摵1.5.4鍙婁互鍚庣増鏈� + if (VersionUtil.greaterThan_1_5_40(acceptData.getPlatform(), acceptData.getVersion())) { TaoBaoShop shop = taoBaoShopService.getTaoBaoShop(goods.getAuctionId(), goods.getSellerId()); if (shop != null) { String shopLink = shop.getShopLink(); @@ -2079,7 +2120,7 @@ goodsJson.put("shopInfo", tbShopInfo); } - goodsJson.put("fanliValid",true);// 鏄惁鏈夎繑鍒� + goodsJson.put("fanliValid", true);// 鏄惁鏈夎繑鍒� // 鍒嗕韩璺緞 String shareUrl = String.format("%s?id=" + tb.getAuctionId(), Constant.systemCommonConfig.getAppShareInfoUrl()); @@ -2097,9 +2138,9 @@ data.put("shareUsers", listShareUser); data.put("couponUsers", listCouponUser); data.put("detailWebUrl", "http://apph5.yeshitv.com/apppage/goods_img.html?id=" + id); - + data.put("noRebateHelpLink", configService.get("no_rebate_help_link")); - + // 鍟嗗搧閾炬帴 String h5Url = String.format("http://%s%s?id=%s&appType=flq", configService.getH5Host(), Constant.systemCommonConfig.getShareGoodsPagePath(), tb.getAuctionId() + ""); @@ -2238,7 +2279,7 @@ e1.printStackTrace(); } - if (goodsList != null) + if (goodsList != null && goodsList.size() > 0) goodsList.parallelStream().forEach(goods -> { // 鑾峰彇璇︽儏 -- Gitblit v1.8.0