From 7e7db2fa55a9a3af46d4fd8ede0dee147f101d64 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期六, 09 五月 2020 21:41:27 +0800
Subject: [PATCH] 2.1需求

---
 fanli/src/main/java/com/yeshi/fanli/controller/AuthCallBackController.java |   91 ++++++++++++++++++++++++++++-----------------
 1 files changed, 57 insertions(+), 34 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/AuthCallBackController.java b/fanli/src/main/java/com/yeshi/fanli/controller/AuthCallBackController.java
index a979f21..2cff591 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/AuthCallBackController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/AuthCallBackController.java
@@ -20,6 +20,8 @@
 import com.yeshi.fanli.exception.taobao.TaoBaoAuthException;
 import com.yeshi.fanli.exception.user.UserExtraTaoBaoInfoException;
 import com.yeshi.fanli.log.LogHelper;
+import com.yeshi.fanli.log.LogManager;
+import com.yeshi.fanli.log.LogType;
 import com.yeshi.fanli.service.inter.user.UserActiveLogService;
 import com.yeshi.fanli.service.inter.user.UserInfoModifyRecordService;
 import com.yeshi.fanli.service.inter.user.msg.UserAccountMsgNotificationService;
@@ -27,6 +29,7 @@
 import com.yeshi.fanli.service.inter.user.tb.UserExtraTaoBaoInfoService;
 import com.yeshi.fanli.util.AESUtil;
 import com.yeshi.fanli.util.Constant;
+import com.yeshi.fanli.util.RedisKeyEnum;
 import com.yeshi.fanli.util.RedisManager;
 import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.TaoBaoConstant;
@@ -66,35 +69,59 @@
 
 	@RequestMapping(value = "tb")
 	public void tb(String code, String state, HttpServletRequest request, HttpServletResponse response) {
-
-		LogHelper.test("娣樺疂鎺堟潈鍥炶皟:" + code + "锛�" + state);
+		LogManager.getLogger(LogType.taobaoAuth).info("娣樺疂鎺堟潈鍥炶皟:" + code + "锛�" + state);
 		if (StringUtil.isNullOrEmpty(code) || StringUtil.isNullOrEmpty(state)) {
 			LogHelper.error("娣樺疂鎺堟潈鍥炶皟鍑洪敊");
 			try {
-				response.sendRedirect("http://apph5.yeshitv.com/apppage/flq_bonusState.html?code=1");
+				response.sendRedirect("http://apph5.banliapp.com/flqWeb/h5/tbauth/fail.html?code=1");
 			} catch (IOException e1) {
 				e1.printStackTrace();
 			}
 			return;
 		}
+
 		try {
-			String key = StringUtil.Md5("taobao-code-" + code);
+			String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.taobaoCode, code);
 			if (!StringUtil.isNullOrEmpty(redisManager.getCommonString(key)))
 				return;
 			redisManager.cacheCommonString(key, 1 + "", 5);
 		} catch (Exception e) {
 
 		}
-		String stateStr = AESUtil.decrypt(state, Constant.UIDAESKEY);
+
+		String stateStr = null;
+		Long time = null;
+		Long uid = null;
+		String source = null;
+		try {
+			stateStr = AESUtil.decrypt(state, Constant.UIDAESKEY);
+			JSONObject json = JSONObject.fromObject(stateStr);
+			time = json.optLong("t");
+			uid = json.optLong("u");
+			source = json.optString("s");
+		} catch (Exception e) {
+			try {
+				state = URLDecoder.decode(state, "UTF-8");
+			} catch (UnsupportedEncodingException e1) {
+				e1.printStackTrace();
+			}
+			stateStr = AESUtil.decrypt(state, Constant.UIDAESKEY);
+			JSONObject json = JSONObject.fromObject(stateStr);
+			time = json.optLong("t");
+			uid = json.optLong("u");
+			source = json.optString("s");
+		}
+
+		LogManager.getLogger(LogType.taobaoAuth).info("娣樺疂鎺堟潈鍥炶皟state:" + state);
+
+		LogManager.getLogger(LogType.taobaoAuth).info("娣樺疂鎺堟潈鍥炶皟瑙e瘑:" + stateStr);
+
 		int errCode = 0;
 		if (StringUtil.isNullOrEmpty(stateStr)) {
 			// 瑙e瘑閿欒
 			errCode = 1;
 		}
-		JSONObject json = JSONObject.fromObject(stateStr);
-		Long time = json.optLong("t");
-		Long uid = json.optLong("u");
-		String source = json.optString("s");
+
 		if (System.currentTimeMillis() - time > 1000 * 60 * 10L) {
 			// 杩囨椂
 			errCode = 2;
@@ -118,7 +145,7 @@
 			} catch (Exception e) {
 			}
 			final String name = nickName;
-			LogHelper.test("uid:" + uid + "\n accessToken:" + accessToken);
+			LogManager.getLogger(LogType.taobaoAuth).info("uid:" + uid + "\n accessToken:" + accessToken);
 
 			// 鑾峰彇娓犻亾ID涓庝細鍛業D
 			if ("share".equalsIgnoreCase(source)) {
@@ -128,12 +155,11 @@
 					relationId = TaoKeApiUtil.getRelationId(accessToken, TaoBaoConstant.TAOBAO_AUTH_APPKEY,
 							TaoBaoConstant.TAOBAO_AUTH_APPSECRET);// 娓犻亾ID
 				} catch (TaoBaoAuthException e) {
+					LogManager.getLogger(LogType.taobaoAuth).error(uid + "娓犻亾澶囨澶辫触:" + e.getMessage());
 					if (e.getCode() == TaoBaoAuthException.CODE_NOT_REAL_NAME)
 						userAccountMsgNotificationService.taoBaoAuthFail(uid, name, "娣樺疂璐﹀彿鏈疄鍚�");
 				}
 
-				if (StringUtil.isNullOrEmpty(relationId))
-					LogHelper.test(uid + "娓犻亾澶囨澶辫触");
 				try {
 					userExtraTaoBaoInfoService.addRelationId(uid, relationId, taoBaoUid, nickName, true);
 				} catch (UserExtraTaoBaoInfoException e) {
@@ -143,6 +169,7 @@
 
 				final String relationId2 = relationId;
 				// 寮傛鐢宠浼氬憳ID
+				final Long fuid = uid;
 				ThreadUtil.run(new Runnable() {
 
 					@Override
@@ -152,16 +179,14 @@
 							specialId = TaoKeApiUtil.getSpecialId(accessToken, TaoBaoConstant.TAOBAO_AUTH_APPKEY,
 									TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
 						} catch (TaoBaoAuthException e1) {
-
+							LogManager.getLogger(LogType.taobaoAuth).error(fuid + "浼氬憳澶囨澶辫触:" + e1.getMessage());
 						}
 
-						if (StringUtil.isNullOrEmpty(specialId))
-							LogHelper.test(uid + "浼氬憳澶囨澶辫触");
 						try {
-							userExtraTaoBaoInfoService.addSpecialId(uid, specialId, taoBaoUid, name, true);
+							userExtraTaoBaoInfoService.addSpecialId(fuid, specialId, taoBaoUid, name, true);
 
 							if (!StringUtil.isNullOrEmpty(specialId) && !StringUtil.isNullOrEmpty(relationId2))
-								userInfoModifyRecordService.addModifyRecord(uid, ModifyTypeEnum.bindTaoBao, taoBaoUid);
+								userInfoModifyRecordService.addModifyRecord(fuid, ModifyTypeEnum.bindTaoBao, taoBaoUid);
 						} catch (UserExtraTaoBaoInfoException e) {
 							LogHelper.test(e.getMsg());
 						}
@@ -179,16 +204,16 @@
 				} catch (TaoBaoAuthException e) {
 					if (e.getCode() == TaoBaoAuthException.CODE_NOT_REAL_NAME)
 						userAccountMsgNotificationService.taoBaoAuthFail(uid, name, "娣樺疂璐﹀彿鏈疄鍚�");
+					LogManager.getLogger(LogType.taobaoAuth).error(uid + "浼氬憳澶囨澶辫触:" + e.getMessage());
 				}
 
-				if (StringUtil.isNullOrEmpty(specialId))
-					LogHelper.test(uid + "浼氬憳澶囨澶辫触");
 				try {
 					userExtraTaoBaoInfoService.addSpecialId(uid, specialId, taoBaoUid, nickName, true);
 				} catch (UserExtraTaoBaoInfoException e) {
 					LogHelper.test(e.getMsg());
 					errCode = 5;
 				}
+				final Long fuid = uid;
 
 				final String specialId2 = specialId;
 				// 寮傛鐢宠娓犻亾ID
@@ -201,14 +226,13 @@
 							relationId = TaoKeApiUtil.getRelationId(accessToken, TaoBaoConstant.TAOBAO_AUTH_APPKEY,
 									TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
 						} catch (TaoBaoAuthException e1) {
-						} // 娓犻亾ID
-						if (StringUtil.isNullOrEmpty(relationId))
-							LogHelper.test(uid + "娓犻亾澶囨澶辫触");
+							LogManager.getLogger(LogType.taobaoAuth).error(fuid + "娓犻亾澶囨澶辫触:" + e1.getMessage());
+						}
 						try {
-							userExtraTaoBaoInfoService.addRelationId(uid, relationId, taoBaoUid, name, true);
+							userExtraTaoBaoInfoService.addRelationId(fuid, relationId, taoBaoUid, name, true);
 
 							if (!StringUtil.isNullOrEmpty(specialId2) && !StringUtil.isNullOrEmpty(relationId))
-								userInfoModifyRecordService.addModifyRecord(uid, ModifyTypeEnum.bindTaoBao, taoBaoUid);
+								userInfoModifyRecordService.addModifyRecord(fuid, ModifyTypeEnum.bindTaoBao, taoBaoUid);
 						} catch (UserExtraTaoBaoInfoException e) {
 							LogHelper.test(e.getMsg());
 						}
@@ -228,11 +252,11 @@
 					relationId = TaoKeApiUtil.getRelationId(accessToken, Constant.TAOBAO_AUTH_APPKEY,
 							TaoBaoConstant.TAOBAO_AUTH_APPSECRET);// 娓犻亾ID
 				} catch (TaoBaoAuthException e) {
+					LogManager.getLogger(LogType.taobaoAuth).error(uid + "娓犻亾澶囨澶辫触");
 					tbErrorCode = e.getCode();
 				}
 
 				if (StringUtil.isNullOrEmpty(relationId)) {
-					LogHelper.test(uid + "娓犻亾澶囨澶辫触");
 					bindInfo = false;
 				}
 
@@ -243,9 +267,9 @@
 								TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
 					} catch (TaoBaoAuthException e) {
 						tbErrorCode = e.getCode();
+						LogManager.getLogger(LogType.taobaoAuth).error(uid + "浼氬憳澶囨澶辫触");
 					}
 					if (StringUtil.isNullOrEmpty(specialId)) {
-						LogHelper.test(uid + "浼氬憳澶囨澶辫触");
 						bindInfo = false;
 					}
 				}
@@ -310,17 +334,17 @@
 			{
 				if ("share".equalsIgnoreCase(source)) {
 					if (isNewJump)
-						response.sendRedirect("http://apph5.yeshitv.com/flqWeb/h5/tbauth/success.html");
+						response.sendRedirect("http://apph5.banliapp.com/flqWeb/h5/tbauth/success.html");
 					else
 						closeWebPage(response.getWriter());
 				} else if ("zigou".equalsIgnoreCase(source)) {
 					if (isNewJump)
-						response.sendRedirect("http://apph5.yeshitv.com/flqWeb/h5/tbauth/success.html");
+						response.sendRedirect("http://apph5.banliapp.com/flqWeb/h5/tbauth/success.html");
 					else
 						closeWebPage(response.getWriter());
 				} else if ("bind".equalsIgnoreCase(source)) {
 					if (isNewJump)
-						response.sendRedirect("http://apph5.yeshitv.com/flqWeb/h5/tbauth/success.html");
+						response.sendRedirect("http://apph5.banliapp.com/flqWeb/h5/tbauth/success.html");
 					else {
 						String script = String.format(
 								"<script>if(/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {window.location.href = 'yestv://toast#%s';setTimeout(function(){window.location.href = 'yestv://finishPage';},100);} else {yestv.toast(\"鎭枩浣狅紝娣樺疂缁戝畾鎴愬姛\");yestv.finishPage();}</script>",
@@ -331,17 +355,17 @@
 			} else {// 澶辫触
 				if ("share".equalsIgnoreCase(source)) {
 					if (isNewJump)
-						response.sendRedirect("http://apph5.yeshitv.com/flqWeb/h5/tbauth/fail.html");
+						response.sendRedirect("http://apph5.banliapp.com/flqWeb/h5/tbauth/fail.html");
 					else
 						closeWebPage(response.getWriter());
 				} else if ("zigou".equalsIgnoreCase(source)) {
 					if (isNewJump)
-						response.sendRedirect("http://apph5.yeshitv.com/flqWeb/h5/tbauth/fail.html");
+						response.sendRedirect("http://apph5.banliapp.com/flqWeb/h5/tbauth/fail.html");
 					else
 						closeWebPage(response.getWriter());
 				} else if ("bind".equalsIgnoreCase(source)) {
 					if (isNewJump)
-						response.sendRedirect("http://apph5.yeshitv.com/flqWeb/h5/tbauth/fail.html");
+						response.sendRedirect("http://apph5.banliapp.com/flqWeb/h5/tbauth/fail.html");
 					else {
 						String script = String.format(
 								"<script>if(/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {window.location.href = 'yestv://toast#%s';setTimeout(function(){window.location.href = 'yestv://finishPage';},100);} else {yestv.toast(\"鎶辨瓑锛屾窐瀹濈粦瀹氬け璐");yestv.finishPage();}</script>",
@@ -351,9 +375,8 @@
 				}
 			}
 		} catch (Exception e) {
-
+			LogHelper.errorDetailInfo(e);
 		}
-
 	}
 
 	private void closeWebPage(PrintWriter out) {

--
Gitblit v1.8.0