diff --git a/server/DirectoryV2.xml b/server/DirectoryV2.xml index f9d46b51..db0fcdd0 100644 --- a/server/DirectoryV2.xml +++ b/server/DirectoryV2.xml @@ -33,4 +33,5 @@ + \ No newline at end of file diff --git a/server/like-admin/src/main/java/com/mdd/admin/LikeAdminInterceptor.java b/server/like-admin/src/main/java/com/mdd/admin/LikeAdminInterceptor.java index 9d2b57db..f4bb065a 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/LikeAdminInterceptor.java +++ b/server/like-admin/src/main/java/com/mdd/admin/LikeAdminInterceptor.java @@ -2,13 +2,15 @@ package com.mdd.admin; import cn.dev33.satoken.stp.StpUtil; import com.alibaba.fastjson2.JSON; -import com.mdd.admin.config.AdminConfig; -import com.mdd.admin.service.ISystemAuthAdminService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.mdd.common.aop.NotPower; +import com.mdd.common.aop.NotLogin; import com.mdd.common.core.AjaxResult; +import com.mdd.common.entity.system.SystemAuthAdmin; import com.mdd.common.enums.HttpEnum; -import com.mdd.common.util.RedisUtils; +import com.mdd.common.exception.LoginException; +import com.mdd.common.mapper.system.SystemAuthAdminMapper; import com.mdd.common.util.StringUtils; -import com.mdd.common.util.ToolsUtils; import com.mdd.common.util.YmlUtils; import org.jetbrains.annotations.NotNull; import org.springframework.stereotype.Component; @@ -18,9 +20,9 @@ import org.springframework.web.servlet.HandlerInterceptor; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.lang.reflect.Method; import java.util.Arrays; import java.util.List; -import java.util.Map; /** * 拦截器 @@ -29,33 +31,45 @@ import java.util.Map; public class LikeAdminInterceptor implements HandlerInterceptor { @Resource - ISystemAuthAdminService iSystemAuthAdminService; + SystemAuthAdminMapper systemAuthAdminMapper; + /** + * 前置处理器 + * + * @param request 请求 + * @param response 响应 + * @param handler 处理 + * @return boolean + * @throws Exception 异常 + */ @Override public boolean preHandle(@NotNull HttpServletRequest request, @NotNull HttpServletResponse response, @NotNull Object handler) throws Exception { - // 请求的类型 + // 请求方法类型 response.setContentType("application/json;charset=utf-8"); if (!(handler instanceof HandlerMethod)) { return HandlerInterceptor.super.preHandle(request, response, handler); } - // 路由转权限 - String prefix = "/api/"; - String route = request.getRequestURI().replaceFirst(prefix, ""); - String auths = route.replace("/", ":"); - - // 免登录接口 - List notLoginUri = Arrays.asList(AdminConfig.notLoginUri); - if (notLoginUri.contains(auths)) { - return HandlerInterceptor.super.preHandle(request, response, handler); + // 登录权限校验 + try { + Method method = this.obtainAop(handler); + String reqUri = request.getRequestURI(); + this.checkLogin(method, reqUri); + } catch (LoginException e) { + AjaxResult result = AjaxResult.failed(e.getCode(), e.getMsg()); + response.getWriter().print(JSON.toJSONString(result)); + return false; } // 演示环境拦截 String env = YmlUtils.get("like.production"); if (StringUtils.isNotNull(env) && env.equals("true")) { + String prefix = "/api/"; + String route = request.getRequestURI().replaceFirst(prefix, ""); + String auths = route.replace("/", ":"); List ignoreUrl = Arrays.asList("system:login", "system:logout"); if (request.getMethod().equals("POST") && !ignoreUrl.contains(auths)) { String message = "演示环境不支持修改数据,请下载源码本地部署体验"; @@ -65,64 +79,19 @@ public class LikeAdminInterceptor implements HandlerInterceptor { } } - // Token是否为空 - String token = StpUtil.getTokenValue(); - if (StringUtils.isBlank(token)) { - AjaxResult result = AjaxResult.failed(HttpEnum.TOKEN_EMPTY.getCode(), HttpEnum.TOKEN_EMPTY.getMsg()); - response.getWriter().print(JSON.toJSONString(result)); - return false; - } - - // Token是否过期 - Object id = StpUtil.getLoginId(); - if (StringUtils.isNull(id)) { - AjaxResult result = AjaxResult.failed(HttpEnum.TOKEN_INVALID.getCode(), HttpEnum.TOKEN_INVALID.getMsg()); - response.getWriter().print(JSON.toJSONString(result)); - return false; - } - - // Users是否存在 - if (!RedisUtils.hExists(AdminConfig.backstageManageKey, id)) { - iSystemAuthAdminService.cacheAdminUserByUid(Integer.parseInt(id.toString())); - } - - // 获取用户的信息 - String UserStr = RedisUtils.hGet(AdminConfig.backstageManageKey, String.valueOf(id)).toString(); - Map userMap = ToolsUtils.jsonToMap(UserStr); - - // 校验用户被删除 - if (userMap.get("isDelete").equals("1")) { - AjaxResult result = AjaxResult.failed(HttpEnum.TOKEN_INVALID.getCode(), HttpEnum.TOKEN_INVALID.getMsg()); - response.getWriter().print(JSON.toJSONString(result)); - return false; - } - - // 校验用户被禁用 - if (userMap.get("isDisable").equals("1")) { - AjaxResult result = AjaxResult.failed(HttpEnum.LOGIN_DISABLE_ERROR.getCode(), HttpEnum.LOGIN_DISABLE_ERROR.getMsg()); - response.getWriter().print(JSON.toJSONString(result)); - return false; - } - - // 用户写本地线里 - LikeAdminThreadLocal.put("adminId", id); - LikeAdminThreadLocal.put("roleIds", userMap.get("roleIds")); - LikeAdminThreadLocal.put("username", userMap.get("username")); - LikeAdminThreadLocal.put("nickname", userMap.get("nickname")); - - // 免校验权限接口 - List notAuthUri = Arrays.asList(AdminConfig.notAuthUri); - if (notAuthUri.contains(auths) || Integer.parseInt(id.toString()) == 1) { - return HandlerInterceptor.super.preHandle(request, response, handler); - } - - // 校验用户的权限 - StpUtil.checkPermission(auths); - - // 验证通过继续操作 + // 验证通过继续 return HandlerInterceptor.super.preHandle(request, response, handler); } + /** + * 后置处理器 + * + * @param request 请求 + * @param response 响应 + * @param handler 处理 + * @param ex 异常 + * @throws Exception 异常 + */ @Override public void afterCompletion(@NotNull HttpServletRequest request, @NotNull HttpServletResponse response, @@ -130,4 +99,114 @@ public class LikeAdminInterceptor implements HandlerInterceptor { LikeAdminThreadLocal.remove(); HandlerInterceptor.super.afterCompletion(request, response, handler, ex); } + + /** + * 提取注解 + * + * @param handler 处理器 + * @return Method + * @throws Exception 异常 + */ + private Method obtainAop(@NotNull Object handler) throws Exception { + String[] objArr = handler.toString().split("#"); + String methodStr = objArr[1].split("\\(")[0]; + String classStr = objArr[0]; + Class clazz = Class.forName(classStr); + + Method[] methods = clazz.getDeclaredMethods(); + for (Method method : methods) { + if (method.getName().equals(methodStr)) { + return method; + } + } + + return null; + } + + /** + * 登录验证 + * + * @param method 方法类 + * @author fzr + */ + private void checkLogin(Method method, String reqUri) { + for (int i=0; i<=0; i++) { + // 免登校验 + if (StringUtils.isNotNull(method) && method.isAnnotationPresent(NotLogin.class)) { + break; + } + + // 令牌校验 + String token = StpUtil.getTokenValue(); + if (StringUtils.isNull(token) || StringUtils.isBlank(token)) { + Integer errCode = HttpEnum.TOKEN_EMPTY.getCode(); + String errMsg = HttpEnum.TOKEN_EMPTY.getMsg(); + throw new LoginException(errCode, errMsg); + } + + // 登录校验 + Object id = StpUtil.getLoginId(); + if (StringUtils.isNull(id)) { + Integer errCode = HttpEnum.TOKEN_INVALID.getCode(); + String errMsg = HttpEnum.TOKEN_INVALID.getMsg(); + throw new LoginException(errCode, errMsg); + } + + // 用户校验 + SystemAuthAdmin adminUser = systemAuthAdminMapper.selectOne( + new QueryWrapper() + .select("id,username,role_ids,dept_ids,post_ids,is_disable") + .eq("id", Integer.parseInt(id.toString())) + .eq("is_delete", 0) + .last("limit 1")); + + // 删除校验 + if (StringUtils.isNull(adminUser)) { + Integer errCode = HttpEnum.TOKEN_INVALID.getCode(); + String errMsg = HttpEnum.TOKEN_INVALID.getMsg(); + throw new LoginException(errCode, errMsg); + } + + // 禁用校验 + if (adminUser.getIsDisable().equals(1)) { + Integer errCode = HttpEnum.LOGIN_DISABLE_ERROR.getCode(); + String errMsg = HttpEnum.LOGIN_DISABLE_ERROR.getMsg(); + throw new LoginException(errCode, errMsg); + } + + // 写入线程 + LikeAdminThreadLocal.put("adminId", id); + LikeAdminThreadLocal.put("username", adminUser.getUsername()); + LikeAdminThreadLocal.put("roleIds", adminUser.getRoleIds()); + LikeAdminThreadLocal.put("deptIds", adminUser.getDeptIds()); + LikeAdminThreadLocal.put("postIds", adminUser.getPostIds()); + + // 权限校验 + this.checkAuth(method, reqUri); + } + } + + /** + * 权限验证 + * + * @param method 方法类 + * @param uri 请求路由 + * @author fzr + */ + private void checkAuth(Method method, String uri) { + for (int i=0; i<=0; i++) { + // 免权限校验 + if (StringUtils.isNotNull(method) && method.isAnnotationPresent(NotPower.class)) { + break; + } + + // 路由转权限 + String prefix = "/api/"; + String route = uri.replaceFirst(prefix, ""); + String auths = route.replace("/", ":"); + + // 校验权限 + StpUtil.checkPermission(auths); + } + } } diff --git a/server/like-admin/src/main/java/com/mdd/admin/LikeAdminThreadLocal.java b/server/like-admin/src/main/java/com/mdd/admin/LikeAdminThreadLocal.java index f827b858..4014bacf 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/LikeAdminThreadLocal.java +++ b/server/like-admin/src/main/java/com/mdd/admin/LikeAdminThreadLocal.java @@ -55,7 +55,7 @@ public class LikeAdminThreadLocal { /** * 获取角色ID */ - public static List getRoleId() { + public static List getRoleIds() { String roleIds = LikeAdminThreadLocal.get("roleIds").toString(); if (roleIds.equals("") || roleIds.equals("0")) { return Collections.emptyList(); diff --git a/server/like-admin/src/main/java/com/mdd/admin/config/aop/Log.java b/server/like-admin/src/main/java/com/mdd/admin/aop/Log.java similarity index 66% rename from server/like-admin/src/main/java/com/mdd/admin/config/aop/Log.java rename to server/like-admin/src/main/java/com/mdd/admin/aop/Log.java index accee6c8..4343998a 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/config/aop/Log.java +++ b/server/like-admin/src/main/java/com/mdd/admin/aop/Log.java @@ -1,20 +1,27 @@ -package com.mdd.admin.config.aop; +package com.mdd.admin.aop; + +import com.mdd.admin.aop.aspect.RequestType; import java.lang.annotation.*; +/** + * 日志记录类 + */ @Target({ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface Log { /** - * 模块 + * 模块名称 + * * @return String */ String title() default ""; /** - * 模块 + * 请求类型 + * * @return String */ RequestType requestType() default RequestType.Default; diff --git a/server/like-admin/src/main/java/com/mdd/admin/config/aop/LogAspect.java b/server/like-admin/src/main/java/com/mdd/admin/aop/aspect/LogAspect.java similarity index 98% rename from server/like-admin/src/main/java/com/mdd/admin/config/aop/LogAspect.java rename to server/like-admin/src/main/java/com/mdd/admin/aop/aspect/LogAspect.java index 66d7b88c..0b7ab6e5 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/config/aop/LogAspect.java +++ b/server/like-admin/src/main/java/com/mdd/admin/aop/aspect/LogAspect.java @@ -1,7 +1,8 @@ -package com.mdd.admin.config.aop; +package com.mdd.admin.aop.aspect; import com.alibaba.fastjson2.JSON; import com.mdd.admin.LikeAdminThreadLocal; +import com.mdd.admin.aop.Log; import com.mdd.common.entity.system.SystemLogOperate; import com.mdd.common.mapper.system.SystemLogOperateMapper; import com.mdd.common.util.IpUtils; @@ -43,7 +44,7 @@ public class LogAspect { /** * 声明切面点拦截那些类 */ - @Pointcut("@annotation(com.mdd.admin.config.aop.Log)") + @Pointcut("@annotation(com.mdd.admin.aop.Log)") private void pointCutMethodController() {} /** diff --git a/server/like-admin/src/main/java/com/mdd/admin/config/aop/RequestType.java b/server/like-admin/src/main/java/com/mdd/admin/aop/aspect/RequestType.java similarity index 79% rename from server/like-admin/src/main/java/com/mdd/admin/config/aop/RequestType.java rename to server/like-admin/src/main/java/com/mdd/admin/aop/aspect/RequestType.java index abc398d2..18eef2cf 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/config/aop/RequestType.java +++ b/server/like-admin/src/main/java/com/mdd/admin/aop/aspect/RequestType.java @@ -1,4 +1,4 @@ -package com.mdd.admin.config.aop; +package com.mdd.admin.aop.aspect; /** * 请求参数类 @@ -12,6 +12,5 @@ public enum RequestType { * 默认数据类型 */ Default - ; } diff --git a/server/like-admin/src/main/java/com/mdd/admin/config/AdminConfig.java b/server/like-admin/src/main/java/com/mdd/admin/config/AdminConfig.java deleted file mode 100644 index 4411b016..00000000 --- a/server/like-admin/src/main/java/com/mdd/admin/config/AdminConfig.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.mdd.admin.config; - -/** - * 后台公共配置 - */ -public class AdminConfig { - - // 管理缓存键 - public static final String backstageManageKey = "backstage:manage"; - - // 角色缓存键 - public static final String backstageRolesKey = "backstage:roles"; - - // 免登录验证 - public static String[] notLoginUri = new String[]{ - "system:captcha", // 验证码 - "system:login", // 登录接口 - "index:config" // 配置接口 - }; - - // 免权限验证 - public static String[] notAuthUri = new String[]{ - "system:logout", // 退出登录 - "system:menu:menus", // 系统菜单 - "system:menu:route", // 菜单路由 - "system:admin:upInfo", // 管理员更新 - "system:admin:self", // 管理员信息 - "system:role:all", // 所有角色 - "system:post:all", // 所有岗位 - "system:dept:list", // 所有部门 - "system:menu:list", // 菜单列表 - "setting:dict:type:all", // 所有字典类型 - "setting:dict:data:all", // 所有字典数据 - "article:cate:all", // 所有文章分类 - "decorate:data:article", // 装修数据文章 - }; - -} diff --git a/server/like-admin/src/main/java/com/mdd/admin/config/StpInterConfig.java b/server/like-admin/src/main/java/com/mdd/admin/config/StpInterConfig.java deleted file mode 100644 index 7f8f0d1a..00000000 --- a/server/like-admin/src/main/java/com/mdd/admin/config/StpInterConfig.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.mdd.admin.config; - -import cn.dev33.satoken.stp.StpInterface; -import com.mdd.admin.LikeAdminThreadLocal; -import com.mdd.admin.service.ISystemAuthPermService; -import com.mdd.common.util.ArrayUtils; -import com.mdd.common.util.RedisUtils; -import com.mdd.common.util.StringUtils; -import org.springframework.stereotype.Component; - -import javax.annotation.Resource; -import java.util.*; - -/** - * Sa-Token自定义权限验证接口 - */ -@Component -public class StpInterConfig implements StpInterface { - - @Resource - ISystemAuthPermService iSystemAuthPermService; - - /** - * 返回一个账号所拥有的权限码集合 - * - * @param loginId 登录ID - * @param loginType 登录类型 - * @return List - */ - @Override - public List getPermissionList(Object loginId, String loginType) { - List roleIds = LikeAdminThreadLocal.getRoleId(); - List perms = new LinkedList<>(); - - for (Integer roleId : roleIds) { - Object menusObj = RedisUtils.hGet(AdminConfig.backstageRolesKey, String.valueOf(roleId)); - if (StringUtils.isNull(menusObj)) { - iSystemAuthPermService.cacheRoleMenusByRoleId(roleId); - menusObj = RedisUtils.hGet(AdminConfig.backstageRolesKey, String.valueOf(roleId)); - } - if (StringUtils.isNotNull(menusObj)) { - perms.addAll(ArrayUtils.stringToListAsStr(menusObj.toString(), ",")); - } - } - - return perms; - } - - /** - * 返回一个账号所拥有的角色标识集合 - * - * @param loginId 登录ID - * @param loginType 登录类型 - * @return List - */ - @Override - public List getRoleList(Object loginId, String loginType) { - return null; - } - -} diff --git a/server/like-admin/src/main/java/com/mdd/admin/config/StpInException.java b/server/like-admin/src/main/java/com/mdd/admin/config/stp/StpInException.java similarity index 97% rename from server/like-admin/src/main/java/com/mdd/admin/config/StpInException.java rename to server/like-admin/src/main/java/com/mdd/admin/config/stp/StpInException.java index 1b66a118..5df33fa3 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/config/StpInException.java +++ b/server/like-admin/src/main/java/com/mdd/admin/config/stp/StpInException.java @@ -1,4 +1,4 @@ -package com.mdd.admin.config; +package com.mdd.admin.config.stp; import cn.dev33.satoken.exception.NotLoginException; import cn.dev33.satoken.exception.NotPermissionException; diff --git a/server/like-admin/src/main/java/com/mdd/admin/config/stp/StpInterConfig.java b/server/like-admin/src/main/java/com/mdd/admin/config/stp/StpInterConfig.java new file mode 100644 index 00000000..8f9f353d --- /dev/null +++ b/server/like-admin/src/main/java/com/mdd/admin/config/stp/StpInterConfig.java @@ -0,0 +1,87 @@ +package com.mdd.admin.config.stp; + +import cn.dev33.satoken.stp.StpInterface; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.mdd.admin.LikeAdminThreadLocal; +import com.mdd.common.entity.system.SystemAuthMenu; +import com.mdd.common.entity.system.SystemAuthPerm; +import com.mdd.common.mapper.system.SystemAuthMenuMapper; +import com.mdd.common.mapper.system.SystemAuthPermMapper; +import com.mdd.common.util.StringUtils; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.util.*; + +/** + * Sa-Token自定义权限验证接口 + */ +@Component +public class StpInterConfig implements StpInterface { + + @Resource + SystemAuthPermMapper systemAuthPermMapper; + + @Resource + SystemAuthMenuMapper systemAuthMenuMapper; + + /** + * 返回一个账号所拥有的权限码集合 + * + * @param loginId 登录ID + * @param loginType 登录类型 + * @return List + */ + @Override + public List getPermissionList(Object loginId, String loginType) { + List roleIds = LikeAdminThreadLocal.getRoleIds(); + List perms = new LinkedList<>(); + + if (roleIds.isEmpty()) { + return perms; + } + + List permList = systemAuthPermMapper.selectList( + new QueryWrapper() + .select("id,role_id,menu_id") + .in("role_id", roleIds)); + + if (permList.isEmpty()) { + return perms; + } + + List menuIds = new LinkedList<>(); + for (SystemAuthPerm systemAuthPerm : permList) { + menuIds.add(systemAuthPerm.getMenuId()); + } + + List systemAuthMenus = systemAuthMenuMapper.selectList( + new QueryWrapper() + .select("id,perms") + .eq("is_disable", 0) + .in("id", menuIds) + .in("menu_type", Arrays.asList("C", "A")) + .orderByAsc(Arrays.asList("menu_sort", "id"))); + + for (SystemAuthMenu item : systemAuthMenus) { + if (StringUtils.isNotNull(item.getPerms()) && StringUtils.isNotEmpty(item.getPerms())) { + perms.add(item.getPerms().trim()); + } + } + + return perms; + } + + /** + * 返回一个账号所拥有的角色标识集合 + * + * @param loginId 登录ID + * @param loginType 登录类型 + * @return List + */ + @Override + public List getRoleList(Object loginId, String loginType) { + return null; + } + +} diff --git a/server/like-admin/src/main/java/com/mdd/admin/controller/AlbumsController.java b/server/like-admin/src/main/java/com/mdd/admin/controller/AlbumsController.java index e83410d6..42971cc6 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/controller/AlbumsController.java +++ b/server/like-admin/src/main/java/com/mdd/admin/controller/AlbumsController.java @@ -1,7 +1,7 @@ package com.mdd.admin.controller; import com.alibaba.fastjson2.JSONArray; -import com.mdd.admin.config.aop.Log; +import com.mdd.admin.aop.Log; import com.mdd.admin.service.IAlbumsService; import com.mdd.admin.validate.AlbumCateValidate; import com.mdd.admin.validate.AlbumMoveValidate; diff --git a/server/like-admin/src/main/java/com/mdd/admin/controller/ArtCateController.java b/server/like-admin/src/main/java/com/mdd/admin/controller/ArtCateController.java index 11d2155a..47f5e386 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/controller/ArtCateController.java +++ b/server/like-admin/src/main/java/com/mdd/admin/controller/ArtCateController.java @@ -1,6 +1,7 @@ package com.mdd.admin.controller; -import com.mdd.admin.config.aop.Log; +import com.mdd.admin.aop.Log; +import com.mdd.common.aop.NotPower; import com.mdd.admin.service.IArtCateService; import com.mdd.admin.validate.ArtCateCreateValidate; import com.mdd.admin.validate.ArtCateUpdateValidate; @@ -33,6 +34,7 @@ public class ArtCateController { * @author fzr * @return AjaxResult> */ + @NotPower @GetMapping("/all") public AjaxResult> all() { List list = iArtCateService.all(); diff --git a/server/like-admin/src/main/java/com/mdd/admin/controller/ArticleController.java b/server/like-admin/src/main/java/com/mdd/admin/controller/ArticleController.java index d31f843d..4a59306f 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/controller/ArticleController.java +++ b/server/like-admin/src/main/java/com/mdd/admin/controller/ArticleController.java @@ -1,6 +1,6 @@ package com.mdd.admin.controller; -import com.mdd.admin.config.aop.Log; +import com.mdd.admin.aop.Log; import com.mdd.admin.service.IArticleService; import com.mdd.admin.validate.ArticleCreateValidate; import com.mdd.admin.validate.ArticleSearchValidate; diff --git a/server/like-admin/src/main/java/com/mdd/admin/controller/IndexController.java b/server/like-admin/src/main/java/com/mdd/admin/controller/IndexController.java index ca8c6139..06f97bd6 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/controller/IndexController.java +++ b/server/like-admin/src/main/java/com/mdd/admin/controller/IndexController.java @@ -1,5 +1,6 @@ package com.mdd.admin.controller; +import com.mdd.common.aop.NotLogin; import com.mdd.admin.service.IIndexService; import com.mdd.common.core.AjaxResult; import lombok.extern.slf4j.Slf4j; @@ -39,6 +40,7 @@ public class IndexController { * @author fzr * @return AjaxResult */ + @NotLogin @GetMapping("/config") public AjaxResult> config() { Map map = iIndexService.config(); diff --git a/server/like-admin/src/main/java/com/mdd/admin/controller/UploadController.java b/server/like-admin/src/main/java/com/mdd/admin/controller/UploadController.java index 14182705..be966a99 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/controller/UploadController.java +++ b/server/like-admin/src/main/java/com/mdd/admin/controller/UploadController.java @@ -1,8 +1,8 @@ package com.mdd.admin.controller; import com.mdd.admin.LikeAdminThreadLocal; -import com.mdd.admin.config.aop.Log; -import com.mdd.admin.config.aop.RequestType; +import com.mdd.admin.aop.Log; +import com.mdd.admin.aop.aspect.RequestType; import com.mdd.admin.service.IAlbumsService; import com.mdd.common.core.AjaxResult; import com.mdd.common.enums.AlbumEnum; diff --git a/server/like-admin/src/main/java/com/mdd/admin/controller/channel/ChannelH5Controller.java b/server/like-admin/src/main/java/com/mdd/admin/controller/channel/ChannelH5Controller.java index 269b6ca1..797662ef 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/controller/channel/ChannelH5Controller.java +++ b/server/like-admin/src/main/java/com/mdd/admin/controller/channel/ChannelH5Controller.java @@ -1,6 +1,6 @@ package com.mdd.admin.controller.channel; -import com.mdd.admin.config.aop.Log; +import com.mdd.admin.aop.Log; import com.mdd.admin.service.IChannelH5ConfigService; import com.mdd.admin.validate.channel.ChannelH5Validate; import com.mdd.admin.vo.channel.ChannelH5Vo; diff --git a/server/like-admin/src/main/java/com/mdd/admin/controller/channel/ChannelMpController.java b/server/like-admin/src/main/java/com/mdd/admin/controller/channel/ChannelMpController.java index 16d43912..00709a54 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/controller/channel/ChannelMpController.java +++ b/server/like-admin/src/main/java/com/mdd/admin/controller/channel/ChannelMpController.java @@ -1,6 +1,6 @@ package com.mdd.admin.controller.channel; -import com.mdd.admin.config.aop.Log; +import com.mdd.admin.aop.Log; import com.mdd.admin.service.IChannelMpConfigService; import com.mdd.admin.validate.channel.ChannelMpValidate; import com.mdd.admin.vo.channel.ChannelMpVo; diff --git a/server/like-admin/src/main/java/com/mdd/admin/controller/channel/ChannelOaController.java b/server/like-admin/src/main/java/com/mdd/admin/controller/channel/ChannelOaController.java index 0b55b632..a9e717d4 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/controller/channel/ChannelOaController.java +++ b/server/like-admin/src/main/java/com/mdd/admin/controller/channel/ChannelOaController.java @@ -1,6 +1,6 @@ package com.mdd.admin.controller.channel; -import com.mdd.admin.config.aop.Log; +import com.mdd.admin.aop.Log; import com.mdd.admin.service.IChannelOaConfigService; import com.mdd.admin.validate.channel.ChannelOaValidate; import com.mdd.admin.vo.channel.ChannelOaVo; diff --git a/server/like-admin/src/main/java/com/mdd/admin/controller/decorate/DecorateDataController.java b/server/like-admin/src/main/java/com/mdd/admin/controller/decorate/DecorateDataController.java index 33c02cfa..dfe9fd1e 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/controller/decorate/DecorateDataController.java +++ b/server/like-admin/src/main/java/com/mdd/admin/controller/decorate/DecorateDataController.java @@ -1,5 +1,6 @@ package com.mdd.admin.controller.decorate; +import com.mdd.common.aop.NotPower; import com.mdd.admin.service.IDecorateDataService; import com.mdd.admin.vo.decorate.DecorateDataArticleVo; import com.mdd.common.core.AjaxResult; @@ -28,6 +29,7 @@ public class DecorateDataController { * @param limit 条数 * @return AjaxResult> */ + @NotPower @GetMapping("/article") public AjaxResult> article(@RequestParam(defaultValue = "10") Integer limit) { List list = iDecorateDataService.article(limit); diff --git a/server/like-admin/src/main/java/com/mdd/admin/controller/decorate/DecoratePagesController.java b/server/like-admin/src/main/java/com/mdd/admin/controller/decorate/DecoratePagesController.java index c5d7da35..59d9b203 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/controller/decorate/DecoratePagesController.java +++ b/server/like-admin/src/main/java/com/mdd/admin/controller/decorate/DecoratePagesController.java @@ -1,6 +1,6 @@ package com.mdd.admin.controller.decorate; -import com.mdd.admin.config.aop.Log; +import com.mdd.admin.aop.Log; import com.mdd.admin.service.IDecoratePageService; import com.mdd.admin.validate.DecoratePageValidate; import com.mdd.admin.vo.decorate.DecoratePageVo; diff --git a/server/like-admin/src/main/java/com/mdd/admin/controller/monitor/MonitorCacheController.java b/server/like-admin/src/main/java/com/mdd/admin/controller/monitor/MonitorCacheController.java index ec1f0a13..8e1e2803 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/controller/monitor/MonitorCacheController.java +++ b/server/like-admin/src/main/java/com/mdd/admin/controller/monitor/MonitorCacheController.java @@ -1,7 +1,7 @@ package com.mdd.admin.controller.monitor; -import com.mdd.admin.config.aop.Log; +import com.mdd.admin.aop.Log; import com.mdd.common.core.AjaxResult; import com.mdd.common.util.StringUtils; import org.springframework.data.redis.connection.RedisServerCommands; diff --git a/server/like-admin/src/main/java/com/mdd/admin/controller/monitor/MonitorServerController.java b/server/like-admin/src/main/java/com/mdd/admin/controller/monitor/MonitorServerController.java index dcc1ce3e..55def763 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/controller/monitor/MonitorServerController.java +++ b/server/like-admin/src/main/java/com/mdd/admin/controller/monitor/MonitorServerController.java @@ -1,6 +1,6 @@ package com.mdd.admin.controller.monitor; -import com.mdd.admin.config.aop.Log; +import com.mdd.admin.aop.Log; import com.mdd.common.core.AjaxResult; import com.mdd.common.core.ServerResult; import org.springframework.web.bind.annotation.GetMapping; diff --git a/server/like-admin/src/main/java/com/mdd/admin/controller/setting/SettingDictDataController.java b/server/like-admin/src/main/java/com/mdd/admin/controller/setting/SettingDictDataController.java index 5ac63feb..ddbd27e9 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/controller/setting/SettingDictDataController.java +++ b/server/like-admin/src/main/java/com/mdd/admin/controller/setting/SettingDictDataController.java @@ -1,6 +1,7 @@ package com.mdd.admin.controller.setting; import com.baomidou.mybatisplus.core.toolkit.Assert; +import com.mdd.common.aop.NotPower; import com.mdd.admin.service.ISettingDictDataService; import com.mdd.admin.validate.commons.IdsValidate; import com.mdd.admin.validate.commons.PageValidate; @@ -35,6 +36,7 @@ public class SettingDictDataController { * @param params 参数 * @return jaxResult> */ + @NotPower @GetMapping("/all") public AjaxResult> all(@RequestParam Map params) { Assert.isFalse(StringUtils.isEmpty(params.get("dictType")), "dictType缺失"); diff --git a/server/like-admin/src/main/java/com/mdd/admin/controller/setting/SettingDictTypeController.java b/server/like-admin/src/main/java/com/mdd/admin/controller/setting/SettingDictTypeController.java index cbfe4588..d72dcbcc 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/controller/setting/SettingDictTypeController.java +++ b/server/like-admin/src/main/java/com/mdd/admin/controller/setting/SettingDictTypeController.java @@ -1,5 +1,6 @@ package com.mdd.admin.controller.setting; +import com.mdd.common.aop.NotPower; import com.mdd.admin.service.ISettingDictTypeService; import com.mdd.admin.validate.commons.IdsValidate; import com.mdd.admin.validate.commons.PageValidate; @@ -32,6 +33,7 @@ public class SettingDictTypeController { * @author fzr * @return AjaxResult> */ + @NotPower @GetMapping("/all") public AjaxResult> all() { List list = iSettingDictTypeService.all(); diff --git a/server/like-admin/src/main/java/com/mdd/admin/controller/setting/SettingSmsController.java b/server/like-admin/src/main/java/com/mdd/admin/controller/setting/SettingSmsController.java index 76906734..ca0636e3 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/controller/setting/SettingSmsController.java +++ b/server/like-admin/src/main/java/com/mdd/admin/controller/setting/SettingSmsController.java @@ -1,6 +1,6 @@ package com.mdd.admin.controller.setting; -import com.mdd.admin.config.aop.Log; +import com.mdd.admin.aop.Log; import com.mdd.admin.service.ISettingSmsService; import com.mdd.common.core.AjaxResult; import org.springframework.web.bind.annotation.*; diff --git a/server/like-admin/src/main/java/com/mdd/admin/controller/system/SystemAuthAdminController.java b/server/like-admin/src/main/java/com/mdd/admin/controller/system/SystemAuthAdminController.java index 781e84ae..bb906416 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/controller/system/SystemAuthAdminController.java +++ b/server/like-admin/src/main/java/com/mdd/admin/controller/system/SystemAuthAdminController.java @@ -1,7 +1,8 @@ package com.mdd.admin.controller.system; import com.mdd.admin.LikeAdminThreadLocal; -import com.mdd.admin.config.aop.Log; +import com.mdd.admin.aop.Log; +import com.mdd.common.aop.NotPower; import com.mdd.admin.service.ISystemAuthAdminService; import com.mdd.admin.validate.commons.IdValidate; import com.mdd.admin.validate.commons.PageValidate; @@ -51,6 +52,7 @@ public class SystemAuthAdminController { * @author fzr * @return AjaxResult */ + @NotPower @GetMapping("/self") public AjaxResult self() { Integer adminId = LikeAdminThreadLocal.getAdminId(); @@ -106,6 +108,7 @@ public class SystemAuthAdminController { * @author fzr * @return AjaxResult */ + @NotPower @Log(title = "管理员更新") @PostMapping("/upInfo") public AjaxResult upInfo(@Validated @RequestBody SystemAdminUpInfoValidate upInfoValidate) { diff --git a/server/like-admin/src/main/java/com/mdd/admin/controller/system/SystemAuthDeptController.java b/server/like-admin/src/main/java/com/mdd/admin/controller/system/SystemAuthDeptController.java index 89365824..97ec83d7 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/controller/system/SystemAuthDeptController.java +++ b/server/like-admin/src/main/java/com/mdd/admin/controller/system/SystemAuthDeptController.java @@ -1,6 +1,7 @@ package com.mdd.admin.controller.system; import com.alibaba.fastjson2.JSONArray; +import com.mdd.common.aop.NotPower; import com.mdd.admin.service.ISystemAuthDeptService; import com.mdd.admin.validate.commons.IdValidate; import com.mdd.admin.validate.system.SystemDeptCreateValidate; @@ -31,6 +32,7 @@ public class SystemAuthDeptController { * @author fzr * @return AjaxResult> */ + @NotPower @GetMapping("/all") public AjaxResult> all() { List list = iSystemAuthDeptService.all(); diff --git a/server/like-admin/src/main/java/com/mdd/admin/controller/system/SystemAuthMenuController.java b/server/like-admin/src/main/java/com/mdd/admin/controller/system/SystemAuthMenuController.java index 9bdb6927..dd51eb90 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/controller/system/SystemAuthMenuController.java +++ b/server/like-admin/src/main/java/com/mdd/admin/controller/system/SystemAuthMenuController.java @@ -2,7 +2,8 @@ package com.mdd.admin.controller.system; import com.alibaba.fastjson2.JSONArray; import com.mdd.admin.LikeAdminThreadLocal; -import com.mdd.admin.config.aop.Log; +import com.mdd.admin.aop.Log; +import com.mdd.common.aop.NotPower; import com.mdd.admin.service.ISystemAuthMenuService; import com.mdd.admin.validate.commons.IdValidate; import com.mdd.admin.validate.system.SystemMenuCreateValidate; @@ -32,9 +33,10 @@ public class SystemAuthMenuController { * @author fzr * @return AjaxResult */ + @NotPower @GetMapping("/route") public AjaxResult route() { - List roleIds = LikeAdminThreadLocal.getRoleId(); + List roleIds = LikeAdminThreadLocal.getRoleIds(); JSONArray lists = iSystemAuthMenuService.selectMenuByRoleId(roleIds); return AjaxResult.success(lists); } @@ -45,6 +47,7 @@ public class SystemAuthMenuController { * @author fzr * @return AjaxResult */ + @NotPower @GetMapping("/list") public AjaxResult list() { JSONArray lists = iSystemAuthMenuService.list(); diff --git a/server/like-admin/src/main/java/com/mdd/admin/controller/system/SystemAuthPostController.java b/server/like-admin/src/main/java/com/mdd/admin/controller/system/SystemAuthPostController.java index a50c57dd..756622d1 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/controller/system/SystemAuthPostController.java +++ b/server/like-admin/src/main/java/com/mdd/admin/controller/system/SystemAuthPostController.java @@ -1,5 +1,6 @@ package com.mdd.admin.controller.system; +import com.mdd.common.aop.NotPower; import com.mdd.admin.service.ISystemAuthPostService; import com.mdd.admin.validate.commons.IdValidate; import com.mdd.admin.validate.commons.PageValidate; @@ -32,6 +33,7 @@ public class SystemAuthPostController { * @author fzr * @return AjaxResult> */ + @NotPower @GetMapping("/all") public AjaxResult> all() { List list = iSystemAuthPostService.all(); diff --git a/server/like-admin/src/main/java/com/mdd/admin/controller/system/SystemAuthRoleController.java b/server/like-admin/src/main/java/com/mdd/admin/controller/system/SystemAuthRoleController.java index d08a3424..04bc9d12 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/controller/system/SystemAuthRoleController.java +++ b/server/like-admin/src/main/java/com/mdd/admin/controller/system/SystemAuthRoleController.java @@ -1,6 +1,7 @@ package com.mdd.admin.controller.system; -import com.mdd.admin.config.aop.Log; +import com.mdd.admin.aop.Log; +import com.mdd.common.aop.NotPower; import com.mdd.admin.service.ISystemAuthRoleService; import com.mdd.admin.validate.commons.IdValidate; import com.mdd.admin.validate.commons.PageValidate; @@ -15,7 +16,6 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.List; -import java.util.Map; /** * 系统角色管理 @@ -33,6 +33,7 @@ public class SystemAuthRoleController { * @author fzr * @return AjaxResult> */ + @NotPower @GetMapping("/all") public AjaxResult> all() { List list = iSystemAuthRoleService.all(); diff --git a/server/like-admin/src/main/java/com/mdd/admin/controller/system/SystemLoginController.java b/server/like-admin/src/main/java/com/mdd/admin/controller/system/SystemLoginController.java index b0896d22..691c4f70 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/controller/system/SystemLoginController.java +++ b/server/like-admin/src/main/java/com/mdd/admin/controller/system/SystemLoginController.java @@ -1,5 +1,7 @@ package com.mdd.admin.controller.system; +import com.mdd.common.aop.NotLogin; +import com.mdd.common.aop.NotPower; import com.mdd.admin.service.ISystemLoginService; import com.mdd.admin.validate.system.SystemAdminLoginsValidate; import com.mdd.admin.vo.system.SystemCaptchaVo; @@ -27,6 +29,7 @@ public class SystemLoginController { * @author fzr * @return AjaxResult */ + @NotLogin @GetMapping("/captcha") public AjaxResult captcha() { SystemCaptchaVo vo = iSystemLoginService.captcha(); @@ -40,6 +43,7 @@ public class SystemLoginController { * @param loginsValidate 登录参数 * @return AjaxResult */ + @NotLogin @PostMapping("/login") public AjaxResult login(@Validated() @RequestBody SystemAdminLoginsValidate loginsValidate) { SystemLoginVo vo = iSystemLoginService.login(loginsValidate); @@ -53,6 +57,7 @@ public class SystemLoginController { * @param request 请求接口 * @return AjaxResult */ + @NotPower @PostMapping("/logout") public AjaxResult logout(HttpServletRequest request) { iSystemLoginService.logout(request.getHeader("token")); diff --git a/server/like-admin/src/main/java/com/mdd/admin/service/ISystemAuthAdminService.java b/server/like-admin/src/main/java/com/mdd/admin/service/ISystemAuthAdminService.java index 6237d0cf..49386e75 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/service/ISystemAuthAdminService.java +++ b/server/like-admin/src/main/java/com/mdd/admin/service/ISystemAuthAdminService.java @@ -9,7 +9,6 @@ import com.mdd.admin.vo.system.SystemAuthAdminDetailVo; import com.mdd.admin.vo.system.SystemAuthAdminListedVo; import com.mdd.admin.vo.system.SystemAuthAdminSelvesVo; import com.mdd.common.core.PageResult; -import com.mdd.common.entity.system.SystemAuthAdmin; /** * 系统管理员服务接口类 @@ -86,9 +85,4 @@ public interface ISystemAuthAdminService { */ void disable(Integer id, Integer adminId); - /** - * 缓存管理员 - */ - void cacheAdminUserByUid(Integer id); - } diff --git a/server/like-admin/src/main/java/com/mdd/admin/service/ISystemAuthPermService.java b/server/like-admin/src/main/java/com/mdd/admin/service/ISystemAuthPermService.java index c53898de..f2d78aaf 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/service/ISystemAuthPermService.java +++ b/server/like-admin/src/main/java/com/mdd/admin/service/ISystemAuthPermService.java @@ -40,12 +40,4 @@ public interface ISystemAuthPermService { */ void batchDeleteByMenuId(Integer menuId); - /** - * 缓存角色菜单 - * - * @author fzr - * @param roleId 角色ID - */ - void cacheRoleMenusByRoleId(Integer roleId); - } diff --git a/server/like-admin/src/main/java/com/mdd/admin/service/impl/SystemAuthAdminServiceImpl.java b/server/like-admin/src/main/java/com/mdd/admin/service/impl/SystemAuthAdminServiceImpl.java index 95c4f2ad..291bce47 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/service/impl/SystemAuthAdminServiceImpl.java +++ b/server/like-admin/src/main/java/com/mdd/admin/service/impl/SystemAuthAdminServiceImpl.java @@ -1,13 +1,11 @@ package com.mdd.admin.service.impl; import cn.dev33.satoken.stp.StpUtil; -import com.alibaba.fastjson2.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.yulichang.query.MPJQueryWrapper; -import com.mdd.admin.config.AdminConfig; import com.mdd.admin.service.ISystemAuthAdminService; import com.mdd.admin.service.ISystemAuthPermService; import com.mdd.admin.validate.commons.PageValidate; @@ -330,8 +328,6 @@ public class SystemAuthAdminServiceImpl implements ISystemAuthAdminService { } systemAuthAdminMapper.updateById(model); - this.cacheAdminUserByUid(updateValidate.getId()); - if (StringUtils.isNotNull(updateValidate.getPassword()) && StringUtils.isNotEmpty(updateValidate.getPassword())) { StpUtil.kickout(updateValidate.getId()); } @@ -371,8 +367,6 @@ public class SystemAuthAdminServiceImpl implements ISystemAuthAdminService { } systemAuthAdminMapper.updateById(model); - this.cacheAdminUserByUid(adminId); - if (StringUtils.isNotNull(upInfoValidate.getPassword()) && StringUtils.isNotEmpty(upInfoValidate.getPassword())) { StpUtil.kickout(adminId); } @@ -402,7 +396,6 @@ public class SystemAuthAdminServiceImpl implements ISystemAuthAdminService { model.setIsDelete(1); model.setDeleteTime(System.currentTimeMillis() / 1000); systemAuthAdminMapper.updateById(model); - this.cacheAdminUserByUid(id); StpUtil.kickout(id); } @@ -429,37 +422,10 @@ public class SystemAuthAdminServiceImpl implements ISystemAuthAdminService { systemAuthAdmin.setIsDisable(disable); systemAuthAdmin.setUpdateTime(TimeUtils.timestamp()); systemAuthAdminMapper.updateById(systemAuthAdmin); - this.cacheAdminUserByUid(id); if (disable.equals(1)) { StpUtil.kickout(id); } } - /** - * 缓存管理员 - */ - @Override - public void cacheAdminUserByUid(Integer id) { - SystemAuthAdmin sysAdmin = systemAuthAdminMapper.selectOne( - new QueryWrapper() - .select("id,role_ids,username,nickname,is_multipoint,is_disable,is_delete") - .eq("id", id) - .last("limit 1")); - - Map user = new LinkedHashMap<>(); - user.put("id", sysAdmin.getId()); - user.put("roleIds", sysAdmin.getRoleIds()); - user.put("username", sysAdmin.getUsername()); - user.put("nickname", sysAdmin.getNickname()); - user.put("isMultipoint", sysAdmin.getIsMultipoint()); - user.put("isDisable", sysAdmin.getIsDisable()); - user.put("isDelete", sysAdmin.getIsDelete()); - - Map map = new LinkedHashMap<>(); - map.put(String.valueOf(sysAdmin.getId()), JSON.toJSONString(user)); - - RedisUtils.hmSet(AdminConfig.backstageManageKey, map); - } - } diff --git a/server/like-admin/src/main/java/com/mdd/admin/service/impl/SystemAuthMenuServiceImpl.java b/server/like-admin/src/main/java/com/mdd/admin/service/impl/SystemAuthMenuServiceImpl.java index 7d12242f..0a7a98b6 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/service/impl/SystemAuthMenuServiceImpl.java +++ b/server/like-admin/src/main/java/com/mdd/admin/service/impl/SystemAuthMenuServiceImpl.java @@ -148,8 +148,6 @@ public class SystemAuthMenuServiceImpl implements ISystemAuthMenuService { model.setCreateTime(System.currentTimeMillis() / 1000); model.setUpdateTime(System.currentTimeMillis() / 1000); systemAuthMenuMapper.insert(model); - - RedisUtils.del(AdminConfig.backstageRolesKey); } /** @@ -178,8 +176,6 @@ public class SystemAuthMenuServiceImpl implements ISystemAuthMenuService { model.setIsDisable(updateValidate.getIsDisable()); model.setUpdateTime(System.currentTimeMillis() / 1000); systemAuthMenuMapper.updateById(model); - - RedisUtils.del(AdminConfig.backstageRolesKey); } /** @@ -205,8 +201,6 @@ public class SystemAuthMenuServiceImpl implements ISystemAuthMenuService { systemAuthMenuMapper.deleteById(id); iSystemAuthPermService.batchDeleteByMenuId(id); - - RedisUtils.del(AdminConfig.backstageRolesKey); } } diff --git a/server/like-admin/src/main/java/com/mdd/admin/service/impl/SystemAuthPermServiceImpl.java b/server/like-admin/src/main/java/com/mdd/admin/service/impl/SystemAuthPermServiceImpl.java index 7fb83f80..f7d7150c 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/service/impl/SystemAuthPermServiceImpl.java +++ b/server/like-admin/src/main/java/com/mdd/admin/service/impl/SystemAuthPermServiceImpl.java @@ -111,39 +111,4 @@ public class SystemAuthPermServiceImpl implements ISystemAuthPermService { systemAuthPermMapper.delete(new QueryWrapper().eq("menu_id", menuId)); } - /** - * 缓存角色菜单 - * - * @author fzr - * @param roleId 角色ID - */ - @Override - public void cacheRoleMenusByRoleId(Integer roleId) { - List menuIds = new LinkedList<>(); - List menuArray = new LinkedList<>(); - - List systemAuthPerms = systemAuthPermMapper.selectList( - new QueryWrapper().eq("role_id", roleId)); - for (SystemAuthPerm systemAuthPerm : systemAuthPerms) { - menuIds.add(systemAuthPerm.getMenuId()); - } - - if (menuIds.size() > 0) { - List systemAuthMenus = systemAuthMenuMapper.selectList(new QueryWrapper() - .select("id,perms") - .eq("is_disable", 0) - .in("id", menuIds) - .in("menu_type", Arrays.asList("C", "A")) - .orderByAsc(Arrays.asList("menu_sort", "id"))); - - for (SystemAuthMenu item : systemAuthMenus) { - if (StringUtils.isNotNull(item.getPerms()) && StringUtils.isNotEmpty(item.getPerms())) { - menuArray.add(item.getPerms().trim()); - } - } - } - - RedisUtils.hSet(AdminConfig.backstageRolesKey, String.valueOf(roleId), ArrayUtils.listToStringByStr(menuArray, ",")); - } - } diff --git a/server/like-admin/src/main/java/com/mdd/admin/service/impl/SystemAuthRoleServiceImpl.java b/server/like-admin/src/main/java/com/mdd/admin/service/impl/SystemAuthRoleServiceImpl.java index d6af93c3..ce1debf4 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/service/impl/SystemAuthRoleServiceImpl.java +++ b/server/like-admin/src/main/java/com/mdd/admin/service/impl/SystemAuthRoleServiceImpl.java @@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.mdd.admin.config.AdminConfig; import com.mdd.admin.service.ISystemAuthPermService; import com.mdd.admin.service.ISystemAuthRoleService; import com.mdd.admin.validate.commons.PageValidate; @@ -16,7 +15,6 @@ import com.mdd.common.entity.system.SystemAuthAdmin; import com.mdd.common.entity.system.SystemAuthRole; import com.mdd.common.mapper.system.SystemAuthAdminMapper; import com.mdd.common.mapper.system.SystemAuthRoleMapper; -import com.mdd.common.util.RedisUtils; import com.mdd.common.util.TimeUtils; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -192,7 +190,6 @@ public class SystemAuthRoleServiceImpl implements ISystemAuthRoleService { iSystemAuthPermService.batchDeleteByRoleId(updateValidate.getId()); iSystemAuthPermService.batchSaveByMenuIds(updateValidate.getId(), updateValidate.getMenuIds()); - RedisUtils.del(AdminConfig.backstageRolesKey); } /** @@ -219,7 +216,6 @@ public class SystemAuthRoleServiceImpl implements ISystemAuthRoleService { systemAuthRoleMapper.deleteById(id); iSystemAuthPermService.batchDeleteByRoleId(id); - RedisUtils.del(AdminConfig.backstageRolesKey); } } diff --git a/server/like-admin/src/main/java/com/mdd/admin/service/impl/SystemLoginServiceImpl.java b/server/like-admin/src/main/java/com/mdd/admin/service/impl/SystemLoginServiceImpl.java index 18fcba72..19ab937c 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/service/impl/SystemLoginServiceImpl.java +++ b/server/like-admin/src/main/java/com/mdd/admin/service/impl/SystemLoginServiceImpl.java @@ -149,7 +149,6 @@ public class SystemLoginServiceImpl implements ISystemLoginService { // 记录登录日志 this.recordLoginLog(sysAdmin.getId(), loginsValidate.getUsername(), ""); - iSystemAuthAdminService.cacheAdminUserByUid(sysAdmin.getId()); // 响应登录信息 SystemLoginVo vo = new SystemLoginVo(); diff --git a/server/like-common/src/main/java/com/mdd/common/aop/NotLogin.java b/server/like-common/src/main/java/com/mdd/common/aop/NotLogin.java new file mode 100644 index 00000000..e1dca29b --- /dev/null +++ b/server/like-common/src/main/java/com/mdd/common/aop/NotLogin.java @@ -0,0 +1,12 @@ +package com.mdd.common.aop; + +import java.lang.annotation.*; + +/** + * 免登录校验注解类 + */ +@Target({ElementType.METHOD}) +@Retention(RetentionPolicy.RUNTIME) +@Documented +public @interface NotLogin { +} diff --git a/server/like-common/src/main/java/com/mdd/common/aop/NotPower.java b/server/like-common/src/main/java/com/mdd/common/aop/NotPower.java new file mode 100644 index 00000000..f9eeee15 --- /dev/null +++ b/server/like-common/src/main/java/com/mdd/common/aop/NotPower.java @@ -0,0 +1,12 @@ +package com.mdd.common.aop; + +import java.lang.annotation.*; + +/** + * 免权限校验注解类 + */ +@Target({ElementType.METHOD}) +@Retention(RetentionPolicy.RUNTIME) +@Documented +public @interface NotPower { +}