智慧教务系统
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.
 
 
 
 
 
 

6.7 KiB

school_diy_form_write_config 表文档

表概述

表名: school_diy_form_write_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
write_way	varchar(255)	utf8mb4_general_ci	NO		NULL		select,insert,update,references	填写方式,no_limit:不限制,scan:仅限微信扫一扫,url:仅限链接进入
join_member_type	varchar(255)	utf8mb4_general_ci	NO		all_member		select,insert,update,references	参与会员,all_member:所有会员参与,selected_member_level:指定会员等级,selected_member_label:指定会员标签
level_ids	text	utf8mb4_general_ci	YES		NULL		select,insert,update,references	会员等级id集合
label_ids	text	utf8mb4_general_ci	YES		NULL		select,insert,update,references	会员标签id集合
member_write_type	varchar(255)	utf8mb4_general_ci	NO		NULL		select,insert,update,references	每人可填写次数,no_limit:不限制,diy:自定义
member_write_rule	text	utf8mb4_general_ci	NO		NULL		select,insert,update,references	每人可填写次数自定义规则
form_write_type	varchar(255)	utf8mb4_general_ci	NO		NULL		select,insert,update,references	表单可填写数量,no_limit:不限制,diy:自定义
form_write_rule	text	utf8mb4_general_ci	NO		NULL		select,insert,update,references	表单可填写总数自定义规则
time_limit_type	varchar(255)	utf8mb4_general_ci	NO		0		select,insert,update,references	填写时间限制类型,no_limit:不限制, specify_time:指定开始结束时间,open_day_time:设置每日开启时间
time_limit_rule	text	utf8mb4_general_ci	NO		NULL		select,insert,update,references	填写时间限制规则
is_allow_update_content	tinyint	NULL	NO		0		select,insert,update,references	是否允许修改自己填写的内容,0:否,1:是
write_instruction	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_member_level: 会员等级表 (level_ids)
  • school_member_label: 会员标签表 (label_ids)
  • school_diy_form_records: 表单记录表 (填写记录)
  • school_member: 会员信息表 (参与人员)
  • school_student: 学生信息表 (学员参与)
  • school_personnel: 人员信息表 (教职工参与)
  • sys_log: 系统日志表 (配置变更日志)

关联说明

  • 表单关联: form_id关联到school_diy_form表,确定配置所属表单
  • 等级关联: level_ids关联到school_member_level表,控制等级权限
  • 标签关联: label_ids关联到school_member_label表,筛选参与人员
  • 记录关联: 与school_diy_form_records表关联,统计填写次数
  • 用户关联: 通过会员、学生、人员表控制填写权限
  • 规则应用: 配置规则应用到实际的表单填写过程
  • 权限验证: 填写时验证用户是否符合配置要求

索引建议

  • 主键索引: id (已存在)
  • 外键索引: form_id (表单配置查询)
  • 唯一索引: form_id (每个表单唯一配置)
  • 业务索引:
    • write_way (填写方式查询)
    • join_member_type (参与类型查询)
    • member_write_type (个人次数类型查询)
    • form_write_type (表单次数类型查询)
    • time_limit_type (时间限制类型查询)
    • is_allow_update_content (修改权限查询)
  • 复合索引:
    • (form_id, write_way) (表单填写方式查询)
    • (join_member_type, member_write_type) (参与规则查询)
    • (time_limit_type, form_write_type) (时间次数规则查询)
  • 时间索引:
    • create_time (创建时间查询)
    • update_time (更新时间查询)
  • 全文索引:
    • write_instruction (填写须知搜索)

注意事项

  • 表单关联完整性: form_id必须对应有效的表单记录
  • 等级ID格式: level_ids需要使用正确的JSON或逗号分隔格式
  • 标签ID格式: label_ids需要使用正确的JSON或逗号分隔格式
  • 规则JSON格式: 各种rule字段需要使用有效的JSON格式
  • 填写方式枚举: write_way必须是预定义的枚举值
  • 参与类型一致性: join_member_type与level_ids、label_ids的使用要一致
  • 次数限制合理性: 填写次数限制必须为正数且合理
  • 时间规则有效性: 时间限制规则需要符合逻辑和格式要求
  • 权限验证: 填写时需要严格验证用户是否符合配置要求
  • 规则缓存: 频繁查询的配置规则可以使用缓存
  • 并发控制: 次数限制在高并发时需要准确控制
  • 配置变更影响: 配置变更可能影响正在进行的填写流程
  • 数据一致性: 配置与实际填写行为需要保持一致
  • 备份恢复: 重要配置需要定期备份
  • 权限控制: 配置修改需要严格的权限控制
  • 日志记录: 配置变更需要详细的日志记录
  • 性能监控: 监控配置对表单填写性能的影响
  • 兼容性: 配置变更需要考虑向后兼容性