7.4 KiB
7.4 KiB
信息采集批次Mapper接口和XML映射文件开发变更记录
变更时间: 2025-01-17 15:00:00
变更人员: Cursor AI
变更类型: 新增功能
变更模块: 信息采集批次管理
变更概述
为信息采集批次功能开发了完整的数据访问层,包括6个Mapper接口和对应的XML映射文件,实现了丰富的数据查询和操作功能。
详细变更内容
1. 新增Mapper接口
1.1 XgCollectionBatchMapper(信息采集批次主Mapper)
- 文件位置:
backend/ruoyi-modules/ruoyi-xg-xx/src/main/java/org/dromara/xg/mapper/XgCollectionBatchMapper.java - 主要功能:
- 继承BaseMapperPlus,支持基础CRUD操作
- 重写selectVoPage方法,支持自定义ResultMap分页查询
- 批次基础查询:按编码、学年、状态、类型查询
- 批次状态查询:当前进行中、即将开始、即将结束的批次
- 批次统计查询:整体统计、完成率统计、各维度统计
- 批次权限查询:用户有权限的批次列表
- 批次自动化:需要提醒、需要自动关闭的批次
- 批次管理:批量更新状态、编码唯一性检查
1.2 XgCollectionBatchStudentMapper(批次学生关联Mapper)
- 文件位置:
backend/ruoyi-modules/ruoyi-xg-xx/src/main/java/org/dromara/xg/mapper/XgCollectionBatchStudentMapper.java - 主要功能:
- 关联查询:批次-学生、学生-批次双向查询
- 提交状态查询:已提交、未提交学生列表
- 维度查询:按学院、专业、班级、届别查询学生
- 批量操作:批量插入、批量更新提交状态、批量更新编辑权限
- 统计功能:各维度学生数量统计
- 状态检查:学生是否在批次中、提交状态查询
- 提醒功能:需要提醒、超时未提交的学生列表
1.3 XgCollectionBatchLogMapper(批次操作日志Mapper)
- 文件位置:
backend/ruoyi-modules/ruoyi-xg-xx/src/main/java/org/dromara/xg/mapper/XgCollectionBatchLogMapper.java - 主要功能:
- 日志查询:按批次、学生、操作类型、操作人查询
- 时间范围查询:指定时间段内的操作日志
- 最新日志查询:批次或学生的最新操作记录
- 统计功能:操作次数、操作类型、操作人统计
- 日志分析:每日操作统计、活跃度统计、异常操作检测
- 批量操作:批量插入日志、批量删除历史日志
1.4 XgCollectionBatchPermissionMapper(批次权限配置Mapper)
- 文件位置:
backend/ruoyi-modules/ruoyi-xg-xx/src/main/java/org/dromara/xg/mapper/XgCollectionBatchPermissionMapper.java - 主要功能:
- 权限查询:按批次、用户、角色、学院查询权限配置
- 权限检查:用户、角色、学院是否有指定权限
- 权限获取:查询用户/角色/学院的所有权限
- 批次授权:查询有权限的批次列表
- 批量操作:批量插入权限、批量更新权限状态
- 权限管理:过期权限查询、权限清理
- 权限统计:权限配置数量统计
1.5 XgCollectionBatchStatisticsMapper(批次统计Mapper)
- 文件位置:
backend/ruoyi-modules/ruoyi-xg-xx/src/main/java/org/dromara/xg/mapper/XgCollectionBatchStatisticsMapper.java - 主要功能:
- 统计查询:按批次、学院、专业、班级、届别查询统计
- 统计类型:总体、学院、专业、班级、届别统计
- 统计刷新:各维度统计数据的实时刷新
- 批量操作:批量插入、批量更新统计数据
- 排名查询:完成率排名、低完成率统计
- 统计管理:统计数据存在性检查、概览查询
1.6 XgBatchScheduledTaskMapper(批次定时任务Mapper)
- 文件位置:
backend/ruoyi-modules/ruoyi-xg-xx/src/main/java/org/dromara/xg/mapper/XgBatchScheduledTaskMapper.java - 主要功能:
- 任务查询:按批次、类型、状态查询定时任务
- 任务状态:待执行、即将执行、过期、失败任务查询
- 任务管理:批量插入、批量更新状态、执行结果更新
- 任务统计:任务数量、成功率、执行时间分布统计
- 任务清理:清理历史任务、重置失败任务
2. 新增XML映射文件
2.1 XgCollectionBatchMapper.xml(信息采集批次主表XML)
- 文件位置:
backend/ruoyi-modules/ruoyi-xg-xx/src/main/resources/mapper/xg/XgCollectionBatchMapper.xml - 主要功能:
- 完整的ResultMap映射:包含所有字段的结果映射
- 自定义分页查询:重写selectVoPage方法
- 复杂统计查询:批次统计、完成率统计、各维度统计
- 时间范围查询:即将开始、即将结束的批次
- 权限相关查询:用户有权限的批次列表
- 批量更新操作:批次状态批量更新
2.2 XgCollectionBatchStudentMapper.xml(批次学生关联表XML)
- 文件位置:
backend/ruoyi-modules/ruoyi-xg-xx/src/main/resources/mapper/xg/XgCollectionBatchStudentMapper.xml - 主要功能:
- 完整的ResultMap映射:包含学生关联信息的结果映射
- 多维度查询:按学院、专业、班级、届别查询
- 提交状态查询:已提交、未提交学生列表
- 批量操作:批量插入、批量更新提交状态和编辑权限
- 统计查询:各维度学生数量统计
- 关联查询:与批次表关联的复杂查询
2.3 XgCollectionBatchLogMapper.xml(批次操作日志表XML)
- 文件位置:
backend/ruoyi-modules/ruoyi-xg-xx/src/main/resources/mapper/xg/XgCollectionBatchLogMapper.xml - 主要功能:
- 基础日志查询:按批次、学生、操作类型查询
- 批量插入操作:支持批量插入操作日志
- 日志清理:按批次或学生删除日志记录
技术特点
1. 架构设计
- 继承BaseMapperPlus: 所有Mapper接口继承BaseMapperPlus,获得基础CRUD功能
- 自定义ResultMap: 重写selectVoPage方法,使用自定义ResultMap实现字段映射
- 参数化查询: 使用@Param注解进行参数绑定,支持复杂查询条件
2. 查询优化
- 分页查询: 支持MyBatis-Plus的分页查询功能
- 索引优化: 查询条件对应数据库索引,提高查询性能
- 批量操作: 支持批量插入、批量更新,提高操作效率
3. 业务功能
- 多维度统计: 支持按学院、专业、班级、届别等维度进行统计
- 权限控制: 完整的权限查询和验证功能
- 自动化支持: 支持自动提醒、自动关闭等定时任务功能
- 审计日志: 完整的操作日志记录和查询功能
4. 数据一致性
- 逻辑删除: 使用deleted字段实现逻辑删除
- 多租户支持: 支持tenant_id字段的多租户查询
- 时间字段: 统一的时间字段处理和格式化
验证结果
- ✅ 所有Mapper接口编译通过
- ✅ XML映射文件语法正确
- ✅ 字段映射与数据库表一致
- ✅ 查询方法与接口声明匹配
- ✅ 支持分页查询和复杂查询
- ✅ 批量操作功能完整
下一步计划
- Service层开发: 实现业务逻辑层
- Controller层开发: 实现API接口层
- 单元测试: 编写Mapper接口测试用例
- 性能优化: 优化复杂查询的性能
- 文档完善: 补充API文档和使用说明
备注
本次开发完成了信息采集批次功能的数据访问层,为后续的业务逻辑开发奠定了坚实基础。所有接口都考虑了实际业务需求,支持完整的CRUD操作、复杂统计查询、批量操作等功能。