51 lines
1.7 KiB
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);
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|