From 851e43f3d0a79154cb4dc3a55738a83a97797c2d Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期三, 13 十一月 2019 10:04:34 +0800
Subject: [PATCH] 红包提现次数限制
---
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RedPackControllerV2.java | 220 ++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 203 insertions(+), 17 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 7fe03b9..f9d66c3 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,17 +26,35 @@
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.RedPackBalance;
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.RedPackBalanceException;
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.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.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;
@@ -52,15 +70,33 @@
@Resource
private RedPackDetailService redPackDetailService;
-
- @Resource
+
+ @Resource
private RedPackGiveRecordService redPackGiveRecordService;
-
- @Resource
+
+ @Resource
private RedPackExchangeService redPackExchangeService;
+ @Resource
+ private RedPackWinInviteService redPackWinInviteService;
+
+ @Resource
+ private RedPackWinNewUserService redPackWinNewUserService;
+
+ @Resource
+ private UserInfoService userInfoService;
+
+ @Resource
+ private UserInfoExtraService userInfoExtraService;
+
+ @Resource
+ private JumpDetailV2Service jumpDetailV2Service;
+
+ @Resource
+ private SwiperPictureService swiperPictureService;
+
/**
- * 缁熻娣樼ぜ閲�
+ * 缁熻
*
* @param acceptData
* @param uid
@@ -82,7 +118,14 @@
BigDecimal yesterdayUse = zero;
BigDecimal thisMonthUse = zero;
BigDecimal lastMonthUse = zero;
- BigDecimal balance = redPackBalanceService.getBalance(uid);
+ BigDecimal balance = null;
+ try {
+ balance = redPackBalanceService.getBalance(uid);
+ } catch (RedPackBalanceException e) {
+ out.print(JsonUtil.loadFalseResult(1, e.getMsg()));
+ return;
+ }
+
if (balance == null) {
balance = zero;
} else {
@@ -117,10 +160,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"));
@@ -128,15 +171,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());
@@ -155,9 +198,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")
@@ -223,7 +269,6 @@
}
});
-
Gson gson = gsonBuilder.create();
JSONObject data = new JSONObject();
@@ -255,10 +300,9 @@
}
}
-
-
/**
* 杞崲绾㈠寘涓虹湡瀹為噾閽�
+ *
* @param acceptData
* @param uid
* @param amount
@@ -278,4 +322,146 @@
out.print(JsonUtil.loadFalseResult(1, e.getMsg()));
}
}
+
+ /**
+ * 绾㈠寘閭�璇疯繘搴�
+ *
+ * @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);
+ if (listRecord != null && !listRecord.isEmpty()) {
+ for (RedPackWinInvite record : listRecord) {
+ UserInfo user = null;
+ RedPackWinInviteVO winVO = new RedPackWinInviteVO();
+ RedPackWinInviteTypeEnum type = record.getType();
+ if (RedPackWinInviteTypeEnum.newUserReward == type) {
+ user = userInfoService.selectByPKey(uid);
+ } else {
+ user = userInfoService.selectByPKey(record.getTeamUid());
+ }
+ winVO.setPortrait(user.getPortrait());
+ winVO.setNickName(user.getNickName());
+ winVO.setDesc(type.getDesc());
+ winVO.setMoney(record.getMoney().toString());
+ 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));
+ 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();
+ try {
+ data.put("balance", redPackBalanceService.getBalance(uid));
+ } catch (RedPackBalanceException e) {
+ out.print(JsonUtil.loadFalseResult(1, e.getMsg()));
+ return;
+ }
+ data.put("ruleLink", redPackConfigService.getValueByKey("invite_reward_rule_link"));
+ data.put("shareLink", UserInviteUtil.getShareUrl(uid));
+
+ RedPackBalance redPackBalance = redPackBalanceService.selectByPrimaryKey(uid);
+ if (redPackBalance != null && redPackBalance.getState() == RedPackBalance.STATE_LOCKED) {
+ data.put("redPackLock", true);
+ } else {
+ data.put("redPackLock", false);
+ }
+
+ UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid);
+ if (userInfoExtra != null && !StringUtil.isNullOrEmpty(userInfoExtra.getInviteCode())) {
+ data.put("inviteCode", userInfoExtra.getInviteCode());
+ } else {
+ data.put("inviteCode", "");
+ }
+
+ 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