SIMS/src/main/java/top/suyiiyii/sims/mapper/RoleMapper.java
tortoise014 efc2aa97cb
Some checks are pending
Docker Build and Publish / build (push) Waiting to run
Gitea Sync / trigger-gitea-sync (push) Waiting to run
Java CI with Maven / build (push) Waiting to run
奖惩记录增删改查 (#17)
* 模糊查询

* 模糊查询

* 模糊查询

* 调整个人查询

* 调整个人查询

* 调整个人查询无法出现类别类型

* 调整个人查询无法出现类别类型

* 筛选查询

* 定义对象

* 管理员查找所用用户加上角色

* jwt: token有效期两周,便于调试

* 改了那个

* 那个record的id

* 无

* 1

* 1

* 调整获取userId的方式

* gai

---------

Co-authored-by: suyiiyii <suyiiyii@gmail.com>
2024-09-08 18:52:44 +08:00

64 lines
2.0 KiB
Java

package top.suyiiyii.sims.mapper;
import org.apache.ibatis.annotations.*;
import top.suyiiyii.sims.entity.Role;
import top.suyiiyii.sims.entity.User;
import java.util.List;
/**
* @Author tortoise
* @Date 2024/8/14 14:13
* @PackageName:top.suyiiyii.sims.mapper
* @ClassName: RoleMapper
* @Description: TODO
* @Version 1.0
*/
@Mapper
public interface RoleMapper {
/**
* @param
* @author: tortoise
* @date: 2024/8/14 14:23
* @Description: TODO 查询用户信息
* @return: java.util.List<top.suyiiyii.sims.entity.User>
*/
@Select("SELECT u.username, u.student_id, r.role_name " +
"FROM user u " +
"LEFT JOIN user_role ur ON u.student_id = ur.user_id " +
"LEFT JOIN role r ON ur.role_id = r.id")
@Results({
@Result(property = "username", column = "username"),
@Result(property = "userId", column = "userId"),
@Result(property = "group", column = "group"),
@Result(property = "roles", column = "role_name", many = @Many(select = "selectRolesById"))
})
List<User> selectAllUsersWithRoles();
// 根据用户ID查询角色
@Select("SELECT role_id, role_name " +
"FROM role " +
"WHERE id IN " +
"(SELECT role_id FROM user_role WHERE user_id = #{student_id})")
List<Role> selectRolesById(@Param("student_id") int id);
@Select("SELECT role_name FROM role WHERE role_id=#{roleId}")
List<String> selectRoleNamesByRoleId(Integer roleId);
@Select("SELECT user_id " +
"FROM user_role " +
"WHERE role_id IN " +
"(SELECT role_id FROM role WHERE role_name=#{roleName})")
Integer getIdByrolename(String roleName);
@Select("SELECT student_id FROM user WHERE username=#{username}")
Integer getStudentIdByUsername(String username);
@Select("SELECT role_name " +
"FROM role " +
"WHERE id IN " +
"(SELECT role_id FROM user_role WHERE user_id = #{id})")
List<String> getRolesById(int id);
}