From 09c716a16d02ddb06df2bc2af5e588128bc7fdb4 Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期二, 05 十一月 2019 11:30:41 +0800 Subject: [PATCH] 品牌接口恢复 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v2/TaoLiJinControllerV2.java | 316 +++++++++++++++++---------------------------------- 1 files changed, 107 insertions(+), 209 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 2762ca9..7d2e3ba 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 @@ -26,42 +26,36 @@ import com.google.gson.TypeAdapter; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; +import com.yeshi.fanli.dto.ConfigParamsDTO; import com.yeshi.fanli.entity.accept.AcceptData; import com.yeshi.fanli.entity.bus.homemodule.SwiperPicture; -import com.yeshi.fanli.entity.bus.tlj.DeviceTaoLiJinRecord; import com.yeshi.fanli.entity.bus.tlj.UserTaoLiJinDetail.TaoLiJinDetailTypeEnum; -import com.yeshi.fanli.entity.bus.tlj.UserTaoLiJinOrigin; -import com.yeshi.fanli.entity.bus.tlj.UserTaoLiJinOrigin.TaoLiJinOriginEnum; import com.yeshi.fanli.entity.bus.user.UserMoneyExtra; -import com.yeshi.fanli.entity.bus.user.UserRank; import com.yeshi.fanli.entity.taobao.ShareHotGoods; 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.tlj.UserTaoLiJinOriginException; import com.yeshi.fanli.service.inter.common.JumpDetailV2Service; import com.yeshi.fanli.service.inter.config.ConfigService; import com.yeshi.fanli.service.inter.goods.ShareGoodsService; import com.yeshi.fanli.service.inter.goods.ShareGoodsTextTemplateService; import com.yeshi.fanli.service.inter.homemodule.SwiperPictureService; -import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService; import com.yeshi.fanli.service.inter.lable.QualityGoodsService; +import com.yeshi.fanli.service.inter.money.UserMoneyExtraService; import com.yeshi.fanli.service.inter.monitor.BusinessEmergent110Service; import com.yeshi.fanli.service.inter.monitor.MonitorService; +import com.yeshi.fanli.service.inter.order.config.HongBaoManageService; import com.yeshi.fanli.service.inter.taobao.ShareHotGoodsService; import com.yeshi.fanli.service.inter.taobao.TLJBuyGoodsService; import com.yeshi.fanli.service.inter.tlj.ConfigTaoLiJinService; -import com.yeshi.fanli.service.inter.tlj.DeviceTaoLiJinRecordService; import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinDetailService; import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinOriginService; import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinRecordService; -import com.yeshi.fanli.service.inter.user.UserExtraTaoBaoInfoService; import com.yeshi.fanli.service.inter.user.UserInfoExtraService; import com.yeshi.fanli.service.inter.user.UserInfoService; -import com.yeshi.fanli.service.inter.user.UserMoneyExtraService; import com.yeshi.fanli.service.inter.user.UserShareGoodsRecordService; +import com.yeshi.fanli.service.inter.user.tb.UserExtraTaoBaoInfoService; import com.yeshi.fanli.util.Constant; -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; @@ -131,9 +125,6 @@ @Resource private QualityGoodsService qualityGoodsService; - - @Resource - private DeviceTaoLiJinRecordService deviceTaoLiJinRecordService; @Resource private JumpDetailV2Service jumpDetailV2Service; @@ -212,8 +203,8 @@ return; } - // 杩囨湡 - userTaoLiJinOriginService.overdueHongBao(uid); + // 杩囨湡 -鍙栨秷鏀跺洖 + // userTaoLiJinOriginService.overdueHongBao(uid); // 鎴戠殑娣樼ぜ閲� BigDecimal tlj = null; @@ -233,18 +224,33 @@ BigDecimal thisMonthWin = userTaoLiJinOriginService.countMoneyByDate(uid, 3); BigDecimal lastMonthWin = userTaoLiJinOriginService.countMoneyByDate(uid, 4); + BigDecimal zero = new BigDecimal(0); // 娑堣�� BigDecimal todayUse = userTaoLiJinDetailService.countUseMoneyByDate(uid, 1); - BigDecimal yesterdayUse = userTaoLiJinDetailService.countUseMoneyByDate(uid, 2); - BigDecimal thisMonthUse = userTaoLiJinDetailService.countUseMoneyByDate(uid, 3); - BigDecimal lastMonthUse = userTaoLiJinDetailService.countUseMoneyByDate(uid, 4); + if (todayUse == null || todayUse.compareTo(zero) > 0) { + todayUse = zero; + } - // 闂彿閾炬帴 - String helpLink = configTaoLiJinService.getValueByKey("hongbao_help_link"); + BigDecimal yesterdayUse = userTaoLiJinDetailService.countUseMoneyByDate(uid, 2); + if (yesterdayUse == null || yesterdayUse.compareTo(zero) > 0) { + yesterdayUse = zero; + } + BigDecimal thisMonthUse = userTaoLiJinDetailService.countUseMoneyByDate(uid, 3); + if (thisMonthUse == null || thisMonthUse.compareTo(zero) > 0) { + thisMonthUse = zero; + } + BigDecimal lastMonthUse = userTaoLiJinDetailService.countUseMoneyByDate(uid, 4); + if (lastMonthUse == null || lastMonthUse.compareTo(zero) > 0) { + lastMonthUse = zero; + } + + String giveMin = configTaoLiJinService.getValueByKey("give_min_amount"); JSONObject data = new JSONObject(); data.put("tlj", tlj.setScale(2).toString()); - data.put("helpLink", helpLink); + data.put("giveMin", giveMin); + data.put("giveTip", "娉�:璧犻�佹帹骞跨孩鍖呴噾棰濊嚦灏�" + giveMin + "鍏�"); + data.put("helpLink", configTaoLiJinService.getValueByKey("hongbao_help_link")); data.put("countShare", countShare); data.put("todayWin", todayWin.setScale(2).toString()); data.put("yesterdayWin", yesterdayWin.setScale(2).toString()); @@ -359,140 +365,7 @@ out.print(JsonUtil.loadTrueResult(data)); } - /** - * 绾㈠寘棰嗗彇璇︽儏 - * - * @param acceptData - * @param uid - * @param type - * @param out - */ - @RequestMapping(value = "getHongbaoDetails", method = RequestMethod.POST) - public void getHongbaoDetails(AcceptData acceptData, Long uid, String type, PrintWriter out) { - - if (StringUtil.isNullOrEmpty(type)) { - out.print(JsonUtil.loadFalseResult(1, "绫诲瀷涓嶈兘涓虹┖")); - return; - } - - // 鐢ㄦ埛鏈櫥褰曟椂 璁惧棰嗗彇鏂扮孩鍖� - if (uid == null || uid <= 0) { - BigDecimal money = null; - DeviceTaoLiJinRecord deviceRecord = deviceTaoLiJinRecordService.getByDevice(acceptData.getDevice()); - if (deviceRecord != null) { - // 宸查鍙� - money = deviceRecord.getMoney(); - } else { - String value = configTaoLiJinService.getValueByKey("hongbao_newbies"); - if (StringUtil.isNullOrEmpty(value)) { - out.print(JsonUtil.loadFalseResult(1, "绯荤粺绾㈠寘涓嶅瓨鍦�")); - return; - } - money = new BigDecimal(value); - deviceTaoLiJinRecordService.save(acceptData.getDevice(), money); - } - - JSONObject data = new JSONObject(); - data.put("icon", configTaoLiJinService.getValueByKey("taolijin_system_icon")); - data.put("title", "鏂颁汉绾㈠寘"); - data.put("content", "鑷喘鐩存帴鎶电幇锛屼紭鎯犵湡瀹炲彲瑙侊紒"); - data.put("type", 1); - data.put("money", money.setScale(2).toString()); - data.put("usage", "棰嗗彇鎴愬姛锛屽凡瀛樺叆鈥滄垜鐨�-鎺ㄥ箍绾㈠寘鈥�"); - data.put("jumpName", "鍘讳娇鐢�"); - data.put("jumpDetail", jumpDetailV2Service.getByTypeCache("share_goods_hot")); - data.put("tip", configTaoLiJinService.getValueByKey("hongbao_newbies_tip")); - data.put("rules", configTaoLiJinService.getValueByKey("newbies_rules_link")); - - out.print(JsonUtil.loadTrueResult(data)); - return; - } - - // 鐧诲綍鐢ㄦ埛 - JSONObject data = new JSONObject(); - data.put("icon", configTaoLiJinService.getValueByKey("taolijin_system_icon")); - - if (type.equals(TaoLiJinOriginEnum.newbiesWin.name())) { - BigDecimal hasMoney = null; - UserTaoLiJinOrigin userTaoLiJin = userTaoLiJinOriginService.getByUidAndOrigin(uid, type); - if (userTaoLiJin != null) { // 宸查鍙� - hasMoney = userTaoLiJin.getMoney(); - } else { - try { - UserTaoLiJinOrigin origin = userTaoLiJinOriginService.addNewbiesWinMoney(uid); - hasMoney = origin.getMoney(); - } catch (UserTaoLiJinOriginException e) { - out.print(JsonUtil.loadFalseResult(e.getMsg())); - return; - } - } - - data.put("title", "鏂颁汉绾㈠寘"); - data.put("content", "鑷喘鐩存帴鎶电幇锛屼紭鎯犵湡瀹炲彲瑙侊紒"); - data.put("type", 1); - data.put("money", hasMoney.setScale(2).toString()); - data.put("usage", "棰嗗彇鎴愬姛锛屽凡瀛樺叆鈥滄垜鐨�-鎺ㄥ箍绾㈠寘鈥�"); - data.put("jumpName", "鍘讳娇鐢�"); - data.put("jumpDetail", jumpDetailV2Service.getByTypeCache("share_goods_hot")); - data.put("tip", configTaoLiJinService.getValueByKey("hongbao_newbies_tip")); - data.put("rules", configTaoLiJinService.getValueByKey("newbies_rules_link")); - - } else if (type.equals(TaoLiJinOriginEnum.rankWin.name())) { - boolean isRank = false; - BigDecimal hasMoney = null; - UserTaoLiJinOrigin userTaoLiJin = userTaoLiJinOriginService.getRankByThisMonth(uid, type); - if (userTaoLiJin != null) { // 宸查鍙� - isRank = true; - hasMoney = userTaoLiJin.getMoney(); - } else { - isRank = false; - UserRank userRank = userInfoExtraService.gerUserRank(uid); - if (userRank != null) { - try { - UserTaoLiJinOrigin origin = userTaoLiJinOriginService.addRankWinMoney(uid, userRank); - hasMoney = origin.getMoney(); - isRank = true; - } catch (UserTaoLiJinOriginException e) { - if (e.getCode() != 2) { - isRank = false; - out.print(JsonUtil.loadFalseResult(e.getMsg())); - return; - } - } - } - } - - // 绛夌骇涓嶈冻 - if (!isRank) { - data.put("title", "璐︽埛绛夌骇绂忓埄"); - data.put("content", "鎺ㄥ箍绾㈠寘锛屽ソ鍙嬬鍒╋紒"); - data.put("type", 2); - data.put("money", "鏈湀璐︽埛绛夌骇鏈揪鍒癨r\n缁х画鍔犳补"); - data.put("jumpName", "鍘绘煡鐪�"); - data.put("jumpDetail", jumpDetailV2Service.getByTypeCache("user_rank")); - data.put("tip", configTaoLiJinService.getValueByKey("hongbao_rank_not_enough_tip")); - data.put("rules", configTaoLiJinService.getValueByKey("rank_rules_link")); - out.print(JsonUtil.loadTrueResult(data)); - return; - } else { - data.put("title", "璐︽埛绛夌骇绂忓埄"); - data.put("content", "鎺ㄥ箍绾㈠寘锛屽ソ鍙嬬鍒╋紒"); - data.put("type", 1); - data.put("money", hasMoney.setScale(2).toString()); - data.put("usage", "棰嗗彇鎴愬姛锛屽凡瀛樺叆鈥滄垜鐨�-鎺ㄥ箍绾㈠寘鈥�"); - data.put("jumpName", "鍘讳娇鐢�"); - data.put("jumpDetail", jumpDetailV2Service.getByTypeCache("share_goods_hot")); - data.put("tip", configTaoLiJinService.getValueByKey("hongbao_rank_tip")); - data.put("rules", configTaoLiJinService.getValueByKey("rank_rules_link")); - } - - } else { - out.print(JsonUtil.loadFalseResult(1, "绫诲瀷涓嶅尮閰�")); - return; - } - - out.print(JsonUtil.loadTrueResult(data)); - } + /** * 鍒嗕韩鐖嗘鍟嗗搧-闄愪簬娣樼ぜ閲� @@ -527,7 +400,7 @@ } } - BigDecimal proportion = hongBaoManageService.getFanLiRate(); + BigDecimal proportion = hongBaoManageService.getTLJShareRate(System.currentTimeMillis()); for (ShareHotGoods hotGoods : listHot) { TaoBaoGoodsBrief taoBaoGoodsBrief = hotGoods.getGoods(); if (taoBaoGoodsBrief == null) { @@ -535,7 +408,7 @@ } // 璁$畻鎺ㄥ箍绾㈠寘 - String warningRate = configTaoLiJinService.getValueByKey("warning_value"); + String warningRate = configTaoLiJinService.getValueByKey("warning_value", new Date()); BigDecimal spreadMoney = TaoLiJinUtil.getSpreadMoney(warningRate, taoBaoGoodsBrief); // 鎺ㄥ箍绾㈠寘 涓嶈兘灏忎簬1 @@ -559,46 +432,40 @@ array.add(gson.toJson(extra)); } - executor.execute(new Runnable() { - @Override - public void run() { - // 杩囨湡 - userTaoLiJinOriginService.overdueHongBao(uid); - } - }); + /* + * // 杩囨湡 -鍙栨秷鏀跺洖 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)); } - - + /** * 鍒嗕韩鐖嗘鍟嗗搧-闄愪簬娣樼ぜ閲� + * * @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>(); + 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); + + // 鍙栨秷鏂颁汉鑷喘 + boolean isNewUser = false;// userInfoExtraService.isNewUser(uid); if (isNewUser) { // 鍒ゅ畾涓鸿�佺敤鎴凤細 鏂颁汉鍙浣跨敤浜嗘柊浜虹孩鍖咃紝涔熷氨鏄偅1鍧楅挶锛岄偅涔堬紝浠栫湅鍒扮殑鍒嗕韩鐖嗘涓殑鍟嗗搧-灏卞彧鑳藉垎浜�� long countRecord = userTaoLiJinRecordService.countRecordByUid(uid); @@ -606,33 +473,43 @@ isNewUser = false; } } - - - BigDecimal fanLiRate = hongBaoManageService.getFanLiRate(); - BigDecimal shareRate = hongBaoManageService.getShareRate(); + + BigDecimal fanLiRate = hongBaoManageService.getTLJShareRate(System.currentTimeMillis()); + BigDecimal shareRate = hongBaoManageService.getTLJShareRate(System.currentTimeMillis()); + ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE); + for (ShareHotGoods hotGoods : listHot) { TaoBaoGoodsBrief taoBaoGoodsBrief = hotGoods.getGoods(); if (taoBaoGoodsBrief == null) { continue; } - + // 璁$畻鎺ㄥ箍绾㈠寘 - String warningRate = configTaoLiJinService.getValueByKey("warning_value"); + String warningRate = configTaoLiJinService.getValueByKey("warning_value", new Date()); BigDecimal spreadMoney = TaoLiJinUtil.getSpreadMoney(warningRate, taoBaoGoodsBrief); - + // 鎺ㄥ箍绾㈠寘 涓嶈兘灏忎簬1 if (spreadMoney.compareTo(new BigDecimal(1.1)) < 0) { continue; } + + GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, paramsDTO); - GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, null, fanLiRate, shareRate); + // 澶т簬1.6.5鐨勬墠浼氭樉绀虹鍒╀环 + if (com.yeshi.fanli.util.VersionUtil.greaterThan_1_6_5(acceptData.getPlatform(), acceptData.getVersion())) { + if (detailVO.getCouponPrice() != null && detailVO.getCouponPrice().compareTo(new BigDecimal(0)) > 0) + detailVO.setCouponPrice(detailVO.getCouponPrice().subtract(spreadMoney)); + else + detailVO.setZkPrice(detailVO.getZkPrice().subtract(spreadMoney)); + } + // 鍘绘帀鏍囩 detailVO.setLabels(null); - + MoneyInfoVO moneyInfo = detailVO.getMoneyInfo(); OtherInfo otherInfo = new OtherInfo(); SpreadHongBao spreadHongBao = new SpreadHongBao(); - + // 鏄剧ず绫诲瀷 if (isNewUser) { moneyInfo.setMoneyType(1); @@ -646,26 +523,23 @@ 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); - } - }); - + + /* + * 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)); } - - /** * 鍒嗕韩鐖嗘鍟嗗搧-闄愪簬娣樼ぜ閲� * @@ -729,17 +603,17 @@ 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)); } - + /** * 鍒嗕韩鐖嗘鍟嗗搧-闄愪簬娣樼ぜ閲� * @@ -761,6 +635,7 @@ .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create(); BigDecimal proportion = TaoBaoConstant.OWN_BUY_WITHOUT_FANLI_RATE; + ConfigParamsDTO paramsDTO = new ConfigParamsDTO(proportion, proportion, Constant.MAX_REWARD_RATE); for (TLJBuyGoods hotGoods : listHot) { TaoBaoGoodsBrief taoBaoGoodsBrief = hotGoods.getGoods(); if (taoBaoGoodsBrief == null) { @@ -775,26 +650,36 @@ continue; } - GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, null, proportion, proportion); + GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, paramsDTO); + + // 澶т簬1.6.5鐨勬墠浼氭樉绀虹鍒╀环 + if (com.yeshi.fanli.util.VersionUtil.greaterThan_1_6_5(acceptData.getPlatform(), acceptData.getVersion())) { + if (detailVO.getCouponPrice() != null && detailVO.getCouponPrice().compareTo(new BigDecimal(0)) > 0) + detailVO.setCouponPrice(detailVO.getCouponPrice().subtract(spreadMoney)); + else + detailVO.setZkPrice(detailVO.getZkPrice().subtract(spreadMoney)); + } + // 鍘绘帀鏍囩 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("浠樻绔嬪噺 楼" + hongBao); + 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) @@ -805,15 +690,28 @@ 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)); } + /** + * 璧犻�佹窐绀奸噾 + * + * @param acceptData + * @param uid + * @param amount + * @param out + */ + @RequestMapping(value = "giveTLJ", method = RequestMethod.POST) + public void giveTLJ(AcceptData acceptData, Long uid, BigDecimal amount, PrintWriter out) { + out.print(JsonUtil.loadFalseResult(1, "鎶辨瓑锛屾帹骞跨孩鍖呯浉鍏冲姛鑳藉凡涓嬬嚎锛�")); + } + } -- Gitblit v1.8.0