From b6c37e4bc38db88a360d0f2c6099183f9bb75bdc Mon Sep 17 00:00:00 2001
From: yujian <yujian>
Date: 星期一, 22 四月 2019 14:31:59 +0800
Subject: [PATCH] 券推送插入

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/UserAccountController.java |  225 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 212 insertions(+), 13 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/UserAccountController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/UserAccountController.java
index 18ad16d..03c9e92 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/UserAccountController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/UserAccountController.java
@@ -9,6 +9,7 @@
 
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
 import org.yeshi.utils.JsonUtil;
 import org.yeshi.utils.encrypt.DESUtil;
 
@@ -39,13 +40,13 @@
 import com.yeshi.fanli.service.inter.order.OrderService;
 import com.yeshi.fanli.service.inter.push.DeviceTokenHWService;
 import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
-import com.yeshi.fanli.service.inter.user.AccountMessageService;
 import com.yeshi.fanli.service.inter.user.BindingAccountService;
 import com.yeshi.fanli.service.inter.user.ExtractService;
 import com.yeshi.fanli.service.inter.user.ForbiddenUserIdentifyCodeService;
 import com.yeshi.fanli.service.inter.user.ShamUserService;
 import com.yeshi.fanli.service.inter.user.SpreadUserImgService;
 import com.yeshi.fanli.service.inter.user.TBPidService;
+import com.yeshi.fanli.service.inter.user.UserAccountBindingHistoryService;
 import com.yeshi.fanli.service.inter.user.UserAccountService;
 import com.yeshi.fanli.service.inter.user.UserInfoService;
 import com.yeshi.fanli.service.inter.user.UserMoneyService;
@@ -102,9 +103,6 @@
 	private LostOrderService lostOrderService;
 
 	@Resource
-	private AccountMessageService accountMessageService;
-
-	@Resource
 	private HongBaoManageService hongBaoManageService;
 
 	@Resource
@@ -136,6 +134,9 @@
 
 	@Resource
 	private UserMoneyService userMoneyService;
+
+	@Resource
+	private UserAccountBindingHistoryService userAccountBindingHistoryService;
 
 	private static final String PASSWORD_MAX_ERROR = "password_max_error";
 	private static final String EXTRACT_MIN_MONEY = "extract_min_money";
@@ -914,6 +915,8 @@
 		}
 		redisManager.cacheCommonString(key, "1", 120);
 
+		
+
 		// 鏀粯瀹濈粦瀹�
 		ForbiddenUserIdentifyCode ic = forbiddenUserIdentifyCodeService
 				.listByTypeAndIdentifyCode(ForbiddenUserIdentifyCodeTypeEnum.alipayAccount, account);
@@ -1075,15 +1078,8 @@
 
 			} else {
 
-				tbPid = tbPidService.getTBPid(Long.parseLong(uid), PidUser.TYPE_FANLI_IOS);
-				if (tbPid != null) {
-					String siteId = tbPid.getPid().split("_")[2];
-					String adzoneId = tbPid.getPid().split("_")[3];
-					TaoBaoUnionConfig config = taoBaoUnionConfigService.getConfigByAppIdCache(siteId);
-					clientTBPid = new ClientTBPid(config.getAppKey(), tbPid.getPid(), siteId, adzoneId);
-				} else {
-					clientTBPid = tbPidService.getIOSDefault();
-				}
+				clientTBPid = tbPidService.getIOSDefault();
+
 			}
 
 		} else {
@@ -1115,4 +1111,207 @@
 			deviceTokenHWService.unBindDeviceToken(acceptData.getDevice());
 		out.print(JsonUtil.loadTrueResult(""));
 	}
+
+	/**
+	 * 鏂扮増鐧诲綍 V1.5.3
+	 * 
+	 * @param acceptData
+	 * @param vcode
+	 * @param phone
+	 * @param code
+	 * @param loginType
+	 *            鐧诲綍鏂瑰紡锛� 1-鎵嬫満鐧诲綍 2-寰俊鐧诲綍
+	 * @param request
+	 * @param out
+	 */
+	@RequestMapping(value = "loginNew", method = RequestMethod.POST)
+	public void loginNew(AcceptData acceptData, String vcode, String phone, String code, int loginType,
+			HttpServletRequest request, PrintWriter out) {
+
+		try {
+			BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
+					acceptData.getPackages());
+			if (system == null) {
+				out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�"));
+				return;
+			}
+
+			UserInfo userInfo = null;
+			// 鎵嬫満鐧诲綍
+			if (loginType == 1) {
+				userInfo = userAccountService.loginPhone(request, loginType, vcode, phone, system.getAppid());
+			}
+
+			// 寰俊鐧诲綍
+			if (loginType == 2) {
+				userInfo = userAccountService.loginWinXin(request, loginType, code, system.getAppid());
+			}
+
+			if (userInfo == null) {
+				out.print(JsonUtil.loadFalseResult("鐧诲綍澶辫触"));
+			} else {
+				JSONObject data = new JSONObject();
+				data.put("userInfo", UserUtil.filterForClientUser(userInfo));
+				out.print(JsonUtil.loadTrueResult(data));
+
+				final UserInfo uuser = userInfo;
+				ThreadUtil.run(new Runnable() {
+					public void run() {
+						try {
+							/* 鍚屾鏈櫥褰曚箣鍓嶈澶囨娊濂栨暟鎹� */
+							int platformType = 0;
+							String platform = acceptData.getPlatform();
+							if ("android".equals(platform)) {
+								platformType = 1;
+							} else if ("ios".equals(platform)) {
+								platformType = 2;
+							}
+							userSystemCouponService.copyLotteryPrize(uuser.getId(), platformType,
+									acceptData.getDevice());
+						} catch (Exception e) {
+							e.printStackTrace();
+						}
+					}
+				});
+			}
+
+		} catch (UserAccountException e) {
+			out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg()));
+			try {
+				LogHelper.cookieLog("鐧诲綍鍑洪敊:" + e.getCode() + "-" + e.getMessage());
+			} catch (Exception e1) {
+				e1.printStackTrace();
+			}
+		} catch (Exception e) {
+			out.print(JsonUtil.loadFalseResult("鐧诲綍澶辫触"));
+			try {
+				LogHelper.errorDetailInfo(e);
+			} catch (Exception e1) {
+				e1.printStackTrace();
+			}
+		}
+	}
+
+	/**
+	 * 缁戝畾鐢佃瘽鍙风爜 V1.5.3
+	 * 
+	 * @param acceptData
+	 * @param vcode
+	 * @param phone
+	 * @param out
+	 */
+	@RequestMapping(value = "bindPhoneNew")
+	public void bindPhoneNew(AcceptData acceptData, Long uid, String vcode, String phone, PrintWriter out) {
+
+		BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
+				acceptData.getPackages());
+		if (system == null) {
+			out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�"));
+			return;
+		}
+
+		if (StringUtil.isNullOrEmpty(vcode)) {
+			out.print(JsonUtil.loadFalseResult("楠岃瘉鐮佷笉鑳戒负绌�"));
+			return;
+		}
+
+		if (StringUtil.isNullOrEmpty(phone)) {
+			out.print(JsonUtil.loadFalseResult("鐢佃瘽鍙风爜涓嶈兘涓虹┖"));
+			return;
+		}
+
+		phone = phone.replaceAll(" ", "");
+
+		String oldVCode = redisManager.getSMSVCode(phone, SMSHistory.TYPE_BIND);
+		if (Constant.IS_OUTNET) {
+			if (!vcode.equalsIgnoreCase(oldVCode)) {
+				out.print(JsonUtil.loadFalseResult(9001, "楠岃瘉鐮侀敊璇紝閲嶆柊杈撳叆"));
+				return;
+			}
+			redisManager.clearSMSFrequencyLimit(phone, SMSHistory.TYPE_BIND);
+		}
+
+		try {
+			// 缁戝畾鐢ㄦ埛
+			userAccountService.bindPhoneNew(uid, phone);
+
+			UserInfo user = userInfoService.getUserByIdWithMybatis(uid);
+			// 鍒ゆ柇鐢佃瘽鍙风爜鏄惁宸茬粡灏佺
+			ForbiddenUserIdentifyCode ic = forbiddenUserIdentifyCodeService
+					.listByTypeAndIdentifyCode(ForbiddenUserIdentifyCodeTypeEnum.phone, phone);
+			if (ic != null && ic.getEffective() != null && ic.getEffective()) {
+				out.print(JsonUtil.loadFalseResult(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC));
+				// 灏佺鐢ㄦ埛
+				// 灏佺缁戝畾鐨勬甯哥敤鎴�
+				if (user != null && user.getState() != null && user.getState() == UserInfo.STATE_NORMAL) {
+					UserInfo update = new UserInfo(uid);
+					update.setState(UserInfo.STATE_FORBIDDEN);
+					update.setStateDesc("缁戝畾琚皝绂佺殑鐢佃瘽鍙风爜琚皝绂�");
+					userInfoService.updateByPrimaryKeySelective(update);
+				}
+				return;
+			}
+
+			JSONObject data = new JSONObject();
+			data.put("userInfo", UserUtil.filterForClientUser(user));
+			out.print(JsonUtil.loadTrueResult(data));
+
+		} catch (UserAccountException e) {
+			out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg()));
+		} catch (Exception e) {
+			out.print(JsonUtil.loadFalseResult(1, "缁戝畾澶辫触"));
+		}
+	}
+
+	/**
+	 * 鏇存敼寰俊
+	 * 
+	 * @param acceptData
+	 * @param uid
+	 * @param code
+	 * @param out
+	 */
+	@RequestMapping(value = "bindWeiXin")
+	public void bindWeiXin(AcceptData acceptData, Long uid, String code, PrintWriter out) {
+		BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
+				acceptData.getPackages());
+
+		if (system == null) {
+			out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�"));
+			return;
+		}
+
+		if (StringUtil.isNullOrEmpty(code)) {
+			out.print(JsonUtil.loadFalseResult("璇蜂笂浼燾ode"));
+			return;
+		}
+
+		try {
+			userAccountService.bindWeiXin(uid, code);
+
+			UserInfo user = userInfoService.getUserByIdWithMybatis(uid);
+			// 鍒ゆ柇taoBaoUid鏄惁宸茬粡灏佺
+			ForbiddenUserIdentifyCode ic = forbiddenUserIdentifyCodeService
+					.listByTypeAndIdentifyCode(ForbiddenUserIdentifyCodeTypeEnum.wxUnionId, user.getWxUnionId());
+			if (ic != null && ic.getEffective() != null && ic.getEffective()) {
+				out.print(JsonUtil.loadFalseResult(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC));
+				// 灏佺鐢ㄦ埛
+				// 灏佺缁戝畾鐨勬甯哥敤鎴�
+				if (user != null && user.getState() != null && user.getState() == UserInfo.STATE_NORMAL) {
+					UserInfo update = new UserInfo(uid);
+					update.setState(UserInfo.STATE_FORBIDDEN);
+					update.setStateDesc("缁戝畾琚皝绂佺殑寰俊鍙疯灏佺");
+					userInfoService.updateByPrimaryKeySelective(update);
+				}
+				return;
+			}
+
+			JSONObject data = new JSONObject();
+			data.put("userInfo", UserUtil.filterForClientUser(user));
+			out.print(JsonUtil.loadTrueResult(data));
+		} catch (UserAccountException e) {
+			out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg()));
+		}
+	}
+
 }

--
Gitblit v1.8.0