# school_sys_notice_sms_log 表文档 ## 表概述 **表名**: school_sys_notice_sms_log **功能**: 系统短信通知日志表,用于记录和管理系统发送的所有短信通知,包括发送状态跟踪、模板管理和结果反馈 ## 字段说明 ``` Field Type Collation Null Key Default Extra Privileges Comment id int NULL NO PRI NULL auto_increment select,insert,update,references id mobile varchar(11) utf8mb4_general_ci NO select,insert,update,references 手机号码 sms_type varchar(32) utf8mb4_general_ci NO select,insert,update,references 发送关键字(注册、找回密码) key varchar(32) utf8mb4_general_ci NO select,insert,update,references 发送关键字(注册、找回密码) template_id varchar(50) utf8mb4_general_ci NO select,insert,update,references content text utf8mb4_general_ci NO NULL select,insert,update,references 发送内容 params text utf8mb4_general_ci NO NULL select,insert,update,references 数据参数 status varchar(32) utf8mb4_general_ci NO sending select,insert,update,references 发送状态:sending-发送中;success-发送成功;fail-发送失败 result text utf8mb4_general_ci YES NULL select,insert,update,references 短信结果 create_time int NULL NO 0 select,insert,update,references 创建时间 send_time int NULL NO 0 select,insert,update,references 发送时间 update_time int NULL NO 0 select,insert,update,references 更新时间 delete_time int NULL NO 0 select,insert,update,references 删除时间 ``` ## 功能用途 ### 主要功能 - **短信发送记录**: 记录系统发送的所有短信通知详细信息 - **发送状态跟踪**: 实时跟踪短信的发送状态(发送中、成功、失败) - **模板管理**: 通过template_id关联短信模板,支持模板化发送 - **参数记录**: 保存短信发送时的动态参数信息 - **结果反馈**: 记录短信服务商返回的发送结果 - **时间管理**: 记录短信的创建、发送、更新等关键时间节点 - **内容存档**: 完整保存发送的短信内容,便于审计和查询 - **分类管理**: 通过sms_type和key字段对短信进行分类管理 - **软删除支持**: 支持软删除机制,保留历史记录 ### 业务场景 - **用户注册**: 发送注册验证码短信 - **密码找回**: 发送密码重置验证码 - **课程提醒**: 发送上课提醒、请假通知等 - **缴费通知**: 发送学费到期、缴费成功等通知 - **活动推广**: 发送营销活动、优惠信息等 - **系统通知**: 发送系统维护、重要公告等通知 - **考勤提醒**: 发送考勤异常、迟到提醒等 - **成绩通知**: 发送考试成绩、评价结果等 - **生日祝福**: 发送生日祝福、节日问候等 - **紧急通知**: 发送紧急停课、安全提醒等 ## 关联关系 ### 主要关联表 - **school_member**: 会员表,通过mobile字段关联会员手机号 - **school_personnel**: 人员表,通过mobile字段关联员工手机号 - **school_student**: 学员表,通过mobile字段关联学员手机号 - **school_sys_notice**: 系统通知表,可能关联通知记录 - **school_sys_config**: 系统配置表,关联短信服务配置 - **school_course**: 课程表,课程相关短信通知 - **school_pay**: 支付表,支付相关短信通知 ### 关联说明 - **手机号关联**: 通过mobile字段与各用户表建立关联关系 - **模板关联**: template_id关联短信模板配置信息 - **业务关联**: key字段标识具体的业务场景和触发条件 - **配置关联**: 短信发送依赖系统配置的短信服务参数 - **通知关联**: 可能与系统通知功能形成完整的消息推送体系 ## 索引建议 ```sql -- 主键索引(自动创建) PRIMARY KEY (id) -- 手机号索引(用于查询用户短信记录) INDEX idx_mobile (mobile) -- 短信类型索引(用于按类型查询) INDEX idx_sms_type (sms_type) -- 关键字索引(用于按业务场景查询) INDEX idx_key (key) -- 状态索引(用于查询发送状态) INDEX idx_status (status) -- 模板ID索引(用于按模板查询) INDEX idx_template_id (template_id) -- 创建时间索引(用于按时间查询) INDEX idx_create_time (create_time) -- 发送时间索引(用于按发送时间查询) INDEX idx_send_time (send_time) -- 复合索引(用于统计查询) INDEX idx_mobile_status_time (mobile, status, create_time) -- 软删除索引(用于查询有效记录) INDEX idx_delete_time (delete_time) ``` ## 注意事项 - **手机号格式**: mobile字段应严格验证手机号格式的正确性 - **发送频率**: 需要控制短信发送频率,避免频繁发送造成骚扰 - **内容审核**: 短信内容应经过审核,避免发送违规信息 - **状态同步**: 发送状态应及时更新,确保状态的准确性 - **错误处理**: 发送失败时应记录详细的错误信息便于排查 - **参数安全**: params字段可能包含敏感信息,需要注意数据安全 - **模板管理**: 短信模板变更时需要考虑对历史记录的影响 - **成本控制**: 短信发送涉及费用,需要合理控制发送成本 - **时间精度**: 时间字段应保证足够精度,支持精确的时间统计 - **数据清理**: 定期清理过期的短信记录,控制数据量增长 - **监控告警**: 建立短信发送失败率的监控和告警机制 - **合规要求**: 短信发送需要遵守相关法律法规和运营商规定 - **重试机制**: 发送失败时应有合理的重试机制 - **日志轮转**: 大量短信记录需要考虑日志轮转和归档策略 - **性能优化**: 高并发短信发送时需要考虑性能优化