From 61b53ee876468978031e9b1985510b238f6d7e0c Mon Sep 17 00:00:00 2001 From: winter Date: Sat, 20 Jul 2024 22:46:29 +0800 Subject: [PATCH] fix --- .../iformall/controller/WxInfoController.java | 2 +- .../interceptor/AuthorizationInterceptor.java | 43 +++++++++---------- .../java/com/iformall/utils/Constant.java | 1 + 3 files changed, 23 insertions(+), 23 deletions(-) diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxInfoController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxInfoController.java index 3049f663b..5b845359f 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxInfoController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxInfoController.java @@ -291,7 +291,7 @@ public class WxInfoController extends BaseController { user.setBopenId(buser.getOpenId()); mallUserInfoService.saveOrUpdate(user); - resultMap.put("adminUserId", user.getId().toString()); + resultMap.put("adminUserId", user.getId().toString()+Constant.TOKEN_ADMIN_END); return new ResultData(resultMap); } else { return new ResultData(ErrorCode.USER_NO_PERMISSION.getCode(),user.getName()+"不是超管或者没有"+EnumMenuType.MOBILE_ADMIN.getMessage()+"的权限", resultMap); diff --git a/mallinkBApi/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java b/mallinkBApi/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java index 1b2bb014d..433767380 100644 --- a/mallinkBApi/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java +++ b/mallinkBApi/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java @@ -10,6 +10,7 @@ import com.iformall.domain.po.MallUserInfo; import com.iformall.domain.po.WxMall; import com.iformall.domain.po.WxMerchantBUser; import com.iformall.domain.po.base.BaseCUserEntity; +import com.iformall.enums.EnumAppPlat; import com.iformall.exception.MallinkException; import com.iformall.service.CUserTokenService; import com.iformall.service.MallUserInfoService; @@ -77,14 +78,8 @@ public class AuthorizationInterceptor extends HandlerInterceptorAdapter { bid = request.getParameter("bid"); } - //商管操作台 - String adminUserId = request.getHeader("adminUserId"); - if(StringUtils.isBlank(adminUserId)){ - adminUserId = request.getParameter("adminUserId"); - } - //token为空, - if(StringUtils.isBlank(token) && StringUtils.isBlank(bid) && StringUtils.isBlank(adminUserId)){ + if(StringUtils.isBlank(token) && StringUtils.isBlank(bid)){ throw new MallinkException(ErrorCode.NET_TOKEN_EMPTY); } @@ -99,23 +94,27 @@ public class AuthorizationInterceptor extends HandlerInterceptorAdapter { String parenTenantId = null; MallUserInfo adminUser = null; if (StringUtils.isNotBlank(token)) { - BaseCUserEntity user = cUserTokenService.getBByToken(token); - if (user == null || user.getExpireTime().getTime() < System.currentTimeMillis()) { - throw new MallinkException(ErrorCode.NET_TOKEN_INVALID.getCode(), "URL:" + request.getRequestURL() + " token失效,请重新登录"); - } - request.setAttribute(Constant.LOGIN_USER_KEY, user.getId()); - request.setAttribute(Constant.REQUEST_C_USER_KEY, user); - if(user.getUserId() != null){ - buser = wxMerchantBUserService.getById(user.getUserId()); - } + //商管操作台 + if(token.endsWith(Constant.TOKEN_ADMIN_END)){ + String[] tokens = token.split(":"); + adminUser = mallUserInfoService.getById(Long.parseLong(tokens[0])); + if (null == adminUser) { + throw new MallinkException(ErrorCode.NET_TOKEN_INVALID.getCode(), "URL:" + request.getRequestURL() + " adminUserId失效,请重新登录"); + } + request.setAttribute(Constant.REQUEST_MALL_USER_KEY, adminUser); + }else { + BaseCUserEntity user = cUserTokenService.getBByToken(token); + if (user == null || user.getExpireTime().getTime() < System.currentTimeMillis()) { + throw new MallinkException(ErrorCode.NET_TOKEN_INVALID.getCode(), "URL:" + request.getRequestURL() + " token失效,请重新登录"); + } + request.setAttribute(Constant.LOGIN_USER_KEY, user.getId()); + request.setAttribute(Constant.REQUEST_C_USER_KEY, user); + if(user.getUserId() != null){ + buser = wxMerchantBUserService.getById(user.getUserId()); + } + } }else if (StringUtils.isNotBlank(bid)) { buser = wxMerchantBUserService.getById(Long.parseLong(bid)); - }else if (StringUtils.isNotBlank(adminUserId)) { - adminUser = mallUserInfoService.getById(Long.parseLong(adminUserId)); - if (null == adminUser) { - throw new MallinkException(ErrorCode.NET_TOKEN_INVALID.getCode(), "URL:" + request.getRequestURL() + " adminUserId失效,请重新登录"); - } - request.setAttribute(Constant.REQUEST_MALL_USER_KEY, adminUser); } if (buser == null && adminUser == null) { diff --git a/mallinkService/src/main/java/com/iformall/utils/Constant.java b/mallinkService/src/main/java/com/iformall/utils/Constant.java index d68764015..46ef1b4f0 100644 --- a/mallinkService/src/main/java/com/iformall/utils/Constant.java +++ b/mallinkService/src/main/java/com/iformall/utils/Constant.java @@ -48,6 +48,7 @@ public class Constant { public static final String TOKEN_WXC_END = ":wx-cuser"; public static final String TOKEN_TTC_END = ":tt-cuser"; + public static final String TOKEN_ADMIN_END = ":admin-user"; public static final String cuserQr = "weapp:cuser-qr:";