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