From bed21a1db0b3843b83c53455b7c2b72d5d293bef Mon Sep 17 00:00:00 2001 From: suyiiyii Date: Sat, 24 Aug 2024 20:02:30 +0800 Subject: [PATCH] feat(rbac): stash --- .../suyiiyii/sims/mapper/MpRoleMapper.java | 7 ++++ .../sims/mapper/MpUserRoleMapper.java | 7 ++++ .../suyiiyii/sims/service/RbacService.java | 41 +++++++++++++++++++ 3 files changed, 55 insertions(+) create mode 100644 src/main/java/top/suyiiyii/sims/mapper/MpRoleMapper.java create mode 100644 src/main/java/top/suyiiyii/sims/mapper/MpUserRoleMapper.java create mode 100644 src/main/java/top/suyiiyii/sims/service/RbacService.java diff --git a/src/main/java/top/suyiiyii/sims/mapper/MpRoleMapper.java b/src/main/java/top/suyiiyii/sims/mapper/MpRoleMapper.java new file mode 100644 index 0000000..70d3bd4 --- /dev/null +++ b/src/main/java/top/suyiiyii/sims/mapper/MpRoleMapper.java @@ -0,0 +1,7 @@ +package top.suyiiyii.sims.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import top.suyiiyii.sims.entity.Role; + +public interface MpRoleMapper extends BaseMapper { +} diff --git a/src/main/java/top/suyiiyii/sims/mapper/MpUserRoleMapper.java b/src/main/java/top/suyiiyii/sims/mapper/MpUserRoleMapper.java new file mode 100644 index 0000000..759242d --- /dev/null +++ b/src/main/java/top/suyiiyii/sims/mapper/MpUserRoleMapper.java @@ -0,0 +1,7 @@ +package top.suyiiyii.sims.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import top.suyiiyii.sims.entity.UserRole; + +public interface MpUserRoleMapper extends BaseMapper { +} diff --git a/src/main/java/top/suyiiyii/sims/service/RbacService.java b/src/main/java/top/suyiiyii/sims/service/RbacService.java new file mode 100644 index 0000000..8d56220 --- /dev/null +++ b/src/main/java/top/suyiiyii/sims/service/RbacService.java @@ -0,0 +1,41 @@ +package top.suyiiyii.sims.service; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import top.suyiiyii.sims.entity.Role; +import top.suyiiyii.sims.entity.UserRole; +import top.suyiiyii.sims.mapper.MpRoleMapper; +import top.suyiiyii.sims.mapper.MpUserMapper; +import top.suyiiyii.sims.mapper.MpUserRoleMapper; + +import java.util.List; + +@Slf4j +@Service +public class RbacService { + + @Autowired + MpUserMapper userMapper; + + @Autowired + MpUserRoleMapper userRoleMapper; + + @Autowired + MpRoleMapper roleMapper; + + /** + * 根据用户id获取用户的角色 + * + * @param userId 用户id + * @return 用户的角色列表 + */ + public List getRolesByUserId(int userId) { + // 根据用户id获取用户的角色id,使用mp的条件构造器 + List userRoles = userRoleMapper.selectList(new QueryWrapper().eq("user_id", userId)); + // 根据角色id获取角色 + return roleMapper.selectBatchIds(userRoles.stream().map(UserRole::getRoleId).toList()); + } + +}