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/v1/UserInfoController.java |  110 ++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 76 insertions(+), 34 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java
index d228ffa..206ac38 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java
@@ -40,9 +40,11 @@
 import com.yeshi.fanli.dto.HongBaoDTO;
 import com.yeshi.fanli.dto.money.AccountDetails;
 import com.yeshi.fanli.dto.order.OrderItem;
+import com.yeshi.fanli.dto.wx.WXAccountInfoDTO;
 import com.yeshi.fanli.entity.AppVersionInfo;
 import com.yeshi.fanli.entity.accept.AcceptData;
 import com.yeshi.fanli.entity.bus.user.AccountMessage;
+import com.yeshi.fanli.entity.bus.user.BindRemind;
 import com.yeshi.fanli.entity.bus.user.BindingAccount;
 import com.yeshi.fanli.entity.bus.user.Extract;
 import com.yeshi.fanli.entity.bus.user.ExtractRecord;
@@ -53,21 +55,22 @@
 import com.yeshi.fanli.entity.bus.user.UserActiveLog;
 import com.yeshi.fanli.entity.bus.user.UserInfo;
 import com.yeshi.fanli.entity.bus.user.UserInfoExtra;
-import com.yeshi.fanli.entity.bus.user.WeiXinUser;
 import com.yeshi.fanli.entity.bus.user.UserInfoModifyRecord.ModifyTypeEnum;
+import com.yeshi.fanli.entity.bus.user.WeiXinUser;
 import com.yeshi.fanli.entity.common.AdminUser;
 import com.yeshi.fanli.entity.common.Config;
 import com.yeshi.fanli.entity.goods.CollectionGoodsV2;
 import com.yeshi.fanli.entity.goods.CommonGoods;
 import com.yeshi.fanli.entity.money.UserMoneyDetail;
 import com.yeshi.fanli.entity.order.HongBaoOrder;
+import com.yeshi.fanli.entity.redpack.RedPackBalance;
 import com.yeshi.fanli.entity.system.BusinessSystem;
 import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
 import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBriefExtra;
-import com.yeshi.fanli.exception.BindingAccountException;
 import com.yeshi.fanli.exception.goods.CollectionGoodsException;
 import com.yeshi.fanli.exception.taobao.TaoKeApiException;
 import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
+import com.yeshi.fanli.exception.user.BindingAccountException;
 import com.yeshi.fanli.exception.user.UserCustomSettingsException;
 import com.yeshi.fanli.exception.user.UserInfoException;
 import com.yeshi.fanli.exception.user.UserInfoExtraException;
@@ -78,18 +81,19 @@
 import com.yeshi.fanli.service.inter.config.ConfigService;
 import com.yeshi.fanli.service.inter.count.HongBaoV2CountService;
 import com.yeshi.fanli.service.inter.goods.CollectionGoodsV2Service;
-import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
-import com.yeshi.fanli.service.inter.hongbao.HongBaoV2Service;
-import com.yeshi.fanli.service.inter.hongbao.ThreeSaleExtraInfoSerivce;
-import com.yeshi.fanli.service.inter.hongbao.ThreeSaleSerivce;
+import com.yeshi.fanli.service.inter.money.UserMoneyDetailService;
+import com.yeshi.fanli.service.inter.money.extract.BindingAccountService;
+import com.yeshi.fanli.service.inter.money.extract.ExtractRecordService;
+import com.yeshi.fanli.service.inter.money.extract.ExtractService;
 import com.yeshi.fanli.service.inter.order.HongBaoOrderService;
+import com.yeshi.fanli.service.inter.order.HongBaoV2Service;
 import com.yeshi.fanli.service.inter.order.LostOrderService;
 import com.yeshi.fanli.service.inter.order.OrderService;
+import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
+import com.yeshi.fanli.service.inter.redpack.RedPackBalanceService;
 import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinDetailService;
 import com.yeshi.fanli.service.inter.user.AccountMessageService;
-import com.yeshi.fanli.service.inter.user.BindingAccountService;
-import com.yeshi.fanli.service.inter.user.ExtractRecordService;
-import com.yeshi.fanli.service.inter.user.ExtractService;
+import com.yeshi.fanli.service.inter.user.BindRemindService;
 import com.yeshi.fanli.service.inter.user.MaskKeyService;
 import com.yeshi.fanli.service.inter.user.ShamUserService;
 import com.yeshi.fanli.service.inter.user.SpreadUserImgService;
@@ -99,8 +103,9 @@
 import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
 import com.yeshi.fanli.service.inter.user.UserInfoModifyRecordService;
 import com.yeshi.fanli.service.inter.user.UserInfoService;
-import com.yeshi.fanli.service.inter.user.UserMoneyDetailService;
 import com.yeshi.fanli.service.inter.user.UserShareGoodsRecordService;
+import com.yeshi.fanli.service.inter.user.invite.ThreeSaleExtraInfoSerivce;
+import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce;
 import com.yeshi.fanli.util.AESUtil;
 import com.yeshi.fanli.util.Constant;
 import com.yeshi.fanli.util.GsonUtil;
@@ -113,6 +118,7 @@
 import com.yeshi.fanli.util.VersionUtil;
 import com.yeshi.fanli.util.account.UserUtil;
 import com.yeshi.fanli.util.annotation.RequestSerializableByKey;
+import com.yeshi.fanli.util.annotation.UserActive;
 import com.yeshi.fanli.util.email.MailSenderUtil;
 import com.yeshi.fanli.util.factory.AccountDetailsFactory;
 import com.yeshi.fanli.util.factory.HongBaoFactory;
@@ -216,9 +222,15 @@
 
 	@Resource
 	private UserTaoLiJinDetailService userTaoLiJinDetailService;
-	
+
 	@Resource
 	private UserInfoModifyRecordService userInfoModifyRecordService;
+	
+	@Resource
+	private BindRemindService bindRemindService;
+	
+	@Resource
+	private RedPackBalanceService redPackBalanceService;
 	
 
 	private static final String PASSWORD_MAX_ERROR = "password_max_error";
@@ -265,6 +277,8 @@
 				userActiveLog.setVersionCode(acceptData.getVersion());
 				userActiveLog.setOsVersion(acceptData.getOsVersion());
 				userActiveLog.setDeviceType(acceptData.getDeviceType());
+				userActiveLog.setDevice(acceptData.getDevice());
+				
 				userActiveLogService.addUserActiveLog(userActiveLog);
 
 				outUserInfo(acceptData, out, remotIP, find, acceptData.getDevice());
@@ -293,7 +307,9 @@
 			int loginType = form.getLoginType();
 			// WeiXinUserParam wxParam = null;
 			// 濡傛灉鏄井淇$櫥闄嗭紝閭i渶瑕佸厛鑾峰彇鍒板井淇$殑unionid
-			WeiXinUser weiXinUser = WXLoginUtil.getWeiXinUserWithSavePortrait(code);
+			WXAccountInfoDTO account = Constant.getWXAccount(acceptData.getPlatform(), acceptData.getVersion());
+			WeiXinUser weiXinUser = WXLoginUtil.getWeiXinUserWithSavePortrait(code, account.getAppId(),
+					account.getAppSecret());
 			if (loginType == Constant.WEIXIN && StringUtil.isNullOrEmpty(form.getWxUnionId())) {
 				// wxParam = WXinUtil.getWxParam(code);
 				if (weiXinUser == null) {
@@ -388,7 +404,11 @@
 												 * StringUtil.isNullOrEmpty(form
 												 * .getWxOpenId())
 												 */) {
-				WeiXinUser xinUser = WXLoginUtil.getWeiXinUserWithSavePortrait(code);
+
+				WXAccountInfoDTO account = Constant.getWXAccount(acceptData.getPlatform(), acceptData.getVersion());
+
+				WeiXinUser xinUser = WXLoginUtil.getWeiXinUserWithSavePortrait(code, account.getAppId(),
+						account.getAppSecret());
 				if (xinUser == null) {
 					out.print(JsonUtil.loadFalseResult("鐧诲綍澶辫触"));
 					return;
@@ -647,7 +667,9 @@
 		}
 		int loginType = form.getLoginType();
 		if (loginType == Constant.WEIXIN) {
-			WeiXinUser weiXinUser = WXLoginUtil.getWeiXinUserWithSavePortrait(code);
+			WXAccountInfoDTO account = Constant.getWXAccount(acceptData.getPlatform(), acceptData.getVersion());
+			WeiXinUser weiXinUser = WXLoginUtil.getWeiXinUserWithSavePortrait(code, account.getAppId(),
+					account.getAppSecret());
 
 			if (weiXinUser == null) {
 				out.print(JsonUtil.loadFalseResult("缁戝畾澶辫触锛岀敤鎴峰紓甯歌閲嶈瘯锛�"));
@@ -1199,7 +1221,7 @@
 		} else if (etype == 3) {
 			out.print(JsonUtil.loadFalseResult("鎻愮幇閲戦澶т簬鎴戠殑绾㈠寘"));
 		} else if (etype == 111) {
-			out.print(JsonUtil.loadFalseResult("鏇存崲浜嗘墜鏈哄彿鍚�7澶╁唴涓嶅厑璁告彁鐜�"));
+			out.print(JsonUtil.loadFalseResult("淇敼鎵嬫満鍙峰悗锛�7澶╁唴鏃犳硶鎻愮幇"));
 		} else if (etype == 110) {
 			out.print(JsonUtil.loadFalseResult("鏈夌淮鏉冭鍗曞皻鏈墸娆�"));
 		}
@@ -1394,7 +1416,6 @@
 		}
 	}
 
-	
 	/**
 	 * h5鏀惰棌
 	 * 
@@ -1701,7 +1722,6 @@
 
 	}
 
-
 	/**
 	 * 鐢ㄦ埛闃熷憳鍒楄〃鏌ヨ 1.5.3鏌ヨ鏈夋晥闃熷憳
 	 * 
@@ -1836,7 +1856,6 @@
 			e.printStackTrace();
 		}
 	}
-	
 
 	/**
 	 * 鐢ㄦ埛闃熷憳淇℃伅淇濆瓨 1.4.1
@@ -2041,6 +2060,7 @@
 	 * @param requst
 	 * @param out
 	 */
+	@UserActive(uid = "#uid")
 	@RequestMapping(value = "getuserinfoNew", method = RequestMethod.POST)
 	public void getuserinfoNew(AcceptData acceptData, Long uid, HttpServletRequest requst, PrintWriter out) {
 		try {
@@ -2066,6 +2086,7 @@
 			userActiveLog.setVersionCode(acceptData.getVersion());
 			userActiveLog.setOsVersion(acceptData.getOsVersion());
 			userActiveLog.setDeviceType(acceptData.getDeviceType());
+			userActiveLog.setDevice(acceptData.getDevice());
 			userActiveLogService.addUserActiveLog(userActiveLog);
 
 			// 澶勭悊鐢ㄦ埛淇℃伅
@@ -2128,25 +2149,45 @@
 					userInfo.setRankNamePicture(null);
 					userInfo.setRankIcon(null);
 				}
-				
+
 				// 1.6.5 涔嬪悗杩斿洖鎬у埆銆佸井淇″彿
-				if(VersionUtil.greaterThan_1_6_5(acceptData.getPlatform(), acceptData.getVersion())) {
-					if(userInfoExtra.getSex() != null)
+				if (VersionUtil.greaterThan_1_6_5(acceptData.getPlatform(), acceptData.getVersion())) {
+					if (userInfoExtra.getSex() != null)
 						userInfo.setSex(userInfoExtra.getSex());
-					
-					if(!StringUtil.isNullOrEmpty(userInfoExtra.getWeiXin()))
+
+					if (!StringUtil.isNullOrEmpty(userInfoExtra.getWeiXin()))
 						userInfo.setWeiXin(userInfoExtra.getWeiXin());
 				}
 			}
 			// 1.6.5 涔嬪悗杩斿洖 寰俊鍙锋彁绀�
-			if(VersionUtil.greaterThan_1_6_5(acceptData.getPlatform(), acceptData.getVersion()))
+			if (VersionUtil.greaterThan_1_6_5(acceptData.getPlatform(), acceptData.getVersion()))
 				userInfo.setWeiXinTip("娣诲姞寰俊鍙峰悗锛屼綘鐨勯個璇蜂汉鍜屼竴绾ч槦鍛樺彲浠ラ�氳繃寰俊涓庝綘寤虹珛鑱旂郴銆�");
 			
 			data.put("user", JsonUtil.getConvertBigDecimalToStringBuilder(gsonBuilder).create().toJson(userInfo));
 			data.put("invitCode", invitCode); // 閭�璇风爜
 			data.put("welfareCenterNews", welfareCenterNews);// 绂忓埄涓績娑堟伅
+			
+			// 2.0.1涔嬪悗缁戝畾鎵嬫満鍙�
+			if (VersionUtil.greaterThan_2_0_1(acceptData.getPlatform(), acceptData.getVersion())) {
+				boolean bindPhone = false;
+				if (StringUtil.isNullOrEmpty(userInfo.getPhone())) 
+					bindPhone = bindRemindService.bindRemind(uid, BindRemind.TYPE_PHONE);
+				data.put("bindPhone", bindPhone);
+			}
+			
+			// 2.0.2 鐗堟湰
+			if (VersionUtil.greaterThan_2_0_2(acceptData.getPlatform(), acceptData.getVersion())) {
+				RedPackBalance redPackBalance = redPackBalanceService.selectByPrimaryKey(uid);
+				if (redPackBalance != null && redPackBalance.getState() != null && 
+						redPackBalance.getState() == RedPackBalance.STATE_LOCKED) {
+					data.put("redPackLock", RedPackBalance.STATE_LOCKED);
+				} else {
+					data.put("redPackLock", RedPackBalance.STATE_INIT);
+				}
+			}
+			
 			out.print(JsonUtil.loadTrueResult(data));
-
+			
 			final UserInfo uuser = userInfo;
 			ThreadUtil.run(new Runnable() {
 				public void run() {
@@ -2226,7 +2267,7 @@
 			userInfoService.uploadPortrait(file, uid);
 
 			out.print(JsonUtil.loadTrueResult("淇濆瓨鎴愬姛"));
-			
+
 		} catch (UserInfoException e) {
 			out.print(JsonUtil.loadFalseResult(e.getMsg()));
 			try {
@@ -2260,7 +2301,8 @@
 	 * @param out
 	 */
 	@RequestMapping(value = "saveInfo")
-	public void saveInfo(AcceptData acceptData, String nickName, String weiXin, Integer sex, Long uid, PrintWriter out) {
+	public void saveInfo(AcceptData acceptData, String nickName, String weiXin, Integer sex, Long uid,
+			PrintWriter out) {
 		try {
 			if (uid == null) {
 				out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�"));
@@ -2273,34 +2315,34 @@
 					out.print(JsonUtil.loadFalseResult("鏄电О杩囬暱"));
 					return;
 				}
-				
+
 				if (maskKeyService.examineContent(nickName)) {
 					out.print(JsonUtil.loadFalseResult("涓嶈兘鍖呭惈鏁忔劅璇嶆眹"));
 					return;
 				}
 				userInfoService.saveUserInfo(nickName, uid);
-				
+
 				userInfoModifyRecordService.addModifyRecord(uid, ModifyTypeEnum.nickName, nickName);
 			}
-			
+
 			// 淇敼寰俊鍙�
 			if (!StringUtil.isNullOrEmpty(weiXin)) {
 				if (weiXin.length() > 32) {
 					out.print(JsonUtil.loadFalseResult("寰俊鍙疯繃闀�"));
 					return;
 				}
-				
+
 				UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid);
 				if (userInfoExtra != null) {
 					UserInfoExtra extra = new UserInfoExtra();
 					extra.setId(userInfoExtra.getId());
 					extra.setWeiXin(weiXin);
 					userInfoExtraService.saveUserInfoExtra(extra);
-					
+
 					userInfoModifyRecordService.addModifyRecord(uid, ModifyTypeEnum.setWeiXinNum, weiXin);
 				}
 			}
-			
+
 			// 淇敼鎬у埆
 			if (sex != null && sex > 0 && sex < 3) {
 				UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid);
@@ -2309,7 +2351,7 @@
 					extra.setId(userInfoExtra.getId());
 					extra.setSex(sex);
 					userInfoExtraService.saveUserInfoExtra(extra);
-					
+
 					userInfoModifyRecordService.addModifyRecord(uid, ModifyTypeEnum.gender, sex + "");
 				}
 			}

--
Gitblit v1.8.0