From 784af16411d97c3e14f81dd4ebf1380c8b9effb0 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 31 七月 2019 10:33:18 +0800 Subject: [PATCH] 智能推荐修改 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v2/TaoLiJinControllerV2.java | 199 +++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 190 insertions(+), 9 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/TaoLiJinControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/TaoLiJinControllerV2.java index 20b239b..f0a4374 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/TaoLiJinControllerV2.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/TaoLiJinControllerV2.java @@ -38,7 +38,6 @@ 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.exception.banner.SwiperPictureException; import com.yeshi.fanli.exception.tlj.UserTaoLiJinOriginException; import com.yeshi.fanli.service.inter.common.JumpDetailV2Service; import com.yeshi.fanli.service.inter.config.ConfigService; @@ -65,10 +64,16 @@ import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.TaoBaoConstant; import com.yeshi.fanli.util.TimeUtil; +import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory; import com.yeshi.fanli.util.taobao.TaoBaoUtil; import com.yeshi.fanli.util.taobao.TaoLiJinUtil; +import com.yeshi.fanli.vo.goods.GoodsDetailVO; +import com.yeshi.fanli.vo.goods.MoneyInfoVO; +import com.yeshi.fanli.vo.goods.OtherInfo; import com.yeshi.fanli.vo.goods.taobao.TLJBuyHongBaoVO; import com.yeshi.fanli.vo.msg.ClientTextStyleVO; +import com.yeshi.fanli.vo.tlj.ReduceHongBao; +import com.yeshi.fanli.vo.tlj.SpreadHongBao; import com.yeshi.fanli.vo.tlj.TaoLiJinDetailVO; import com.yeshi.fanli.vo.user.UserTaoLiJinRecordVO; @@ -587,7 +592,100 @@ data.put("list", array); out.print(JsonUtil.loadTrueResult(data)); } + + + /** + * 鍒嗕韩鐖嗘鍟嗗搧-闄愪簬娣樼ぜ閲� + * @param acceptData + * @param uid + * @param out + */ + @RequestMapping(value = "getShareGoodsV2", method = RequestMethod.POST) + public void getShareGoodsV2(AcceptData acceptData, Long uid, PrintWriter out) { + if (uid == null || uid <= 0) { + out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�")); + return; + } + + String day = TimeUtil.getGernalTime(java.lang.System.currentTimeMillis()); + List<ShareHotGoods> listHot = shareHotGoodsService.listByDay(day); + if (listHot == null) { + listHot = new ArrayList<ShareHotGoods>(); + } + + + JSONArray array = new JSONArray(); + Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()) + .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create(); + + boolean isNewUser = userInfoExtraService.isNewUser(uid); + if (isNewUser) { + // 鍒ゅ畾涓鸿�佺敤鎴凤細 鏂颁汉鍙浣跨敤浜嗘柊浜虹孩鍖咃紝涔熷氨鏄偅1鍧楅挶锛岄偅涔堬紝浠栫湅鍒扮殑鍒嗕韩鐖嗘涓殑鍟嗗搧-灏卞彧鑳藉垎浜�� + long countRecord = userTaoLiJinRecordService.countRecordByUid(uid); + if (countRecord > 0) { + isNewUser = false; + } + } + + + BigDecimal fanLiRate = hongBaoManageService.getFanLiRate(); + BigDecimal shareRate = hongBaoManageService.getShareRate(); + for (ShareHotGoods hotGoods : listHot) { + TaoBaoGoodsBrief taoBaoGoodsBrief = hotGoods.getGoods(); + if (taoBaoGoodsBrief == null) { + continue; + } + + // 璁$畻鎺ㄥ箍绾㈠寘 + String warningRate = configTaoLiJinService.getValueByKey("warning_value"); + BigDecimal spreadMoney = TaoLiJinUtil.getSpreadMoney(warningRate, taoBaoGoodsBrief); + + // 鎺ㄥ箍绾㈠寘 涓嶈兘灏忎簬1 + if (spreadMoney.compareTo(new BigDecimal(1.1)) < 0) { + continue; + } + + GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, null, fanLiRate, shareRate); + // 鍘绘帀鏍囩 + detailVO.setLabels(null); + + MoneyInfoVO moneyInfo = detailVO.getMoneyInfo(); + OtherInfo otherInfo = new OtherInfo(); + SpreadHongBao spreadHongBao = new SpreadHongBao(); + + // 鏄剧ず绫诲瀷 + if (isNewUser) { + moneyInfo.setMoneyType(1); + spreadHongBao.setName("鎺ㄥ箍绾㈠寘"); + spreadHongBao.setMoney(" 楼1"); + } else { + moneyInfo.setMoneyType(2); + spreadHongBao.setName("鎺ㄥ箍绾㈠寘"); + spreadHongBao.setMoney(" 楼" + spreadMoney); + } + detailVO.setMoneyInfo(moneyInfo); + otherInfo.setSpreadHongBao(spreadHongBao); + detailVO.setOtherInfo(otherInfo); + + array.add(gson.toJson(detailVO)); + } + + executor.execute(new Runnable() { + @Override + public void run() { + // 杩囨湡 + userTaoLiJinOriginService.overdueHongBao(uid); + } + }); + + JSONObject data = new JSONObject(); + data.put("count", array.size()); + data.put("list", array); + out.print(JsonUtil.loadTrueResult(data)); + } + + /** * 鍒嗕韩鐖嗘鍟嗗搧-闄愪簬娣樼ぜ閲� * @@ -618,6 +716,11 @@ // 璁$畻鎺ㄥ箍绾㈠寘 BigDecimal spreadMoney = TaoBaoUtil.getGoodsHongBaoMoney(taoBaoGoodsBrief, proportion); + // 鎺ㄥ箍绾㈠寘 涓嶈兘灏忎簬1 + if (spreadMoney.compareTo(new BigDecimal(1.0)) < 0) { + continue; + } + TaoBaoGoodsBriefExtra extra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null); // 鍘绘帀鏍囩 @@ -645,15 +748,93 @@ data.put("count", array.size()); data.put("list", array); if (page == 1) { - try { - List<SwiperPicture> bannerList = swiperPictureService.getByBannerCard("zigoulijian_banner"); - if (bannerList != null && bannerList.size() > 0) - data.put("topPicture", bannerList.get(0).getSrc()); - else - data.put("topPicture", ""); - } catch (SwiperPictureException e) { - e.printStackTrace(); + List<SwiperPicture> bannerList = swiperPictureService.getByBannerCard("zigoulijian_banner"); + + if (bannerList != null && bannerList.size() > 0) + data.put("topPicture", bannerList.get(0).getSrc()); + else + data.put("topPicture", ""); + + data.put("ruleUrl", configService.get("zigoulijian_rule")); + } + out.print(JsonUtil.loadTrueResult(data)); + } + + + /** + * 鍒嗕韩鐖嗘鍟嗗搧-闄愪簬娣樼ぜ閲� + * + * @param acceptData + * @param uid + * @param out + */ + @RequestMapping(value = "getBuyGoodsV2", method = RequestMethod.POST) + public void getBuyGoodsV2(AcceptData acceptData, int page, PrintWriter out) { + + String day = TimeUtil.getGernalTime(java.lang.System.currentTimeMillis()); + List<TLJBuyGoods> listHot = tljBuyGoodsService.listByDay(day); + if (listHot == null) { + listHot = new ArrayList<TLJBuyGoods>(); + } + + JSONArray array = new JSONArray(); + Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()) + .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create(); + + BigDecimal proportion = TaoBaoConstant.OWN_BUY_WITHOUT_FANLI_RATE; + for (TLJBuyGoods hotGoods : listHot) { + TaoBaoGoodsBrief taoBaoGoodsBrief = hotGoods.getGoods(); + if (taoBaoGoodsBrief == null) { + continue; } + + // 璁$畻鎺ㄥ箍绾㈠寘 + BigDecimal spreadMoney = TaoBaoUtil.getGoodsHongBaoMoney(taoBaoGoodsBrief, proportion); + + // 鎺ㄥ箍绾㈠寘 涓嶈兘灏忎簬1 + if (spreadMoney.compareTo(new BigDecimal(1.0)) < 0) { + continue; + } + + + GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, null, proportion, proportion); + // 鍘绘帀鏍囩 + detailVO.setLabels(null); + + + MoneyInfoVO moneyInfo = detailVO.getMoneyInfo(); + moneyInfo.setMoneyType(2); + detailVO.setMoneyInfo(moneyInfo); + + String hongBao = spreadMoney.toString(); + ReduceHongBao vo = new ReduceHongBao(); + vo.setLeft(hotGoods.getLeftHongBaoCount()); + vo.setMoney(" 楼" + hongBao); + vo.setName("浠樻绔嬪噺 "); + vo.setTip(""); + vo.setTotal(hotGoods.getTotalHongBaoCount()); + + OtherInfo otherInfo = new OtherInfo(); + otherInfo.setReduceHongBao(vo); + detailVO.setOtherInfo(otherInfo); + + array.add(gson.toJson(detailVO)); + } + + if (page > 1) + array.clear(); + + JSONObject data = new JSONObject(); + data.put("count", array.size()); + data.put("list", array); + if (page == 1) { + List<SwiperPicture> bannerList = swiperPictureService.getByBannerCard("zigoulijian_banner"); + + if (bannerList != null && bannerList.size() > 0) + data.put("topPicture", bannerList.get(0).getSrc()); + else + data.put("topPicture", ""); + data.put("ruleUrl", configService.get("zigoulijian_rule")); } out.print(JsonUtil.loadTrueResult(data)); -- Gitblit v1.8.0