4.4 KiB
4.4 KiB
信息采集批次数据表创建记录
📋 变更信息
- 变更时间: 2025-01-17 11:00:00
- 变更类型: 数据表创建
- 变更人员: AI Assistant
- 变更原因: 信息采集批次功能开发需要完整的数据表支持
🎯 变更目标
为信息采集批次功能创建完整的数据表结构,支持:
- 批次管理和配置
- 学生信息采集过程跟踪
- 操作日志记录
- 权限控制
- 统计分析
- 定时任务管理
📊 变更内容
✅ 已存在的表
xg_collection_batch- 信息采集批次主表 ✅xg_audit_record- 审核记录表 ✅
🆕 新创建的表
1. xg_collection_batch_student - 批次学生关联表
功能: 记录每个批次中包含的学生信息和提交状态 关键字段:
batch_id- 批次IDstudent_id- 学生IDstudent_code- 学号has_submitted- 是否已提交submit_time- 提交时间can_edit- 是否可编辑
2. xg_collection_batch_log - 批次操作日志表
功能: 记录所有批次相关的操作日志 关键字段:
batch_id- 批次IDoperation_type- 操作类型(CREATE,UPDATE,SUBMIT等)operator_id- 操作人IDold_data- 修改前数据(JSON)new_data- 修改后数据(JSON)
3. xg_collection_batch_permission - 批次权限配置表
功能: 配置不同用户对批次的操作权限 关键字段:
batch_id- 批次IDpermission_type- 权限类型(EDIT,VIEW,SUBMIT,ADMIN)role_id- 角色IDuser_id- 用户IDcollege_id- 学院ID
4. xg_collection_batch_statistics - 批次统计表
功能: 存储批次的统计信息 关键字段:
batch_id- 批次IDtotal_students- 总学生数submitted_students- 已提交学生数completion_rate- 完成率statistics_type- 统计类型(TOTAL,COLLEGE,MAJOR,CLASS)
5. xg_batch_scheduled_task - 批次定时任务表
功能: 管理批次相关的定时任务 关键字段:
batch_id- 批次IDtask_type- 任务类型(REMIND_START,REMIND_END,AUTO_CLOSE)task_time- 执行时间task_status- 任务状态(PENDING,EXECUTED,FAILED)
🔧 技术实现
数据库连接信息
- 主机: 47.99.164.66:3306
- 数据库: hzdyjs_xg
- 用户: root
- 字符集: utf8mb4
- 引擎: InnoDB
索引设计
每个表都创建了合适的索引:
- 主键索引 (id)
- 批次ID索引 (batch_id)
- 租户ID索引 (tenant_id)
- 业务相关索引 (如student_id, operation_type等)
约束和规范
- 所有表都支持逻辑删除 (deleted字段)
- 所有表都支持多租户 (tenant_id字段)
- 统一的创建时间和更新时间字段
- 统一的创建者和更新者字段
📝 测试数据
插入了2条测试批次数据:
- BATCH_2024_1 - 2024-2025学年第一学期信息采集 (状态:2-进行中)
- BATCH_2024_2 - 2024-2025学年第二学期信息采集 (状态:1-草稿)
✅ 验证结果
表创建验证
-- 验证所有表都创建成功
SHOW TABLES LIKE 'xg_collection%';
SHOW TABLES LIKE 'xg_batch%';
结果: 6个表全部创建成功 ✅
- xg_collection_batch
- xg_collection_batch_student
- xg_collection_batch_log
- xg_collection_batch_permission
- xg_collection_batch_statistics
- xg_batch_scheduled_task
数据插入验证
SELECT id, batch_code, batch_name, batch_status FROM xg_collection_batch;
结果: 测试数据插入成功 ✅
🚀 下一步计划
1. 实体类开发
- 创建
XgCollectionBatch实体类 - 创建
XgCollectionBatchStudent实体类 - 创建其他相关实体类
2. 数据访问层
- 创建 Mapper 接口
- 实现 XML 映射文件
- 添加自定义查询方法
3. 业务服务层
- 创建 Service 接口
- 实现业务逻辑
- 添加事务管理
4. 控制器层
- 创建 Controller
- 实现 REST API
- 添加权限控制
5. 前端页面
- 创建 Vue 页面
- 实现 API 调用
- 添加用户界面
📄 相关文件
- SQL脚本:
backend/script/sql/create-missing-tables.sql - 设计文档:
docs/设计文档/database/xg-collection-batch-redesign.sql - 变更记录:
docs/变更管理/code-adjust-record-2025-01-17-collection-batch-tables.md
🎉 总结
信息采集批次功能的数据表已经完整创建,为后续的实体类开发和业务逻辑实现奠定了坚实的基础。所有表都遵循了项目的数据库设计规范,支持多租户和逻辑删除,具备良好的扩展性和维护性。