From 5737c1229b265456415a20c71f12229b941a4629 Mon Sep 17 00:00:00 2001
From: admin <2780501319@qq.com>
Date: 星期五, 27 九月 2019 00:11:54 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div

---
 fanli/src/main/java/com/yeshi/fanli/controller/AuthCallBackController.java |   53 ++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 38 insertions(+), 15 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 1b4a8de..91b2dd1 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/AuthCallBackController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/AuthCallBackController.java
@@ -66,7 +66,6 @@
 
 	@RequestMapping(value = "tb")
 	public void tb(String code, String state, HttpServletRequest request, HttpServletResponse response) {
-
 		LogHelper.test("娣樺疂鎺堟潈鍥炶皟:" + code + "锛�" + state);
 		if (StringUtil.isNullOrEmpty(code) || StringUtil.isNullOrEmpty(state)) {
 			LogHelper.error("娣樺疂鎺堟潈鍥炶皟鍑洪敊");
@@ -77,6 +76,7 @@
 			}
 			return;
 		}
+
 		try {
 			String key = StringUtil.Md5("taobao-code-" + code);
 			if (!StringUtil.isNullOrEmpty(redisManager.getCommonString(key)))
@@ -85,19 +85,40 @@
 		} catch (Exception e) {
 
 		}
-		LogHelper.userErrorInfo("娣樺疂鎺堟潈鍥炶皟state:"+state);
-		String stateStr = AESUtil.decrypt(state, Constant.UIDAESKEY);
-		LogHelper.userErrorInfo("娣樺疂鎺堟潈鍥炶皟瑙e瘑:"+stateStr);
-		
+
+		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");
+		}
+
+		LogHelper.userErrorInfo("娣樺疂鎺堟潈鍥炶皟state:" + state);
+
+		LogHelper.userErrorInfo("娣樺疂鎺堟潈鍥炶皟瑙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;
@@ -146,6 +167,7 @@
 
 				final String relationId2 = relationId;
 				// 寮傛鐢宠浼氬憳ID
+				final Long fuid=uid;
 				ThreadUtil.run(new Runnable() {
 
 					@Override
@@ -159,12 +181,12 @@
 						}
 
 						if (StringUtil.isNullOrEmpty(specialId))
-							LogHelper.test(uid + "浼氬憳澶囨澶辫触");
+							LogHelper.test(fuid + "浼氬憳澶囨澶辫触");
 						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());
 						}
@@ -192,6 +214,7 @@
 					LogHelper.test(e.getMsg());
 					errCode = 5;
 				}
+				final Long fuid=uid;
 
 				final String specialId2 = specialId;
 				// 寮傛鐢宠娓犻亾ID
@@ -206,12 +229,12 @@
 						} catch (TaoBaoAuthException e1) {
 						} // 娓犻亾ID
 						if (StringUtil.isNullOrEmpty(relationId))
-							LogHelper.test(uid + "娓犻亾澶囨澶辫触");
+							LogHelper.test(fuid + "娓犻亾澶囨澶辫触");
 						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());
 						}

--
Gitblit v1.8.0