SAMS/src/main/java/com/bruce/sams/mapper/UserMapper.java

51 lines
1.7 KiB
Java

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<User> {
// 通过用户名查询用户
@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<String> 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);
}