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
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的使用要一致
- 次数限制合理性: 填写次数限制必须为正数且合理
- 时间规则有效性: 时间限制规则需要符合逻辑和格式要求
- 权限验证: 填写时需要严格验证用户是否符合配置要求
- 规则缓存: 频繁查询的配置规则可以使用缓存
- 并发控制: 次数限制在高并发时需要准确控制
- 配置变更影响: 配置变更可能影响正在进行的填写流程
- 数据一致性: 配置与实际填写行为需要保持一致
- 备份恢复: 重要配置需要定期备份
- 权限控制: 配置修改需要严格的权限控制
- 日志记录: 配置变更需要详细的日志记录
- 性能监控: 监控配置对表单填写性能的影响
- 兼容性: 配置变更需要考虑向后兼容性