From f005fc9eb911b3dc543e9069053323cc8f70201d Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期四, 12 十二月 2019 13:03:42 +0800
Subject: [PATCH] 增加小米推送注册regId服务,暂时取消推送时的消息免打扰过滤

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java |  132 +++++++++++++++++++++++++++++++------------
 1 files changed, 95 insertions(+), 37 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 3216231..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
@@ -44,6 +44,7 @@
 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;
@@ -54,8 +55,8 @@
 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;
@@ -79,19 +80,20 @@
 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.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;
 import com.yeshi.fanli.service.inter.user.MaskKeyService;
 import com.yeshi.fanli.service.inter.user.ShamUserService;
 import com.yeshi.fanli.service.inter.user.SpreadUserImgService;
@@ -101,7 +103,11 @@
 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.UserRankService;
 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;
@@ -222,6 +228,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";
 	private static final String EXTRACT_MAX_MONEY = "extract_max_money";
@@ -266,6 +287,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());
@@ -608,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();
 			}
 		}
@@ -622,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);
@@ -1208,9 +1228,9 @@
 		} 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("鏈夌淮鏉冭鍗曞皻鏈墸娆�"));
+			out.print(JsonUtil.loadFalseResult("鏈夊敭鍚庤鍗曞皻鏈墸娆�"));
 		}
 
 	}
@@ -1683,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 {
@@ -1700,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();
@@ -1758,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 {
@@ -1773,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();
@@ -1825,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 {
@@ -1836,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();
@@ -2013,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) {
@@ -2031,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();
@@ -2073,6 +2085,7 @@
 			userActiveLog.setVersionCode(acceptData.getVersion());
 			userActiveLog.setOsVersion(acceptData.getOsVersion());
 			userActiveLog.setDeviceType(acceptData.getDeviceType());
+			userActiveLog.setDevice(acceptData.getDevice());
 			userActiveLogService.addUserActiveLog(userActiveLog);
 
 			// 澶勭悊鐢ㄦ埛淇℃伅
@@ -2121,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();
@@ -2149,20 +2164,41 @@
 			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()))
+					bindPhone = bindRemindService.bindRemind(uid, BindRemind.TYPE_PHONE);
+				data.put("bindPhone", bindPhone);
+			}
+
+			// 2.0.2 鐗堟湰
+			if (VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion())) {
+				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 {
@@ -2268,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("鐢ㄦ埛鏈櫥褰�"));
@@ -2321,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