package com.bruce.sams.mapper; import com.bruce.sams.domain.sys.User; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Update; import java.util.List; @Mapper public interface UserMapper extends BaseMapper { // 通过用户名查询用户 @Select("SELECT * FROM sys_user WHERE user_name = #{identifier}") User findByUsername(String identifier); // 通过学号查询用户 @Select("SELECT * FROM sys_user WHERE school_id = #{identifier}") User findBySchoolId(String identifier); // 通过邮箱查询用户 @Select("SELECT * FROM sys_user WHERE email = #{identifier}") User findByEmail(String identifier); @Select("SELECT r.role_key FROM sys_role r " + "JOIN sys_user_role ur ON r.role_id = ur.role_id " + "WHERE ur.user_id = #{userId}") List findRolesByUserId(@Param("userId") Long userId); @Update("UPDATE sys_user SET nick_name = #{nickName}, email = #{email} WHERE user_id = #{userId}") void updateUser(@Param("userId") Long userId, @Param("nickName") String nickName, @Param("email") String email); @Update("UPDATE sys_user SET password = #{password} WHERE user_id = #{userId}") void updatePassword(@Param("userId") Long userId, @Param("password") String password); @Update("UPDATE sys_user SET status = #{status} WHERE user_id = #{userId}") void updateStatus(@Param("userId") Long userId, @Param("status") String status); @Select("SELECT * FROM sys_user WHERE user_id = #{userId}") User getUserById(@Param("userId") Long userId); }