From c8041ec0544bf122e6819e6bf698997ccbf30aaf Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期二, 10 十二月 2019 15:32:34 +0800
Subject: [PATCH] 小黄条

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java |  118 ++++++++++++++++++++++++++++++++++------------------------
 1 files changed, 69 insertions(+), 49 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 e34859e..7d13a92 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
@@ -63,7 +63,6 @@
 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;
@@ -91,6 +90,7 @@
 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.redpack.RedPackForbidService;
 import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinDetailService;
 import com.yeshi.fanli.service.inter.user.AccountMessageService;
 import com.yeshi.fanli.service.inter.user.BindRemindService;
@@ -107,6 +107,7 @@
 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.service.inter.user.vip.UserVIPInfoService;
 import com.yeshi.fanli.util.AESUtil;
 import com.yeshi.fanli.util.Constant;
 import com.yeshi.fanli.util.GsonUtil;
@@ -226,16 +227,21 @@
 
 	@Resource
 	private UserInfoModifyRecordService userInfoModifyRecordService;
-	
+
 	@Resource
 	private BindRemindService bindRemindService;
-	
+
 	@Resource
 	private RedPackBalanceService redPackBalanceService;
-	
+
 	@Resource
 	private UserRankService userRankService;
+
+	@Resource
+	private UserVIPInfoService userVIPInfoService;
 	
+	@Resource
+	private RedPackForbidService redPackForbidService;
 
 	private static final String PASSWORD_MAX_ERROR = "password_max_error";
 	private static final String EXTRACT_MIN_MONEY = "extract_min_money";
@@ -282,7 +288,7 @@
 				userActiveLog.setOsVersion(acceptData.getOsVersion());
 				userActiveLog.setDeviceType(acceptData.getDeviceType());
 				userActiveLog.setDevice(acceptData.getDevice());
-				
+
 				userActiveLogService.addUserActiveLog(userActiveLog);
 
 				outUserInfo(acceptData, out, remotIP, find, acceptData.getDevice());
@@ -625,7 +631,9 @@
 				welfareCenterNews = userInfoExtra.getCouponNews();
 			}
 
-			if (userInfoExtra.getInviteCode() != null && userInfoExtra.getInviteCode().trim().length() > 0) {
+			if (!StringUtil.isNullOrEmpty(userInfoExtra.getInviteCodeVip())) {
+				invitCode = userInfoExtra.getInviteCodeVip();
+			} else {
 				invitCode = userInfoExtra.getInviteCode();
 			}
 		}
@@ -639,13 +647,8 @@
 		final UserInfo uuser = user;
 		ThreadUtil.run(new Runnable() {
 			public void run() {
-
-				try {
-					// 鑾峰彇閭�璇风爜锛氳嫢鏃犻個璇风爜涓斿瓨鍦ㄦ湁鏁堢殑闃熷憳鍏崇郴 鍒欒嚜鍔ㄧ敓鎴愰個璇风爜
-					userInfoExtraService.getUserInviteCode(uuser.getId());
-				} catch (UserInfoExtraException e) {
-					e.printStackTrace();
-				}
+				// 鑾峰彇閭�璇风爜锛氳嫢鏃犻個璇风爜涓斿瓨鍦ㄦ湁鏁堢殑闃熷憳鍏崇郴 鍒欒嚜鍔ㄧ敓鎴愰個璇风爜
+				userInfoExtraService.getInviteCodeByUid(uuser.getId());
 
 				LogHelper.userInfo(GsonUtil.toJsonExpose(uuser));
 				uuser.setLastLoginIp(remotIP);
@@ -1227,7 +1230,7 @@
 		} else if (etype == 111) {
 			out.print(JsonUtil.loadFalseResult("淇敼鎵嬫満鍙峰悗锛�7澶╁唴鏃犳硶鎻愮幇"));
 		} else if (etype == 110) {
-			out.print(JsonUtil.loadFalseResult("鏈夌淮鏉冭鍗曞皻鏈墸娆�"));
+			out.print(JsonUtil.loadFalseResult("鏈夊敭鍚庤鍗曞皻鏈墸娆�"));
 		}
 
 	}
@@ -1700,7 +1703,7 @@
 				}
 
 				boolean hasCode = false;
-				String inviteCode = userInfoExtraService.getUserInviteCode(uid);
+				String inviteCode = userInfoExtraService.getInviteCodeByUid(uid);
 				if (inviteCode != null && inviteCode.trim().length() > 0) {
 					hasCode = true; // 宸叉湁閭�璇风爜
 				} else {
@@ -1717,8 +1720,6 @@
 				resultData.put("boss", bossData);
 			}
 			out.print(JsonUtil.loadTrueResult(resultData));
-		} catch (UserInfoExtraException e) {
-			out.print(JsonUtil.loadFalseResult(e.getMsg()));
 		} catch (Exception e) {
 			out.print(JsonUtil.loadFalseResult("缁熻澶辫触"));
 			e.printStackTrace();
@@ -1775,7 +1776,7 @@
 				}
 
 				boolean hasCode = false;
-				String inviteCode = userInfoExtraService.getUserInviteCode(uid);
+				String inviteCode = userInfoExtraService.getInviteCodeByUid(uid);
 				if (inviteCode != null && inviteCode.trim().length() > 0) {
 					hasCode = true; // 宸叉湁閭�璇风爜
 				} else {
@@ -1790,8 +1791,6 @@
 				resultData.put("boss", bossData);
 			}
 			out.print(JsonUtil.loadTrueResult(resultData));
-		} catch (UserInfoExtraException e) {
-			out.print(JsonUtil.loadFalseResult(e.getMsg()));
 		} catch (Exception e) {
 			out.print(JsonUtil.loadFalseResult("缁熻澶辫触"));
 			e.printStackTrace();
@@ -1842,7 +1841,7 @@
 			resultData.put("boss", bossData);
 
 			boolean hasCode = false;
-			String inviteCode = userInfoExtraService.getUserInviteCode(uid);
+			String inviteCode = userInfoExtraService.getInviteCodeByUid(uid);
 			if (inviteCode != null && inviteCode.trim().length() > 0) {
 				hasCode = true; // 宸叉湁閭�璇风爜
 			} else {
@@ -1853,8 +1852,6 @@
 
 			out.print(JsonUtil.loadTrueResult(resultData));
 
-		} catch (UserInfoExtraException e) {
-			out.print(JsonUtil.loadFalseResult(e.getMsg()));
 		} catch (Exception e) {
 			out.print(JsonUtil.loadFalseResult("缁熻澶辫触"));
 			e.printStackTrace();
@@ -2030,7 +2027,7 @@
 
 		try {
 
-			String inviteCode = userInfoExtraService.getUserInviteCode(uid);
+			String inviteCode = userInfoExtraService.getInviteCodeByUid(uid);
 
 			JSONObject inviteData = new JSONObject();
 			if (inviteCode == null || inviteCode.trim().length() == 0) {
@@ -2048,8 +2045,6 @@
 
 			out.print(JsonUtil.loadTrueResult(data));
 
-		} catch (UserInfoExtraException e) {
-			out.print(JsonUtil.loadFalseResult(e.getMsg()));
 		} catch (Exception e) {
 			out.print(JsonUtil.loadFalseResult("鑾峰彇澶辫触"));
 			e.printStackTrace();
@@ -2139,11 +2134,13 @@
 				if (userInfoExtra.getCouponNews() != null) {
 					welfareCenterNews = userInfoExtra.getCouponNews();
 				}
-
-				if (userInfoExtra.getInviteCode() != null && userInfoExtra.getInviteCode().trim().length() > 0) {
+				// vip閭�璇风爜浼樺厛
+				if (!StringUtil.isNullOrEmpty(userInfoExtra.getInviteCodeVip())) {
+					invitCode = userInfoExtra.getInviteCodeVip();
+				} else if (!StringUtil.isNullOrEmpty(userInfoExtra.getInviteCode())) {
 					invitCode = userInfoExtra.getInviteCode();
 				}
-
+				
 				if (userInfoExtra.getUserRank() != null) {
 					String picture = userInfoExtra.getUserRank().getPicture();
 					String icon = userInfoExtra.getUserRank().getIcon();
@@ -2166,41 +2163,42 @@
 			// 1.6.5 涔嬪悗杩斿洖 寰俊鍙锋彁绀�
 			if (VersionUtil.greaterThan_1_6_5(acceptData.getPlatform(), acceptData.getVersion()))
 				userInfo.setWeiXinTip("娣诲姞寰俊鍙峰悗锛屼綘鐨勯個璇蜂汉鍜屼竴绾ч槦鍛樺彲浠ラ�氳繃寰俊涓庝綘寤虹珛鑱旂郴銆�");
-			
+
+			// 鏌ヨ鏄惁涓篤IP
+			if (VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion())) {
+				userInfo.setVip(userVIPInfoService.isVIP(uid));
+			}
+
 			data.put("user", JsonUtil.getConvertBigDecimalToStringBuilder(gsonBuilder).create().toJson(userInfo));
 			data.put("invitCode", invitCode); // 閭�璇风爜
+			if (!StringUtil.isNullOrEmpty(userInfoExtra.getInviteCodeVip()))
+				data.put("invitCodeUpdated", true);// 閭�璇风爜鏄惁宸茬粡淇敼杩�
+			else
+				data.put("invitCodeUpdated", false);
 			data.put("welfareCenterNews", welfareCenterNews);// 绂忓埄涓績娑堟伅
-			
+			data.put("vipLink", configService.get("vip_link"));// 瓒呯骇浼氬憳鍗囩骇閾炬帴
+
 			// 2.0.1涔嬪悗缁戝畾鎵嬫満鍙�
 			if (VersionUtil.greaterThan_2_0_1(acceptData.getPlatform(), acceptData.getVersion())) {
 				boolean bindPhone = false;
-				if (StringUtil.isNullOrEmpty(userInfo.getPhone())) 
+				if (StringUtil.isNullOrEmpty(userInfo.getPhone()))
 					bindPhone = bindRemindService.bindRemind(uid, BindRemind.TYPE_PHONE);
 				data.put("bindPhone", bindPhone);
 			}
-			
+
 			// 2.0.2 鐗堟湰
 			if (VersionUtil.greaterThan_2_1(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);
-				}
+				boolean verifyForbid = redPackForbidService.verifyForbid(uid);
+				data.put("redPackLock", verifyForbid);
 			}
-			
+
 			out.print(JsonUtil.loadTrueResult(data));
-			
+
 			final UserInfo uuser = userInfo;
 			ThreadUtil.run(new Runnable() {
 				public void run() {
-					try {
-						// 鑾峰彇閭�璇风爜锛氳嫢鏃犻個璇风爜涓斿瓨鍦ㄦ湁鏁堢殑闃熷憳鍏崇郴 鍒欒嚜鍔ㄧ敓鎴愰個璇风爜
-						userInfoExtraService.getUserInviteCode(uuser.getId());
-					} catch (UserInfoExtraException e) {
-						e.printStackTrace();
-					}
+					// 鑾峰彇閭�璇风爜锛氳嫢鏃犻個璇风爜涓斿瓨鍦ㄦ湁鏁堢殑闃熷憳鍏崇郴 鍒欒嚜鍔ㄧ敓鎴愰個璇风爜
+					userInfoExtraService.getInviteCodeByUid(uuser.getId());
 
 					// 鏇存柊鐢ㄦ埛闄勫姞淇℃伅锛岃�佺敤鎴蜂笉瀛樺湪鐨勯渶瑕佹坊鍔�
 					try {
@@ -2306,7 +2304,7 @@
 	 */
 	@RequestMapping(value = "saveInfo")
 	public void saveInfo(AcceptData acceptData, String nickName, String weiXin, Integer sex, Long uid,
-			PrintWriter out) {
+			String inviteCode, PrintWriter out) {
 		try {
 			if (uid == null) {
 				out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�"));
@@ -2359,6 +2357,28 @@
 					userInfoModifyRecordService.addModifyRecord(uid, ModifyTypeEnum.gender, sex + "");
 				}
 			}
+
+			if (!StringUtil.isNullOrEmpty(inviteCode)) {// 閭�璇风爜涓嶄负绌�
+				inviteCode = inviteCode.trim();
+				if (inviteCode.length() >= 4 && inviteCode.length() <= 12) {
+
+					if (!userVIPInfoService.isVIP(uid)) {
+						out.print(JsonUtil.loadFalseResult(20, "鍙湁瓒呯骇浼氬憳鎵嶈兘淇敼"));
+						return;
+					}
+
+					try {
+						userInfoExtraService.updateInviteCodeVip(inviteCode, uid);
+						out.print(JsonUtil.loadTrueResult("淇濆瓨鎴愬姛"));
+						return;
+					} catch (UserInfoExtraException e) {
+						out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMessage()));
+					}
+				} else {
+					out.print(JsonUtil.loadFalseResult(1, "閭�璇风爜蹇呴』涓�4鍒�12浣�"));
+					return;
+				}
+			}
 			out.print(JsonUtil.loadTrueResult("淇濆瓨鎴愬姛"));
 		} catch (UserInfoException e) {
 			out.print(JsonUtil.loadFalseResult(e.getMsg()));

--
Gitblit v1.8.0