package com.usky.system.mapper; import com.usky.common.mybatis.core.CrudMapper; import com.usky.system.domain.SysUser; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; import java.util.List; /** * 用户表 数据层 * * @author yq */ @Repository public interface SysUserMapper extends CrudMapper { /** * 根据条件分页查询用户列表 * * @param sysUser 用户信息 * @return 用户信息集合信息 */ public List selectUserList(SysUser sysUser); /** * 根据条件分页查询未已配用户角色列表 * * @param user 用户信息 * @return 用户信息集合信息 */ public List selectAllocatedList(SysUser user); /** * 根据条件分页查询未分配用户角色列表 * * @param user 用户信息 * @return 用户信息集合信息 */ public List selectUnallocatedList(SysUser user); /** * 通过用户名查询用户 * * @param userName 用户名 * @return 用户对象信息 */ public SysUser selectUserByUserName(String userName); /** * 通过用户ID查询用户 * * @param userId 用户ID * @return 用户对象信息 */ public SysUser selectUserById(Long userId); /** * 新增用户信息 * * @param user 用户信息 * @return 结果 */ public int insertUser(SysUser user); /** * 修改用户信息 * * @param user 用户信息 * @return 结果 */ public int updateUser(SysUser user); /** * 修改用户头像 * * @param userName 用户名 * @param avatar 头像地址 * @return 结果 */ public int updateUserAvatar(@Param("userName") String userName, @Param("avatar") String avatar); /** * 重置用户密码 * * @param userName 用户名 * @param password 密码 * @return 结果 */ public int resetUserPwd(@Param("userName") String userName, @Param("password") String password); /** * 通过用户ID删除用户 * * @param userId 用户ID * @return 结果 */ public int deleteUserById(Long userId); /** * 批量删除用户信息 * * @param userIds 需要删除的用户ID * @return 结果 */ public int deleteUserByIds(Long[] userIds); /** * 校验用户名称是否唯一 * * @param userName 用户名称 * @return 结果 */ public int checkUserNameUnique(String userName,Integer tenantId); /** * 校验手机号码是否唯一 * * @param phonenumber 手机号码 * @return 结果 */ public SysUser checkPhoneUnique(String phonenumber); /** * 校验email是否唯一 * * @param email 用户邮箱 * @return 结果 */ public SysUser checkEmailUnique(String email); public int resetUserPwdOne(@Param("userId") Long userId, @Param("password") String password); public List getUserData(@Param("tenantId") Integer tenantId, @Param("current") Integer current, @Param("size") Integer size, @Param("userId") long userId); }