From aa552facf6d833acab0d3e3e29bda2a0fb826ffe Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期一, 25 十一月 2019 16:14:13 +0800 Subject: [PATCH] 品牌缓存生效 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RedPackControllerV2.java | 192 +++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 159 insertions(+), 33 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RedPackControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RedPackControllerV2.java index 0179e53..3c46f78 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RedPackControllerV2.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RedPackControllerV2.java @@ -26,23 +26,34 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.yeshi.fanli.entity.accept.AcceptData; +import com.yeshi.fanli.entity.bus.homemodule.SwiperPicture; import com.yeshi.fanli.entity.bus.user.UserInfo; +import com.yeshi.fanli.entity.bus.user.UserInfoExtra; import com.yeshi.fanli.entity.redpack.RedPackDetail.RedPackDetailTypeEnum; import com.yeshi.fanli.entity.redpack.RedPackExchange; import com.yeshi.fanli.entity.redpack.RedPackWinInvite; import com.yeshi.fanli.entity.redpack.RedPackWinInvite.RedPackWinInviteTypeEnum; import com.yeshi.fanli.exception.redpack.RedPackExchangeException; import com.yeshi.fanli.exception.redpack.RedPackGiveRecordException; +import com.yeshi.fanli.service.inter.common.JumpDetailV2Service; +import com.yeshi.fanli.service.inter.homemodule.SwiperPictureService; import com.yeshi.fanli.service.inter.redpack.RedPackBalanceService; import com.yeshi.fanli.service.inter.redpack.RedPackConfigService; import com.yeshi.fanli.service.inter.redpack.RedPackDetailService; import com.yeshi.fanli.service.inter.redpack.RedPackExchangeService; +import com.yeshi.fanli.service.inter.redpack.RedPackForbidService; import com.yeshi.fanli.service.inter.redpack.RedPackGiveRecordService; import com.yeshi.fanli.service.inter.redpack.RedPackWinInviteService; +import com.yeshi.fanli.service.inter.redpack.RedPackWinNewUserService; +import com.yeshi.fanli.service.inter.user.UserInfoExtraService; import com.yeshi.fanli.service.inter.user.UserInfoService; +import com.yeshi.fanli.service.inter.user.UserSystemCouponService; import com.yeshi.fanli.util.Constant; +import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.TimeUtil; +import com.yeshi.fanli.util.UserInviteUtil; import com.yeshi.fanli.vo.redpack.RedPackDetailVO; +import com.yeshi.fanli.vo.redpack.RedPackWinDetailVO; import com.yeshi.fanli.vo.redpack.RedPackWinInviteVO; import net.sf.json.JSONObject; @@ -59,19 +70,36 @@ @Resource private RedPackDetailService redPackDetailService; - - @Resource + + @Resource private RedPackGiveRecordService redPackGiveRecordService; - - @Resource + + @Resource private RedPackExchangeService redPackExchangeService; - - @Resource + + @Resource private RedPackWinInviteService redPackWinInviteService; - - @Resource + + @Resource + private RedPackWinNewUserService redPackWinNewUserService; + + @Resource private UserInfoService userInfoService; + + @Resource + private UserInfoExtraService userInfoExtraService; + + @Resource + private JumpDetailV2Service jumpDetailV2Service; + + @Resource + private SwiperPictureService swiperPictureService; + @Resource + private UserSystemCouponService userSystemCouponService; + + @Resource + private RedPackForbidService redPackForbidService; /** * 缁熻 @@ -96,7 +124,7 @@ BigDecimal yesterdayUse = zero; BigDecimal thisMonthUse = zero; BigDecimal lastMonthUse = zero; - BigDecimal balance = redPackBalanceService.getBalance(uid); + BigDecimal balance = redPackBalanceService.getBalance(uid);; if (balance == null) { balance = zero; } else { @@ -131,10 +159,10 @@ tips.add("浣犱篃鍙互閫夋嫨浣跨敤绾㈠寘锛屼韩鍙楃粰鍔涙姌鎵c��"); String giveMin = redPackConfigService.getValueByKey("give_money_min"); String giveMax = redPackConfigService.getValueByKey("give_money_max"); - + // 姝e湪鎻愮幇閲戦 BigDecimal extractingMoney = redPackExchangeService.countMoneyByUidAndState(uid, RedPackExchange.STATE_INIT); - + JSONObject data = new JSONObject(); data.put("balance", balance.setScale(2).toString()); data.put("helpLink", redPackConfigService.getValueByKey("desc_help_link")); @@ -142,15 +170,15 @@ data.put("giveMax", giveMax); data.put("giveDesc", "娉�:绾㈠寘璧犻�侀噾棰濊嚦灏�" + giveMin + "鍏冭嚦澶�" + giveMax + "鍏�"); - if (extractingMoney != null && extractingMoney.compareTo(zero) > 0) + if (extractingMoney != null && extractingMoney.compareTo(zero) > 0) data.put("extractingInfo", "鎻愮幇涓細楼" + extractingMoney.setScale(2)); - + data.put("extractShortage", tips); data.put("extractMin", redPackConfigService.getValueByKey("extract_money_min")); data.put("extractMax", redPackConfigService.getValueByKey("extract_money_max")); data.put("extractBanlenMin", redPackConfigService.getValueByKey("extract_banlen_min")); data.put("extractDesc", "娉細3涓伐浣滄棩鍐呭畬鎴愬鏍革紝绾㈠寘鎻愮幇鎴愬姛鍚庡皢浼氳繘鍏ュ埌浣欓銆�"); - + data.put("useLink", redPackConfigService.getValueByKey("use_link")); data.put("todayWin", todayWin.setScale(2).toString()); @@ -169,9 +197,12 @@ * * @param acceptData * @param uid - * @param index List鏈�鏈殑涓婚敭ID - * @param year 骞翠唤 - * @param month 鏈堜唤 + * @param index + * List鏈�鏈殑涓婚敭ID + * @param year + * 骞翠唤 + * @param month + * 鏈堜唤 * @param out */ @RequestMapping(value = "getMoneyDetails") @@ -237,7 +268,6 @@ } }); - Gson gson = gsonBuilder.create(); JSONObject data = new JSONObject(); @@ -269,10 +299,9 @@ } } - - /** * 杞崲绾㈠寘涓虹湡瀹為噾閽� + * * @param acceptData * @param uid * @param amount @@ -292,26 +321,33 @@ out.print(JsonUtil.loadFalseResult(1, e.getMsg())); } } - - - - @RequestMapping(value = "getRewardList", method = RequestMethod.POST) - public void getRewardList(AcceptData acceptData, Integer page, Long uid, PrintWriter out) { + + /** + * 绾㈠寘閭�璇疯繘搴� + * + * @param acceptData + * @param page + * @param uid + * @param out + */ + @RequestMapping(value = "getRewardList") + public void getRewardList(AcceptData acceptData, Integer page, Long uid, String callback, PrintWriter out) { if (uid == null || uid <= 0) { out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�")); return; } - + if (page == null || page < 1) { out.print(JsonUtil.loadFalseResult(1, "椤电爜涓嶆纭�")); return; } - + List<RedPackWinInviteVO> list = new ArrayList<RedPackWinInviteVO>(); - - List<RedPackWinInvite> listRecord = redPackWinInviteService.getRewardList((page - 1) * Constant.PAGE_SIZE, Constant.PAGE_SIZE, uid); + + List<RedPackWinInvite> listRecord = redPackWinInviteService.getRewardList((page - 1) * Constant.PAGE_SIZE, + Constant.PAGE_SIZE, uid); if (listRecord != null && !listRecord.isEmpty()) { - for (RedPackWinInvite record: listRecord) { + for (RedPackWinInvite record : listRecord) { UserInfo user = null; RedPackWinInviteVO winVO = new RedPackWinInviteVO(); RedPackWinInviteTypeEnum type = record.getType(); @@ -327,10 +363,100 @@ list.add(winVO); } } - + JSONObject data = new JSONObject(); + data.put("winMoney", redPackWinInviteService.getRewardMoney(uid).setScale(2)); data.put("count", redPackWinInviteService.countRewardRecord(uid)); - data.put("list", JsonUtil.getApiCommonGson().toJson(list)); - out.print(JsonUtil.loadTrueResult(data)); + data.put("list", JsonUtil.getApiCommonGson().toJson(list)); + if (!StringUtil.isNullOrEmpty(callback)) { + out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(data))); + } else { + out.print(JsonUtil.loadTrueResult(data)); + } + } + + /** + * 鐢ㄦ埛鍩虹淇℃伅 + * + * @param acceptData + * @param uid + * @param out + */ + @RequestMapping(value = "getBasicInfo") + public void getBasicInfo(AcceptData acceptData, Long uid, String callback, PrintWriter out) { + if (uid == null || uid <= 0) { + out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�")); + return; + } + + JSONObject data = new JSONObject(); + data.put("balance", redPackBalanceService.getBalance(uid)); + data.put("ruleLink", redPackConfigService.getValueByKey("invite_reward_rule_link")); + data.put("shareLink", UserInviteUtil.getShareUrl(uid)); + data.put("redPackLock", redPackForbidService.verifyForbid(uid)); + + UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid); + if (userInfoExtra != null && !StringUtil.isNullOrEmpty(userInfoExtra.getInviteCode())) { + data.put("inviteCode", userInfoExtra.getInviteCode()); + } else { + data.put("inviteCode", ""); + } + + // + long freeCouponCount= userSystemCouponService.countUsableFreeCouponForBuy(uid); + long rewardCouponCount= userSystemCouponService.countUsableRewardCoupon(uid); + + data.put("freeCouponCount", freeCouponCount); + data.put("rewardCouponCount", rewardCouponCount); + + if (!StringUtil.isNullOrEmpty(callback)) { + out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(data))); + } else + out.print(JsonUtil.loadTrueResult(data)); + } + + /** + * 鏂颁汉绾㈠寘璇︽儏 + * + * @param acceptData + * @param uid + * @param out + */ + @RequestMapping(value = "getWinDetail", method = RequestMethod.POST) + public void getWinDetail(AcceptData acceptData, Long uid, PrintWriter out) { + if (uid == null || uid <= 0) { + out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�")); + return; + } + + try { + RedPackWinDetailVO winDetail = redPackWinNewUserService.receiveReward(uid); + if (winDetail == null) { + out.print(JsonUtil.loadFalseResult(1, "绾㈠寘宸茶鎶㈠厜")); + return; + } + winDetail.setLogo(Constant.systemCommonConfig.getDefaultPortrait()); + winDetail.setLogoLight(Constant.systemCommonConfig.getDefaultPortrait()); + + JSONObject params = new JSONObject(); + params.put("url", redPackConfigService.getValueByKey("goods_shop_link_h5")); + winDetail.setParams(params.toString()); + winDetail.setJumpDetail(jumpDetailV2Service.getByTypeCache("web", + Constant.getPlatformCode(acceptData.getPlatform()), Integer.parseInt(acceptData.getVersion()))); + winDetail.setTips(redPackConfigService.getValueByKey("new_user_win_tips")); + + // 2銆侀《閮ㄨ疆鎾浘 + List<SwiperPicture> oldtopPicList = swiperPictureService.getByBannerCard("redpack_win_detail_banner"); + List<SwiperPicture> topPicList = new ArrayList<>(); + if (oldtopPicList != null && oldtopPicList.size() > 0) + topPicList.addAll(oldtopPicList); + + JSONObject data = new JSONObject(); + data.put("detail", JsonUtil.getApiCommonGson().toJson(winDetail)); + data.put("banner", JsonUtil.getApiCommonGson().toJson(topPicList)); + out.print(JsonUtil.loadTrueResult(data)); + } catch (Exception e) { + out.print(JsonUtil.loadFalseResult(1, "绾㈠寘宸茶鎶㈠厜鍟�")); + } } } -- Gitblit v1.8.0