package art.kexue.sxwz.mapper; import art.kexue.sxwz.entity.SysUser; import art.kexue.sxwz.entity.dto.SysUserDto; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; /** * (SysUser)表数据库访问层 * * @author 王志维 * @since 2025-02-21 23:01:48 */ @Mapper public interface SysUserMapper { /** * 查询指定行数据 * * @param sysUserDto 查询条件 * @return 对象列表 */ List getPageList(SysUserDto sysUserDto); /** * 查询指定行数据(包含扩展信息) * * @param sysUserDto 查询条件 * @return 对象列表(包含学生、教师、账户、学校信息) */ List getPageListWithExt(SysUserDto sysUserDto); /** * 通过ID查询单条数据 * * @param userId 主键 * @return 实例对象 */ SysUser queryById(Long userId); /** * 查询指定行数据 * * @param offset 查询起始位置 * @param limit 查询条数 * @return 对象列表 */ List queryAllByLimit(@Param("offset") int offset, @Param("limit") int limit); /** * 通过实体作为筛选条件查询 * * @param sysUser 实例对象 * @return 对象列表 */ List queryAll(SysUser sysUser); /** * 新增数据 * * @param sysUser 实例对象 * @return 影响行数 */ int insert(SysUser sysUser); /** * 批量新增数据 * * @param list 实例对象list * @return 影响行数 */ int insertBatch(List list); /** * 修改数据 * * @param sysUser 实例对象 * @return 影响行数 */ int update(SysUser sysUser); /** * 通过主键删除数据 * * @param userId 主键 * @return 影响行数 */ int deleteById(Long userId); SysUser getByUsername(String userName); SysUser getByTel(String tel); SysUser getBySessionId(String sessionId); SysUser getByInviteCode(String inviteCode); SysUser getByWxid(String wxid); List getUsersBySchoolIdAndRoleType(@Param("schoolId") Long schoolId, @Param("roleType") Integer roleType); List getUsersWithExtBySchoolIdAndRoleType(@Param("schoolId") Long schoolId, @Param("roleType") Integer roleType); }