mirror of
https://github.com/RemainderTime/spring-boot-base-demo.git
synced 2026-02-26 16:10:46 +08:00
1.引入sa-token权限框架
2.实现RBAC模型相关表结构(用户-权限-菜单-角色)
This commit is contained in:
7
pom.xml
7
pom.xml
@@ -170,6 +170,13 @@
|
||||
<version>4.40.0.ALL</version>
|
||||
</dependency>
|
||||
|
||||
<!-- Sa-Token 权限认证,在线文档:https://sa-token.cc -->
|
||||
<dependency>
|
||||
<groupId>cn.dev33</groupId>
|
||||
<artifactId>sa-token-spring-boot3-starter</artifactId>
|
||||
<version>1.44.0</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
|
||||
@@ -23,7 +23,7 @@ public class ApplicationContextUtils implements ApplicationContextAware {
|
||||
ApplicationContextUtils.context = applicationContext;
|
||||
}
|
||||
|
||||
public static ApplicationContext geteContext(){
|
||||
public static ApplicationContext getContext(){
|
||||
return context;
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
package cn.xf.basedemo.interceptor;
|
||||
|
||||
import cn.dev33.satoken.stp.StpInterface;
|
||||
import cn.xf.basedemo.common.utils.ApplicationContextUtils;
|
||||
import cn.xf.basedemo.mappers.SysPermissionMapper;
|
||||
import cn.xf.basedemo.mappers.SysRoleMapper;
|
||||
import cn.xf.basedemo.model.domain.SysRole;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description: 权限加载组件类
|
||||
* @ClassName: StpInterfaceImpl
|
||||
* @Author: xiongfeng
|
||||
* @Date: 2025/8/18 22:51
|
||||
* @Version: 1.0
|
||||
*/
|
||||
@Component
|
||||
public class StpInterfaceImpl implements StpInterface {
|
||||
|
||||
private SysPermissionMapper sysPermissionMapper= (SysPermissionMapper) ApplicationContextUtils.getBean("SysPermissionMapper");
|
||||
private SysRoleMapper sysRoleMapper= (SysRoleMapper) ApplicationContextUtils.getBean("SysRoleMapper");
|
||||
|
||||
@Override
|
||||
public List<String> getPermissionList(Object userId, String s) {
|
||||
//获取登录用户权限数据
|
||||
return sysPermissionMapper.getPermissionListByRoleId((Long) userId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getRoleList(Object userId, String s) {
|
||||
//获取用户角色数据
|
||||
return sysRoleMapper.getRoleListByUserId((Long) userId);
|
||||
}
|
||||
}
|
||||
15
src/main/java/cn/xf/basedemo/mappers/SysMenuMapper.java
Normal file
15
src/main/java/cn/xf/basedemo/mappers/SysMenuMapper.java
Normal file
@@ -0,0 +1,15 @@
|
||||
package cn.xf.basedemo.mappers;
|
||||
|
||||
import cn.xf.basedemo.model.domain.SysMenu;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* @author xiongfeng
|
||||
* @description 针对表【sys_menu(系统菜单表 sys_menu)】的数据库操作Mapper
|
||||
* @createDate 2025-08-19 21:22:03
|
||||
* @Entity cn.xf.basedemo.model.domain.SysMenu
|
||||
*/
|
||||
public interface SysMenuMapper extends BaseMapper<SysMenu> {
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package cn.xf.basedemo.mappers;
|
||||
|
||||
import cn.xf.basedemo.model.domain.SysPermission;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author xiongfeng
|
||||
* @description 针对表【sys_permission(系统权限表 sys_permission)】的数据库操作Mapper
|
||||
* @createDate 2025-08-19 21:22:03
|
||||
* @Entity cn.xf.basedemo.model.domain.SysPermission
|
||||
*/
|
||||
public interface SysPermissionMapper extends BaseMapper<SysPermission> {
|
||||
|
||||
List<String> getPermissionListByRoleId(Long useId);
|
||||
|
||||
}
|
||||
19
src/main/java/cn/xf/basedemo/mappers/SysRoleMapper.java
Normal file
19
src/main/java/cn/xf/basedemo/mappers/SysRoleMapper.java
Normal file
@@ -0,0 +1,19 @@
|
||||
package cn.xf.basedemo.mappers;
|
||||
|
||||
import cn.xf.basedemo.model.domain.SysRole;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author xiongfeng
|
||||
* @description 针对表【sys_role(系统角色表 sys_role)】的数据库操作Mapper
|
||||
* @createDate 2025-08-19 21:22:03
|
||||
* @Entity cn.xf.basedemo.model.domain.SysRole
|
||||
*/
|
||||
public interface SysRoleMapper extends BaseMapper<SysRole> {
|
||||
|
||||
List<String> getRoleListByUserId(Long userId);
|
||||
|
||||
|
||||
}
|
||||
15
src/main/java/cn/xf/basedemo/mappers/SysRoleMenuMapper.java
Normal file
15
src/main/java/cn/xf/basedemo/mappers/SysRoleMenuMapper.java
Normal file
@@ -0,0 +1,15 @@
|
||||
package cn.xf.basedemo.mappers;
|
||||
|
||||
import cn.xf.basedemo.model.domain.SysRoleMenu;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* @author xiongfeng
|
||||
* @description 针对表【sys_role_menu(角色菜单关联表 sys_role_menu)】的数据库操作Mapper
|
||||
* @createDate 2025-08-19 21:22:03
|
||||
* @Entity cn.xf.basedemo.model.domain.SysRoleMenu
|
||||
*/
|
||||
public interface SysRoleMenuMapper extends BaseMapper<SysRoleMenu> {
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package cn.xf.basedemo.mappers;
|
||||
|
||||
import cn.xf.basedemo.model.domain.SysRolePermission;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* @author xiongfeng
|
||||
* @description 针对表【sys_role_permission(角色权限关联表 sys_role_permission)】的数据库操作Mapper
|
||||
* @createDate 2025-08-19 21:22:03
|
||||
* @Entity cn.xf.basedemo.model.domain.SysRolePermission
|
||||
*/
|
||||
public interface SysRolePermissionMapper extends BaseMapper<SysRolePermission> {
|
||||
|
||||
|
||||
}
|
||||
15
src/main/java/cn/xf/basedemo/mappers/SysUserRoleMapper.java
Normal file
15
src/main/java/cn/xf/basedemo/mappers/SysUserRoleMapper.java
Normal file
@@ -0,0 +1,15 @@
|
||||
package cn.xf.basedemo.mappers;
|
||||
|
||||
import cn.xf.basedemo.model.domain.SysUserRole;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* @author xiongfeng
|
||||
* @description 针对表【sys_user_role(用户角色关联表 sys_user_role)】的数据库操作Mapper
|
||||
* @createDate 2025-08-19 21:22:03
|
||||
* @Entity cn.xf.basedemo.model.domain.SysUserRole
|
||||
*/
|
||||
public interface SysUserRoleMapper extends BaseMapper<SysUserRole> {
|
||||
|
||||
|
||||
}
|
||||
67
src/main/java/cn/xf/basedemo/model/domain/SysMenu.java
Normal file
67
src/main/java/cn/xf/basedemo/model/domain/SysMenu.java
Normal file
@@ -0,0 +1,67 @@
|
||||
package cn.xf.basedemo.model.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 系统菜单表 sys_menu
|
||||
* @TableName sys_menu
|
||||
*/
|
||||
@TableName(value ="sys_menu")
|
||||
@Data
|
||||
public class SysMenu implements Serializable {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@TableId(type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 菜单名称(sys_menu.name)
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 前端路由路径(sys_menu.path)
|
||||
*/
|
||||
private String path;
|
||||
|
||||
/**
|
||||
* 父菜单ID(sys_menu.parent_id,树结构)
|
||||
*/
|
||||
private Long parent_id;
|
||||
|
||||
/**
|
||||
* 菜单类型(sys_menu.type),0=目录,1=菜单,2=按钮
|
||||
*/
|
||||
private Integer type;
|
||||
|
||||
/**
|
||||
* 菜单图标(sys_menu.icon)
|
||||
*/
|
||||
private String icon;
|
||||
|
||||
/**
|
||||
* 创建时间(sys_menu.create_time)
|
||||
*/
|
||||
private Date create_time;
|
||||
|
||||
/**
|
||||
* 创建人(sys_menu.create_by)
|
||||
*/
|
||||
private String create_by;
|
||||
|
||||
/**
|
||||
* 更新时间(sys_menu.update_time)
|
||||
*/
|
||||
private Date update_time;
|
||||
|
||||
/**
|
||||
* 更新人(sys_menu.update_by)
|
||||
*/
|
||||
private String update_by;
|
||||
}
|
||||
57
src/main/java/cn/xf/basedemo/model/domain/SysPermission.java
Normal file
57
src/main/java/cn/xf/basedemo/model/domain/SysPermission.java
Normal file
@@ -0,0 +1,57 @@
|
||||
package cn.xf.basedemo.model.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 系统权限表 sys_permission
|
||||
* @TableName sys_permission
|
||||
*/
|
||||
@TableName(value ="sys_permission")
|
||||
@Data
|
||||
public class SysPermission implements Serializable {
|
||||
/**
|
||||
* 主键ID(sys_permission)
|
||||
*/
|
||||
@TableId(type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 权限标识(sys_permission.code),如 user:add、order:delete
|
||||
*/
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 权限名称(sys_permission.name)
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 所属菜单ID(sys_permission.menu_id)
|
||||
*/
|
||||
private Long menu_id;
|
||||
|
||||
/**
|
||||
* 创建时间(sys_permission.create_time)
|
||||
*/
|
||||
private Date create_time;
|
||||
|
||||
/**
|
||||
* 创建人(sys_permission.create_by)
|
||||
*/
|
||||
private String create_by;
|
||||
|
||||
/**
|
||||
* 更新时间(sys_permission.update_time)
|
||||
*/
|
||||
private Date update_time;
|
||||
|
||||
/**
|
||||
* 更新人(sys_permission.update_by)
|
||||
*/
|
||||
private String update_by;
|
||||
}
|
||||
58
src/main/java/cn/xf/basedemo/model/domain/SysRole.java
Normal file
58
src/main/java/cn/xf/basedemo/model/domain/SysRole.java
Normal file
@@ -0,0 +1,58 @@
|
||||
package cn.xf.basedemo.model.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 系统角色表 sys_role
|
||||
* @TableName sys_role
|
||||
*/
|
||||
@TableName(value ="sys_role")
|
||||
@Data
|
||||
public class SysRole implements Serializable {
|
||||
/**
|
||||
* 主键ID(sys_role)
|
||||
*/
|
||||
@TableId(type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 角色名称(sys_role.name)
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 角色标识(sys_role.code),如 ADMIN、OPERATOR
|
||||
*/
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 角色状态(sys_role.status),1=启用,0=禁用
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 创建时间(sys_role.create_time)
|
||||
*/
|
||||
private Date create_time;
|
||||
|
||||
/**
|
||||
* 创建人(sys_role.create_by)
|
||||
*/
|
||||
private String create_by;
|
||||
|
||||
/**
|
||||
* 更新时间(sys_role.update_time)
|
||||
*/
|
||||
private Date update_time;
|
||||
|
||||
/**
|
||||
* 更新人(sys_role.update_by)
|
||||
*/
|
||||
private String update_by;
|
||||
|
||||
}
|
||||
53
src/main/java/cn/xf/basedemo/model/domain/SysRoleMenu.java
Normal file
53
src/main/java/cn/xf/basedemo/model/domain/SysRoleMenu.java
Normal file
@@ -0,0 +1,53 @@
|
||||
package cn.xf.basedemo.model.domain;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 角色菜单关联表 sys_role_menu
|
||||
* @TableName sys_role_menu
|
||||
*/
|
||||
@TableName(value ="sys_role_menu")
|
||||
@Data
|
||||
public class SysRoleMenu implements Serializable {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@TableId(type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 角色ID(sys_role_menu.role_id)
|
||||
*/
|
||||
private Long role_id;
|
||||
|
||||
/**
|
||||
* 菜单ID(sys_role_menu.menu_id)
|
||||
*/
|
||||
private Long menu_id;
|
||||
|
||||
/**
|
||||
* 创建时间(sys_role_menu.create_time)
|
||||
*/
|
||||
private Date create_time;
|
||||
|
||||
/**
|
||||
* 创建人(sys_role_menu.create_by)
|
||||
*/
|
||||
private String create_by;
|
||||
|
||||
/**
|
||||
* 更新时间(sys_role_menu.update_time)
|
||||
*/
|
||||
private Date update_time;
|
||||
|
||||
/**
|
||||
* 更新人(sys_role_menu.update_by)
|
||||
*/
|
||||
private String update_by;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
package cn.xf.basedemo.model.domain;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 角色权限关联表 sys_role_permission
|
||||
* @TableName sys_role_permission
|
||||
*/
|
||||
@TableName(value ="sys_role_permission")
|
||||
@Data
|
||||
public class SysRolePermission implements Serializable {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@TableId(type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 角色ID(sys_role_permission.role_id)
|
||||
*/
|
||||
private Long role_id;
|
||||
|
||||
/**
|
||||
* 权限ID(sys_role_permission.permission_id)
|
||||
*/
|
||||
private Long permission_id;
|
||||
|
||||
/**
|
||||
* 创建时间(sys_role_permission.create_time)
|
||||
*/
|
||||
private Date create_time;
|
||||
|
||||
/**
|
||||
* 创建人(sys_role_permission.create_by)
|
||||
*/
|
||||
private String create_by;
|
||||
|
||||
/**
|
||||
* 更新时间(sys_role_permission.update_time)
|
||||
*/
|
||||
private Date update_time;
|
||||
|
||||
/**
|
||||
* 更新人(sys_role_permission.update_by)
|
||||
*/
|
||||
private String update_by;
|
||||
|
||||
}
|
||||
54
src/main/java/cn/xf/basedemo/model/domain/SysUserRole.java
Normal file
54
src/main/java/cn/xf/basedemo/model/domain/SysUserRole.java
Normal file
@@ -0,0 +1,54 @@
|
||||
package cn.xf.basedemo.model.domain;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 用户角色关联表 sys_user_role
|
||||
* @TableName sys_user_role
|
||||
*/
|
||||
@TableName(value ="sys_user_role")
|
||||
@Data
|
||||
public class SysUserRole implements Serializable {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@TableId(type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 用户ID(sys_user_role.user_id)
|
||||
*/
|
||||
private Long user_id;
|
||||
|
||||
/**
|
||||
* 角色ID(sys_user_role.role_id)
|
||||
*/
|
||||
private Long role_id;
|
||||
|
||||
/**
|
||||
* 创建时间(sys_user_role.create_time)
|
||||
*/
|
||||
private Date create_time;
|
||||
|
||||
/**
|
||||
* 创建人(sys_user_role.create_by)
|
||||
*/
|
||||
private String create_by;
|
||||
|
||||
/**
|
||||
* 更新时间(sys_user_role.update_time)
|
||||
*/
|
||||
private Date update_time;
|
||||
|
||||
/**
|
||||
* 更新人(sys_user_role.update_by)
|
||||
*/
|
||||
private String update_by;
|
||||
|
||||
}
|
||||
13
src/main/java/cn/xf/basedemo/service/SysMenuService.java
Normal file
13
src/main/java/cn/xf/basedemo/service/SysMenuService.java
Normal file
@@ -0,0 +1,13 @@
|
||||
package cn.xf.basedemo.service;
|
||||
|
||||
import cn.xf.basedemo.model.domain.SysMenu;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* @author xiongfeng
|
||||
* @description 针对表【sys_menu(系统菜单表 sys_menu)】的数据库操作Service
|
||||
* @createDate 2025-08-19 21:22:03
|
||||
*/
|
||||
public interface SysMenuService extends IService<SysMenu> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package cn.xf.basedemo.service;
|
||||
|
||||
import cn.xf.basedemo.model.domain.SysPermission;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
|
||||
/**
|
||||
* @author xiongfeng
|
||||
* @description 针对表【sys_permission(系统权限表 sys_permission)】的数据库操作Service
|
||||
* @createDate 2025-08-19 21:22:03
|
||||
*/
|
||||
public interface SysPermissionService extends IService<SysPermission> {
|
||||
|
||||
}
|
||||
13
src/main/java/cn/xf/basedemo/service/SysRoleMenuService.java
Normal file
13
src/main/java/cn/xf/basedemo/service/SysRoleMenuService.java
Normal file
@@ -0,0 +1,13 @@
|
||||
package cn.xf.basedemo.service;
|
||||
|
||||
import cn.xf.basedemo.model.domain.SysRoleMenu;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* @author xiongfeng
|
||||
* @description 针对表【sys_role_menu(角色菜单关联表 sys_role_menu)】的数据库操作Service
|
||||
* @createDate 2025-08-19 21:22:03
|
||||
*/
|
||||
public interface SysRoleMenuService extends IService<SysRoleMenu> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package cn.xf.basedemo.service;
|
||||
|
||||
import cn.xf.basedemo.model.domain.SysRolePermission;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* @author xiongfeng
|
||||
* @description 针对表【sys_role_permission(角色权限关联表 sys_role_permission)】的数据库操作Service
|
||||
* @createDate 2025-08-19 21:22:03
|
||||
*/
|
||||
public interface SysRolePermissionService extends IService<SysRolePermission> {
|
||||
|
||||
}
|
||||
13
src/main/java/cn/xf/basedemo/service/SysRoleService.java
Normal file
13
src/main/java/cn/xf/basedemo/service/SysRoleService.java
Normal file
@@ -0,0 +1,13 @@
|
||||
package cn.xf.basedemo.service;
|
||||
|
||||
import cn.xf.basedemo.model.domain.SysRole;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* @author xiongfeng
|
||||
* @description 针对表【sys_role(系统角色表 sys_role)】的数据库操作Service
|
||||
* @createDate 2025-08-19 21:22:03
|
||||
*/
|
||||
public interface SysRoleService extends IService<SysRole> {
|
||||
|
||||
}
|
||||
13
src/main/java/cn/xf/basedemo/service/SysUserRoleService.java
Normal file
13
src/main/java/cn/xf/basedemo/service/SysUserRoleService.java
Normal file
@@ -0,0 +1,13 @@
|
||||
package cn.xf.basedemo.service;
|
||||
|
||||
import cn.xf.basedemo.model.domain.SysUserRole;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* @author xiongfeng
|
||||
* @description 针对表【sys_user_role(用户角色关联表 sys_user_role)】的数据库操作Service
|
||||
* @createDate 2025-08-19 21:22:03
|
||||
*/
|
||||
public interface SysUserRoleService extends IService<SysUserRole> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package cn.xf.basedemo.service.impl;
|
||||
|
||||
import cn.xf.basedemo.model.domain.SysMenu;
|
||||
import cn.xf.basedemo.service.SysMenuService;
|
||||
import cn.xf.basedemo.mappers.SysMenuMapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* @author xiongfeng
|
||||
* @description 针对表【sys_menu(系统菜单表 sys_menu)】的数据库操作Service实现
|
||||
* @createDate 2025-08-19 21:22:03
|
||||
*/
|
||||
@Service
|
||||
public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu>
|
||||
implements SysMenuService{
|
||||
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package cn.xf.basedemo.service.impl;
|
||||
|
||||
import cn.xf.basedemo.model.domain.SysPermission;
|
||||
import cn.xf.basedemo.service.SysPermissionService;
|
||||
import cn.xf.basedemo.mappers.SysPermissionMapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* @author xiongfeng
|
||||
* @description 针对表【sys_permission(系统权限表 sys_permission)】的数据库操作Service实现
|
||||
* @createDate 2025-08-19 21:22:03
|
||||
*/
|
||||
@Service
|
||||
public class SysPermissionServiceImpl extends ServiceImpl<SysPermissionMapper, SysPermission>
|
||||
implements SysPermissionService{
|
||||
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package cn.xf.basedemo.service.impl;
|
||||
|
||||
import cn.xf.basedemo.model.domain.SysRoleMenu;
|
||||
import cn.xf.basedemo.service.SysRoleMenuService;
|
||||
import cn.xf.basedemo.mappers.SysRoleMenuMapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* @author xiongfeng
|
||||
* @description 针对表【sys_role_menu(角色菜单关联表 sys_role_menu)】的数据库操作Service实现
|
||||
* @createDate 2025-08-19 21:22:03
|
||||
*/
|
||||
@Service
|
||||
public class SysRoleMenuServiceImpl extends ServiceImpl<SysRoleMenuMapper, SysRoleMenu> implements SysRoleMenuService {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package cn.xf.basedemo.service.impl;
|
||||
|
||||
import cn.xf.basedemo.model.domain.SysRolePermission;
|
||||
import cn.xf.basedemo.service.SysRolePermissionService;
|
||||
import cn.xf.basedemo.mappers.SysRolePermissionMapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* @author xiongfeng
|
||||
* @description 针对表【sys_role_permission(角色权限关联表 sys_role_permission)】的数据库操作Service实现
|
||||
* @createDate 2025-08-19 21:22:03
|
||||
*/
|
||||
@Service
|
||||
public class SysRolePermissionServiceImpl extends ServiceImpl<SysRolePermissionMapper, SysRolePermission>
|
||||
implements SysRolePermissionService{
|
||||
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package cn.xf.basedemo.service.impl;
|
||||
|
||||
import cn.xf.basedemo.model.domain.SysRole;
|
||||
import cn.xf.basedemo.service.SysRoleService;
|
||||
import cn.xf.basedemo.mappers.SysRoleMapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* @author xiongfeng
|
||||
* @description 针对表【sys_role(系统角色表 sys_role)】的数据库操作Service实现
|
||||
* @createDate 2025-08-19 21:22:03
|
||||
*/
|
||||
@Service
|
||||
public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole>
|
||||
implements SysRoleService{
|
||||
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package cn.xf.basedemo.service.impl;
|
||||
|
||||
import cn.xf.basedemo.model.domain.SysUserRole;
|
||||
import cn.xf.basedemo.service.SysUserRoleService;
|
||||
import cn.xf.basedemo.mappers.SysUserRoleMapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* @author xiongfeng
|
||||
* @description 针对表【sys_user_role(用户角色关联表 sys_user_role)】的数据库操作Service实现
|
||||
* @createDate 2025-08-19 21:22:03
|
||||
*/
|
||||
@Service
|
||||
public class SysUserRoleServiceImpl extends ServiceImpl<SysUserRoleMapper, SysUserRole>
|
||||
implements SysUserRoleService{
|
||||
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
package cn.xf.basedemo.service.impl;
|
||||
|
||||
import cn.dev33.satoken.stp.StpUtil;
|
||||
import cn.xf.basedemo.common.model.EsBaseModel;
|
||||
import cn.xf.basedemo.common.model.LoginInfo;
|
||||
import cn.xf.basedemo.common.model.LoginUser;
|
||||
@@ -90,7 +91,8 @@ public class UserServiceImpl implements UserService {
|
||||
|
||||
redisTemplate.opsForValue().set("token:" + token, JSONObject.toJSONString(loginUser), 3600, TimeUnit.SECONDS);
|
||||
redisTemplate.opsForValue().set("user_login_token:" + user.getId(), token, 3600, TimeUnit.SECONDS);
|
||||
|
||||
//登录成功 写入sa-token中
|
||||
StpUtil.login(user.getId());
|
||||
return RetObj.success(loginUser);
|
||||
}
|
||||
|
||||
|
||||
26
src/main/resources/mapper/SysMenuMapper.xml
Normal file
26
src/main/resources/mapper/SysMenuMapper.xml
Normal file
@@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cn.xf.basedemo.mappers.SysMenuMapper">
|
||||
|
||||
<resultMap id="BaseResultMap" type="cn.xf.basedemo.model.domain.SysMenu">
|
||||
<id property="id" column="id" jdbcType="BIGINT"/>
|
||||
<result property="name" column="name" jdbcType="VARCHAR"/>
|
||||
<result property="path" column="path" jdbcType="VARCHAR"/>
|
||||
<result property="parent_id" column="parent_id" jdbcType="BIGINT"/>
|
||||
<result property="type" column="type" jdbcType="TINYINT"/>
|
||||
<result property="icon" column="icon" jdbcType="VARCHAR"/>
|
||||
<result property="create_time" column="create_time" jdbcType="TIMESTAMP"/>
|
||||
<result property="create_by" column="create_by" jdbcType="VARCHAR"/>
|
||||
<result property="update_time" column="update_time" jdbcType="TIMESTAMP"/>
|
||||
<result property="update_by" column="update_by" jdbcType="VARCHAR"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="Base_Column_List">
|
||||
id,name,path,
|
||||
parent_id,type,icon,
|
||||
create_time,create_by,update_time,
|
||||
update_by
|
||||
</sql>
|
||||
</mapper>
|
||||
31
src/main/resources/mapper/SysPermissionMapper.xml
Normal file
31
src/main/resources/mapper/SysPermissionMapper.xml
Normal file
@@ -0,0 +1,31 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cn.xf.basedemo.mappers.SysPermissionMapper">
|
||||
|
||||
<resultMap id="BaseResultMap" type="cn.xf.basedemo.model.domain.SysPermission">
|
||||
<id property="id" column="id" jdbcType="BIGINT"/>
|
||||
<result property="code" column="code" jdbcType="VARCHAR"/>
|
||||
<result property="name" column="name" jdbcType="VARCHAR"/>
|
||||
<result property="menu_id" column="menu_id" jdbcType="BIGINT"/>
|
||||
<result property="create_time" column="create_time" jdbcType="TIMESTAMP"/>
|
||||
<result property="create_by" column="create_by" jdbcType="VARCHAR"/>
|
||||
<result property="update_time" column="update_time" jdbcType="TIMESTAMP"/>
|
||||
<result property="update_by" column="update_by" jdbcType="VARCHAR"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="Base_Column_List">
|
||||
id,code,name,
|
||||
menu_id,create_time,create_by,
|
||||
update_time,update_by
|
||||
</sql>
|
||||
|
||||
<select id="getPermissionListByRoleId" resultType="java.lang.String">
|
||||
select code
|
||||
from sys_permission p
|
||||
left join sys_role_permission rp on p.id = rp.permission_id
|
||||
left join sys_user_role ur on rp.role_id = ur.role_id
|
||||
where ur.user_id = #{userId}
|
||||
</select>
|
||||
</mapper>
|
||||
30
src/main/resources/mapper/SysRoleMapper.xml
Normal file
30
src/main/resources/mapper/SysRoleMapper.xml
Normal file
@@ -0,0 +1,30 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cn.xf.basedemo.mappers.SysRoleMapper">
|
||||
|
||||
<resultMap id="BaseResultMap" type="cn.xf.basedemo.model.domain.SysRole">
|
||||
<id property="id" column="id" jdbcType="BIGINT"/>
|
||||
<result property="name" column="name" jdbcType="VARCHAR"/>
|
||||
<result property="code" column="code" jdbcType="VARCHAR"/>
|
||||
<result property="status" column="status" jdbcType="TINYINT"/>
|
||||
<result property="create_time" column="create_time" jdbcType="TIMESTAMP"/>
|
||||
<result property="create_by" column="create_by" jdbcType="VARCHAR"/>
|
||||
<result property="update_time" column="update_time" jdbcType="TIMESTAMP"/>
|
||||
<result property="update_by" column="update_by" jdbcType="VARCHAR"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="Base_Column_List">
|
||||
id,name,code,
|
||||
status,create_time,create_by,
|
||||
update_time,update_by
|
||||
</sql>
|
||||
|
||||
<select id="getRoleListByUserId" resultType="java.lang.String">
|
||||
select r.code
|
||||
from sys_user_role ur
|
||||
left join sys_role r on ur.role_id = r.id
|
||||
where ur.user_id = #{userId}
|
||||
</select>
|
||||
</mapper>
|
||||
20
src/main/resources/mapper/SysRoleMenuMapper.xml
Normal file
20
src/main/resources/mapper/SysRoleMenuMapper.xml
Normal file
@@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cn.xf.basedemo.mappers.SysRoleMenuMapper">
|
||||
|
||||
<resultMap id="BaseResultMap" type="cn.xf.basedemo.model.domain.SysRoleMenu">
|
||||
<id property="role_id" column="role_id" jdbcType="BIGINT"/>
|
||||
<id property="menu_id" column="menu_id" jdbcType="BIGINT"/>
|
||||
<result property="create_time" column="create_time" jdbcType="TIMESTAMP"/>
|
||||
<result property="create_by" column="create_by" jdbcType="VARCHAR"/>
|
||||
<result property="update_time" column="update_time" jdbcType="TIMESTAMP"/>
|
||||
<result property="update_by" column="update_by" jdbcType="VARCHAR"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="Base_Column_List">
|
||||
role_id,menu_id,create_time,
|
||||
create_by,update_time,update_by
|
||||
</sql>
|
||||
</mapper>
|
||||
20
src/main/resources/mapper/SysRolePermissionMapper.xml
Normal file
20
src/main/resources/mapper/SysRolePermissionMapper.xml
Normal file
@@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cn.xf.basedemo.mappers.SysRolePermissionMapper">
|
||||
|
||||
<resultMap id="BaseResultMap" type="cn.xf.basedemo.model.domain.SysRolePermission">
|
||||
<id property="role_id" column="role_id" jdbcType="BIGINT"/>
|
||||
<id property="permission_id" column="permission_id" jdbcType="BIGINT"/>
|
||||
<result property="create_time" column="create_time" jdbcType="TIMESTAMP"/>
|
||||
<result property="create_by" column="create_by" jdbcType="VARCHAR"/>
|
||||
<result property="update_time" column="update_time" jdbcType="TIMESTAMP"/>
|
||||
<result property="update_by" column="update_by" jdbcType="VARCHAR"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="Base_Column_List">
|
||||
role_id,permission_id,create_time,
|
||||
create_by,update_time,update_by
|
||||
</sql>
|
||||
</mapper>
|
||||
20
src/main/resources/mapper/SysUserRoleMapper.xml
Normal file
20
src/main/resources/mapper/SysUserRoleMapper.xml
Normal file
@@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cn.xf.basedemo.mappers.SysUserRoleMapper">
|
||||
|
||||
<resultMap id="BaseResultMap" type="cn.xf.basedemo.model.domain.SysUserRole">
|
||||
<id property="user_id" column="user_id" jdbcType="BIGINT"/>
|
||||
<id property="role_id" column="role_id" jdbcType="BIGINT"/>
|
||||
<result property="create_time" column="create_time" jdbcType="TIMESTAMP"/>
|
||||
<result property="create_by" column="create_by" jdbcType="VARCHAR"/>
|
||||
<result property="update_time" column="update_time" jdbcType="TIMESTAMP"/>
|
||||
<result property="update_by" column="update_by" jdbcType="VARCHAR"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="Base_Column_List">
|
||||
user_id,role_id,create_time,
|
||||
create_by,update_time,update_by
|
||||
</sql>
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user