From 66c70566b5437babca6d01b6c476c7b839aa83ff Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 25 九月 2019 11:29:12 +0800 Subject: [PATCH] 修复淘宝授权bug,修复我的页面分享奖金与邀请奖金统计 --- 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