# school_sys_notice_log 表文档 ## 表概述 **表名**: school_sys_notice_log **功能**: 系统通知日志表,用于记录系统发送的各类通知消息的详细信息,包括短信、微信等多渠道通知,支持消息追踪、用户行为统计和发送结果监控,为学校提供完整的通知管理和数据分析功能 ## 字段说明 ``` Field Type Collation Null Key Default Extra Privileges Comment id int unsigned NULL NO PRI NULL auto_increment select,insert,update,references 通知记录ID key varchar(255) utf8mb4_general_ci YES select,insert,update,references 消息key notice_type varchar(50) utf8mb4_general_ci YES sms select,insert,update,references 消息类型(sms,wechat.weapp) uid int unsigned NULL NO 0 select,insert,update,references 通知的用户id member_id int NULL NO 0 select,insert,update,references 消息的会员id nickname varchar(255) utf8mb4_general_ci NO select,insert,update,references 接收人用户昵称或姓名 receiver varchar(255) utf8mb4_general_ci NO select,insert,update,references 接收人(对应手机号,openid) content text utf8mb4_general_ci YES NULL select,insert,update,references 消息数据 is_click tinyint unsigned NULL NO 0 select,insert,update,references 点击次数 is_visit tinyint unsigned NULL NO 0 select,insert,update,references 访问次数 visit_time int NULL NO 0 select,insert,update,references 访问时间 create_time int unsigned NULL NO 0 select,insert,update,references 消息时间 result varchar(1000) utf8mb4_general_ci NO select,insert,update,references 结果 params text utf8mb4_general_ci YES NULL select,insert,update,references ``` ## 功能用途 ### 主要功能 - **通知记录管理**: 记录系统发送的各类通知消息的详细信息 - **多渠道支持**: 支持短信(sms)、微信小程序(wechat.weapp)等多种通知渠道 - **用户关联**: 关联系统用户和会员,支持精准的消息推送 - **消息追踪**: 跟踪消息的点击次数、访问次数等用户行为数据 - **发送结果**: 记录消息发送的结果状态,便于监控和统计 - **内容存档**: 完整保存通知内容和发送参数,便于审计和查询 - **接收人管理**: 记录接收人的昵称和联系方式(手机号/openid) - **消息分类**: 通过key字段对不同类型的消息进行分类管理 - **时间追踪**: 记录消息创建时间和用户访问时间 ### 业务场景 - **课程通知**: 发送上课提醒、课程变更、请假通知等 - **缴费提醒**: 发送学费到期、缴费成功、欠费提醒等 - **考试通知**: 发送考试安排、成绩发布、补考通知等 - **活动推广**: 发送营销活动、优惠信息、新课程推荐等 - **系统公告**: 发送系统维护、政策变更、重要通知等 - **生日祝福**: 发送生日祝福、节日问候、纪念日提醒等 - **考勤提醒**: 发送考勤异常、迟到提醒、请假审批等 - **服务提醒**: 发送服务到期、续费提醒、客服回访等 - **紧急通知**: 发送紧急停课、安全提醒、突发事件等 - **互动消息**: 发送评价邀请、问卷调查、反馈收集等 ## 关联关系 ### 主要关联表 - **school_sys_user**: 系统用户表 (uid外键关联) - **school_member**: 会员表 (member_id外键关联) - **school_sys_notice**: 系统通知配置表 (key字段关联) - **school_personnel**: 人员表 (通过receiver关联) - **school_student**: 学员表 (通过receiver关联) - **school_course**: 课程表 (课程相关通知) - **school_pay**: 支付表 (支付相关通知) - **school_campus**: 校区表 (校区相关通知) ### 关联说明 - **用户关联**: uid关联school_sys_user表,确定通知的系统用户 - **会员关联**: member_id关联school_member表,确定通知的会员用户 - **配置关联**: key字段关联school_sys_notice表的通知配置 - **接收人关联**: receiver字段存储手机号或openid,关联具体接收人 - **业务关联**: 根据通知类型关联相应的业务表(课程、支付等) - **渠道关联**: notice_type字段确定通知发送的具体渠道 ## 索引建议 ```sql -- 主键索引(自动创建) PRIMARY KEY (id) -- 用户ID索引(用于查询用户通知记录) INDEX idx_uid (uid) -- 会员ID索引(用于查询会员通知记录) INDEX idx_member_id (member_id) -- 消息key索引(用于按消息类型查询) INDEX idx_key (key) -- 通知类型索引(用于按渠道查询) INDEX idx_notice_type (notice_type) -- 接收人索引(用于查询接收人记录) INDEX idx_receiver (receiver) -- 创建时间索引(用于按时间查询) INDEX idx_create_time (create_time) -- 访问时间索引(用于统计分析) INDEX idx_visit_time (visit_time) -- 复合索引(用于统计查询) INDEX idx_uid_notice_type_time (uid, notice_type, create_time) INDEX idx_member_key_time (member_id, key, create_time) INDEX idx_receiver_notice_type (receiver, notice_type) ``` ## 注意事项 - **用户标识**: uid和member_id不能同时为0,至少要有一个有效的用户标识 - **接收人格式**: receiver字段根据notice_type存储不同格式的接收人标识 - **消息内容**: content字段可能包含敏感信息,需要注意数据安全 - **点击统计**: is_click和is_visit字段用于统计用户行为,需要准确记录 - **时间一致性**: create_time和visit_time需要保证时间的准确性 - **结果记录**: result字段应详细记录发送结果,便于问题排查 - **参数安全**: params字段可能包含敏感参数,需要加密存储 - **数据清理**: 定期清理过期的通知记录,控制数据量增长 - **性能优化**: 大量通知记录查询时需要考虑分页和缓存 - **监控告警**: 建立通知发送失败率的监控和告警机制 - **权限控制**: 通知记录查询需要严格的权限控制 - **数据备份**: 重要通知记录需要定期备份 - **统计分析**: 利用点击和访问数据进行用户行为分析 - **渠道管理**: 不同通知渠道的处理逻辑需要区分管理 - **消息去重**: 避免重复发送相同的通知消息