You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
5.9 KiB
5.9 KiB
school_diy_form_submit_config 表文档
表概述
表名: school_diy_form_submit_config
功能: 自定义表单提交配置表,负责管理教务系统中表单的提交规则和配置,包括提交限制、验证规则、通知设置等表单提交行为的控制和管理
字段说明
Field Type Collation Null Key Default Extra Privileges Comment
id int NULL NO PRI NULL auto_increment select,insert,update,references 主键id
form_id int NULL NO 0 select,insert,update,references 所属万能表单id
submit_after_action varchar(255) utf8mb4_general_ci NO select,insert,update,references 填表人提交后操作,text:文字信息,voucher:核销凭证
tips_type varchar(255) utf8mb4_general_ci NO NULL select,insert,update,references 提示内容类型,default:默认提示,diy:自定义提示
tips_text varchar(255) utf8mb4_general_ci NO select,insert,update,references 自定义提示内容
time_limit_type varchar(255) utf8mb4_general_ci NO 0 select,insert,update,references 核销凭证有效期限制类型,no_limit:不限制,specify_time:指定固定开始结束时间,submission_time:按提交时间设置有效期
time_limit_rule text utf8mb4_general_ci YES NULL select,insert,update,references 核销凭证时间限制规则,json格式
voucher_content_rule text utf8mb4_general_ci YES NULL select,insert,update,references 核销凭证内容,json格式
success_after_action text utf8mb4_general_ci YES NULL select,insert,update,references 填写成功后续操作
create_time int NULL NO 0 select,insert,update,references 创建时间
update_time int NULL NO 0 select,insert,update,references 更新时间
功能用途
主要功能
- 提交规则配置: 配置表单的提交次数限制、时间限制等规则
- 验证规则管理: 设置表单提交时的数据验证规则和要求
- 通知配置: 配置表单提交后的通知方式和接收人
- 权限控制: 设置表单提交的权限要求和访问控制
- 状态管理: 管理表单的启用/禁用状态和提交开关
- 限制设置: 设置单用户提交次数、总提交次数等限制
- 时间控制: 配置表单的开放时间和截止时间
- 审核配置: 设置表单提交后的审核流程和规则
- 数据处理: 配置提交数据的处理方式和存储规则
业务场景
- 报名表单: 配置课程报名表单的提交限制和验证规则
- 调查问卷: 设置问卷调查的提交次数和时间限制
- 申请表单: 配置各类申请表单的审核流程和通知
- 反馈表单: 设置用户反馈表单的提交规则和处理方式
- 考试报名: 配置考试报名表单的时间限制和资格验证
- 活动报名: 设置活动报名表单的人数限制和条件
- 信息收集: 配置信息收集表单的数据验证和处理
- 预约表单: 设置预约表单的时间限制和冲突检查
- 评价表单: 配置课程评价表单的提交规则和统计
关联关系
主要关联表
school_diy_form: 自定义表单表 (form_id)school_diy_form_records: 表单记录表 (提交记录)school_member: 会员信息表 (提交权限)school_student: 学生信息表 (学员权限)school_personnel: 人员信息表 (教职工权限)school_course: 课程信息表 (课程相关表单)school_class: 班级信息表 (班级相关表单)sys_log: 系统日志表 (配置变更日志)
关联说明
- 表单关联: form_id关联到school_diy_form表,确定配置所属表单
- 提交记录: 与school_diy_form_records表关联,控制提交行为
- 用户权限: 通过member_id等关联用户信息,控制提交权限
- 业务关联: 可能关联课程、班级等业务对象
- 配置继承: 子表单可以继承父表单的提交配置
- 规则应用: 配置规则应用到实际的表单提交过程
- 通知关联: 提交后的通知与用户和管理员关联
索引建议
- 主键索引: id (已存在)
- 外键索引:
- form_id (表单配置查询)
- site_id (站点配置查询)
- 唯一索引: form_id (每个表单唯一配置)
- 业务索引:
- status (状态查询)
- submit_limit_type (限制类型查询)
- is_need_login (登录要求查询)
- is_need_verify (验证要求查询)
- 复合索引:
- (site_id, status) (站点状态查询)
- (form_id, status) (表单状态查询)
- (submit_limit_type, submit_limit_num) (限制规则查询)
- 时间索引:
- submit_start_time (开始时间查询)
- submit_end_time (结束时间查询)
- create_time (创建时间查询)
- update_time (更新时间查询)
- 统计索引:
- submit_limit_num (限制数量统计)
- total_submit_num (总提交数统计)
注意事项
- 表单关联完整性: form_id必须对应有效的表单记录
- 时间逻辑一致性: submit_start_time必须小于submit_end_time
- 限制规则合理性: submit_limit_num必须为正数且合理
- 状态管理: status变更需要考虑已有提交记录的影响
- 权限验证: is_need_login和is_need_verify需要与实际验证逻辑一致
- 时间有效性: 需要定期检查表单的时间有效性
- 限制计数: submit_limit_num的计数需要准确维护
- 并发控制: 高并发提交时需要考虑限制数量的准确性
- 配置缓存: 频繁查询的配置可以使用缓存提高性能
- 变更影响: 配置变更可能影响正在进行的提交流程
- 数据一致性: 配置与实际提交行为需要保持一致
- 审核流程: 如果启用审核,需要配置相应的审核人员
- 通知设置: 通知配置需要确保接收人的有效性
- 备份恢复: 重要配置需要定期备份
- 权限控制: 配置修改需要严格的权限控制
- 日志记录: 配置变更需要详细的日志记录
- 性能监控: 监控配置对表单提交性能的影响
- 兼容性: 配置变更需要考虑向后兼容性