sxwz2.0/src/main/java/art/kexue/sxwz/mapper/SysUserMapper.java
wangzhiwei 5f5c0759ce feat(notification): 实现通知功能,支持角色层级发送和课程群发
1. 修改 SysNotification 实体,新增 senderId, senderName, targetType 字段

2. 新增 SendNotificationRequest 请求DTO

3. 扩展通知类型至6种(新增用户通知、课程通知)

4. 实现角色层级权限控制,支持多级管理员通知下级

5. 支持老师群发课程通知给学生

6. 新增批量发送接口和权限配置
2026-05-15 16:57:07 +08:00

102 lines
2.1 KiB
Java

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<SysUser> getPageList(SysUserDto sysUserDto);
/**
* 通过ID查询单条数据
*
* @param userId 主键
* @return 实例对象
*/
SysUser queryById(Long userId);
/**
* 查询指定行数据
*
* @param offset 查询起始位置
* @param limit 查询条数
* @return 对象列表
*/
List<SysUser> queryAllByLimit(@Param("offset") int offset, @Param("limit") int limit);
/**
* 通过实体作为筛选条件查询
*
* @param sysUser 实例对象
* @return 对象列表
*/
List<SysUser> queryAll(SysUser sysUser);
/**
* 新增数据
*
* @param sysUser 实例对象
* @return 影响行数
*/
int insert(SysUser sysUser);
/**
* 批量新增数据
*
* @param list 实例对象list
* @return 影响行数
*/
int insertBatch(List<SysUser> 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<SysUser> getUsersBySchoolIdAndRoleType(@Param("schoolId") Long schoolId, @Param("roleType") Integer roleType);
List<SysUser> getUsersWithExtBySchoolIdAndRoleType(@Param("schoolId") Long schoolId, @Param("roleType") Integer roleType);
}