优化: 改用注解方式验证是否登录和权限 【废弃配置文件方式】
This commit is contained in:
parent
9cc41d2e80
commit
1c480b9630
|
|
@ -33,4 +33,5 @@
|
|||
<tree path="/like-front/src/main/java/com/mdd/front/LikeFrontThreadLocal.java" title="线程" extension="java"/>
|
||||
<tree path="/like-admin/src/main/java/com/mdd/admin/crontab" title="任务层"/>
|
||||
<tree path="/like-common/src/main/java/com/mdd/common/util" title="公共工具"/>
|
||||
<tree path="/like-common/src/main/java/com/mdd/common/aop" title="公共切面"/>
|
||||
</trees>
|
||||
|
|
@ -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<String> 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<Object> 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<String> 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<Object> 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<Object> 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<String, String> userMap = ToolsUtils.jsonToMap(UserStr);
|
||||
|
||||
// 校验用户被删除
|
||||
if (userMap.get("isDelete").equals("1")) {
|
||||
AjaxResult<Object> 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<Object> 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<String> 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<SystemAuthAdmin>()
|
||||
.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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ public class LikeAdminThreadLocal {
|
|||
/**
|
||||
* 获取角色ID
|
||||
*/
|
||||
public static List<Integer> getRoleId() {
|
||||
public static List<Integer> getRoleIds() {
|
||||
String roleIds = LikeAdminThreadLocal.get("roleIds").toString();
|
||||
if (roleIds.equals("") || roleIds.equals("0")) {
|
||||
return Collections.emptyList();
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
@ -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() {}
|
||||
|
||||
/**
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.mdd.admin.config.aop;
|
||||
package com.mdd.admin.aop.aspect;
|
||||
|
||||
/**
|
||||
* 请求参数类
|
||||
|
|
@ -12,6 +12,5 @@ public enum RequestType {
|
|||
* 默认数据类型
|
||||
*/
|
||||
Default
|
||||
;
|
||||
|
||||
}
|
||||
|
|
@ -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", // 装修数据文章
|
||||
};
|
||||
|
||||
}
|
||||
|
|
@ -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<String>
|
||||
*/
|
||||
@Override
|
||||
public List<String> getPermissionList(Object loginId, String loginType) {
|
||||
List<Integer> roleIds = LikeAdminThreadLocal.getRoleId();
|
||||
List<String> 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<String>
|
||||
*/
|
||||
@Override
|
||||
public List<String> getRoleList(Object loginId, String loginType) {
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -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;
|
||||
|
|
@ -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<String>
|
||||
*/
|
||||
@Override
|
||||
public List<String> getPermissionList(Object loginId, String loginType) {
|
||||
List<Integer> roleIds = LikeAdminThreadLocal.getRoleIds();
|
||||
List<String> perms = new LinkedList<>();
|
||||
|
||||
if (roleIds.isEmpty()) {
|
||||
return perms;
|
||||
}
|
||||
|
||||
List<SystemAuthPerm> permList = systemAuthPermMapper.selectList(
|
||||
new QueryWrapper<SystemAuthPerm>()
|
||||
.select("id,role_id,menu_id")
|
||||
.in("role_id", roleIds));
|
||||
|
||||
if (permList.isEmpty()) {
|
||||
return perms;
|
||||
}
|
||||
|
||||
List<Integer> menuIds = new LinkedList<>();
|
||||
for (SystemAuthPerm systemAuthPerm : permList) {
|
||||
menuIds.add(systemAuthPerm.getMenuId());
|
||||
}
|
||||
|
||||
List<SystemAuthMenu> systemAuthMenus = systemAuthMenuMapper.selectList(
|
||||
new QueryWrapper<SystemAuthMenu>()
|
||||
.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<String>
|
||||
*/
|
||||
@Override
|
||||
public List<String> getRoleList(Object loginId, String loginType) {
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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<List<ArticleCateVo>>
|
||||
*/
|
||||
@NotPower
|
||||
@GetMapping("/all")
|
||||
public AjaxResult<List<ArticleCateVo>> all() {
|
||||
List<ArticleCateVo> list = iArtCateService.all();
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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<Map<String, Object>
|
||||
*/
|
||||
@NotLogin
|
||||
@GetMapping("/config")
|
||||
public AjaxResult<Map<String, Object>> config() {
|
||||
Map<String, Object> map = iIndexService.config();
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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<List<DecorateDataArticleVo>>
|
||||
*/
|
||||
@NotPower
|
||||
@GetMapping("/article")
|
||||
public AjaxResult<List<DecorateDataArticleVo>> article(@RequestParam(defaultValue = "10") Integer limit) {
|
||||
List<DecorateDataArticleVo> list = iDecorateDataService.article(limit);
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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<List<SettingDictDataVo>>
|
||||
*/
|
||||
@NotPower
|
||||
@GetMapping("/all")
|
||||
public AjaxResult<List<SettingDictDataVo>> all(@RequestParam Map<String, String> params) {
|
||||
Assert.isFalse(StringUtils.isEmpty(params.get("dictType")), "dictType缺失");
|
||||
|
|
|
|||
|
|
@ -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<List<SettingDictTypeVo>>
|
||||
*/
|
||||
@NotPower
|
||||
@GetMapping("/all")
|
||||
public AjaxResult<List<SettingDictTypeVo>> all() {
|
||||
List<SettingDictTypeVo> list = iSettingDictTypeService.all();
|
||||
|
|
|
|||
|
|
@ -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.*;
|
||||
|
|
|
|||
|
|
@ -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<SystemAuthSelfVo>
|
||||
*/
|
||||
@NotPower
|
||||
@GetMapping("/self")
|
||||
public AjaxResult<SystemAuthAdminSelvesVo> self() {
|
||||
Integer adminId = LikeAdminThreadLocal.getAdminId();
|
||||
|
|
@ -106,6 +108,7 @@ public class SystemAuthAdminController {
|
|||
* @author fzr
|
||||
* @return AjaxResult<Object>
|
||||
*/
|
||||
@NotPower
|
||||
@Log(title = "管理员更新")
|
||||
@PostMapping("/upInfo")
|
||||
public AjaxResult<Object> upInfo(@Validated @RequestBody SystemAdminUpInfoValidate upInfoValidate) {
|
||||
|
|
|
|||
|
|
@ -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<List<SystemAuthDeptVo>>
|
||||
*/
|
||||
@NotPower
|
||||
@GetMapping("/all")
|
||||
public AjaxResult<List<SystemAuthDeptVo>> all() {
|
||||
List<SystemAuthDeptVo> list = iSystemAuthDeptService.all();
|
||||
|
|
|
|||
|
|
@ -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<JSONArray>
|
||||
*/
|
||||
@NotPower
|
||||
@GetMapping("/route")
|
||||
public AjaxResult<JSONArray> route() {
|
||||
List<Integer> roleIds = LikeAdminThreadLocal.getRoleId();
|
||||
List<Integer> roleIds = LikeAdminThreadLocal.getRoleIds();
|
||||
JSONArray lists = iSystemAuthMenuService.selectMenuByRoleId(roleIds);
|
||||
return AjaxResult.success(lists);
|
||||
}
|
||||
|
|
@ -45,6 +47,7 @@ public class SystemAuthMenuController {
|
|||
* @author fzr
|
||||
* @return AjaxResult<JSONArray>
|
||||
*/
|
||||
@NotPower
|
||||
@GetMapping("/list")
|
||||
public AjaxResult<JSONArray> list() {
|
||||
JSONArray lists = iSystemAuthMenuService.list();
|
||||
|
|
|
|||
|
|
@ -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<List<SystemAuthPostVo>>
|
||||
*/
|
||||
@NotPower
|
||||
@GetMapping("/all")
|
||||
public AjaxResult<List<SystemAuthPostVo>> all() {
|
||||
List<SystemAuthPostVo> list = iSystemAuthPostService.all();
|
||||
|
|
|
|||
|
|
@ -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<List<SystemAuthRoleVo>>
|
||||
*/
|
||||
@NotPower
|
||||
@GetMapping("/all")
|
||||
public AjaxResult<List<SystemAuthRoleVo>> all() {
|
||||
List<SystemAuthRoleVo> list = iSystemAuthRoleService.all();
|
||||
|
|
|
|||
|
|
@ -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<SystemCaptchaVo>
|
||||
*/
|
||||
@NotLogin
|
||||
@GetMapping("/captcha")
|
||||
public AjaxResult<SystemCaptchaVo> captcha() {
|
||||
SystemCaptchaVo vo = iSystemLoginService.captcha();
|
||||
|
|
@ -40,6 +43,7 @@ public class SystemLoginController {
|
|||
* @param loginsValidate 登录参数
|
||||
* @return AjaxResult<SystemLoginVo>
|
||||
*/
|
||||
@NotLogin
|
||||
@PostMapping("/login")
|
||||
public AjaxResult<SystemLoginVo> login(@Validated() @RequestBody SystemAdminLoginsValidate loginsValidate) {
|
||||
SystemLoginVo vo = iSystemLoginService.login(loginsValidate);
|
||||
|
|
@ -53,6 +57,7 @@ public class SystemLoginController {
|
|||
* @param request 请求接口
|
||||
* @return AjaxResult<Object>
|
||||
*/
|
||||
@NotPower
|
||||
@PostMapping("/logout")
|
||||
public AjaxResult<Object> logout(HttpServletRequest request) {
|
||||
iSystemLoginService.logout(request.getHeader("token"));
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -40,12 +40,4 @@ public interface ISystemAuthPermService {
|
|||
*/
|
||||
void batchDeleteByMenuId(Integer menuId);
|
||||
|
||||
/**
|
||||
* 缓存角色菜单
|
||||
*
|
||||
* @author fzr
|
||||
* @param roleId 角色ID
|
||||
*/
|
||||
void cacheRoleMenusByRoleId(Integer roleId);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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<SystemAuthAdmin>()
|
||||
.select("id,role_ids,username,nickname,is_multipoint,is_disable,is_delete")
|
||||
.eq("id", id)
|
||||
.last("limit 1"));
|
||||
|
||||
Map<String, Object> 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<String, Object> map = new LinkedHashMap<>();
|
||||
map.put(String.valueOf(sysAdmin.getId()), JSON.toJSONString(user));
|
||||
|
||||
RedisUtils.hmSet(AdminConfig.backstageManageKey, map);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -111,39 +111,4 @@ public class SystemAuthPermServiceImpl implements ISystemAuthPermService {
|
|||
systemAuthPermMapper.delete(new QueryWrapper<SystemAuthPerm>().eq("menu_id", menuId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 缓存角色菜单
|
||||
*
|
||||
* @author fzr
|
||||
* @param roleId 角色ID
|
||||
*/
|
||||
@Override
|
||||
public void cacheRoleMenusByRoleId(Integer roleId) {
|
||||
List<Integer> menuIds = new LinkedList<>();
|
||||
List<String> menuArray = new LinkedList<>();
|
||||
|
||||
List<SystemAuthPerm> systemAuthPerms = systemAuthPermMapper.selectList(
|
||||
new QueryWrapper<SystemAuthPerm>().eq("role_id", roleId));
|
||||
for (SystemAuthPerm systemAuthPerm : systemAuthPerms) {
|
||||
menuIds.add(systemAuthPerm.getMenuId());
|
||||
}
|
||||
|
||||
if (menuIds.size() > 0) {
|
||||
List<SystemAuthMenu> systemAuthMenus = systemAuthMenuMapper.selectList(new QueryWrapper<SystemAuthMenu>()
|
||||
.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, ","));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -149,7 +149,6 @@ public class SystemLoginServiceImpl implements ISystemLoginService {
|
|||
|
||||
// 记录登录日志
|
||||
this.recordLoginLog(sysAdmin.getId(), loginsValidate.getUsername(), "");
|
||||
iSystemAuthAdminService.cacheAdminUserByUid(sysAdmin.getId());
|
||||
|
||||
// 响应登录信息
|
||||
SystemLoginVo vo = new SystemLoginVo();
|
||||
|
|
|
|||
|
|
@ -0,0 +1,12 @@
|
|||
package com.mdd.common.aop;
|
||||
|
||||
import java.lang.annotation.*;
|
||||
|
||||
/**
|
||||
* 免登录校验注解类
|
||||
*/
|
||||
@Target({ElementType.METHOD})
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Documented
|
||||
public @interface NotLogin {
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
package com.mdd.common.aop;
|
||||
|
||||
import java.lang.annotation.*;
|
||||
|
||||
/**
|
||||
* 免权限校验注解类
|
||||
*/
|
||||
@Target({ElementType.METHOD})
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Documented
|
||||
public @interface NotPower {
|
||||
}
|
||||
Loading…
Reference in New Issue