From a2ae9b3d890bc7fcaa34ab65e5cdaf8ccfa07c2b Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期三, 13 十一月 2019 15:35:12 +0800
Subject: [PATCH] 红包弹框加入设备验证

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RedPackControllerV2.java |  144 +++++++++++++++++++++++++++++------------------
 1 files changed, 89 insertions(+), 55 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 25ad9d2..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
@@ -29,10 +29,12 @@
 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;
@@ -49,6 +51,7 @@
 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;
@@ -67,33 +70,30 @@
 
 	@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	
+
+	@Resource
 	private UserInfoService userInfoService;
-	
-	@Resource	
+
+	@Resource
 	private UserInfoExtraService userInfoExtraService;
-	
+
 	@Resource
 	private JumpDetailV2Service jumpDetailV2Service;
-	
+
 	@Resource
 	private SwiperPictureService swiperPictureService;
-	
-	
-	
 
 	/**
 	 * 缁熻
@@ -118,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 {
@@ -153,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"));
@@ -164,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());
@@ -191,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")
@@ -259,7 +269,6 @@
 			}
 		});
 
-
 		Gson gson = gsonBuilder.create();
 
 		JSONObject data = new JSONObject();
@@ -291,10 +300,9 @@
 		}
 	}
 
-	
-	
 	/**
 	 * 杞崲绾㈠寘涓虹湡瀹為噾閽�
+	 * 
 	 * @param acceptData
 	 * @param uid
 	 * @param amount
@@ -314,32 +322,33 @@
 			out.print(JsonUtil.loadFalseResult(1, e.getMsg()));
 		}
 	}
-	
-	
+
 	/**
 	 * 绾㈠寘閭�璇疯繘搴�
+	 * 
 	 * @param acceptData
 	 * @param page
 	 * @param uid
 	 * @param out
 	 */
-	@RequestMapping(value = "getRewardList", method = RequestMethod.POST)
-	public void getRewardList(AcceptData acceptData, Integer page, Long uid, PrintWriter 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();
@@ -355,42 +364,65 @@
 				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", method = RequestMethod.POST)
-	public void getBasicInfo(AcceptData acceptData, Long uid, PrintWriter 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));
+		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", "");
 		}
-	    out.print(JsonUtil.loadTrueResult(data));		
+
+		if (!StringUtil.isNullOrEmpty(callback)) {
+			out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(data)));
+		} else
+			out.print(JsonUtil.loadTrueResult(data));
 	}
-	
-	
+
 	/**
 	 * 鏂颁汉绾㈠寘璇︽儏
+	 * 
 	 * @param acceptData
 	 * @param uid
 	 * @param out
@@ -401,14 +433,16 @@
 			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());
@@ -417,15 +451,15 @@
 			winDetail.setTips(redPackConfigService.getValueByKey("new_user_win_tips"));
 
 			// 2銆侀《閮ㄨ疆鎾浘
-			List<SwiperPicture> oldtopPicList = swiperPictureService.getByBannerCard("index_top");
+			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));		
+			out.print(JsonUtil.loadTrueResult(data));
 		} catch (Exception e) {
 			out.print(JsonUtil.loadFalseResult(1, "绾㈠寘宸茶鎶㈠厜鍟�"));
 		}

--
Gitblit v1.8.0