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.0 KiB
6.0 KiB
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字段确定通知发送的具体渠道
索引建议
-- 主键索引(自动创建)
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字段可能包含敏感参数,需要加密存储
- 数据清理: 定期清理过期的通知记录,控制数据量增长
- 性能优化: 大量通知记录查询时需要考虑分页和缓存
- 监控告警: 建立通知发送失败率的监控和告警机制
- 权限控制: 通知记录查询需要严格的权限控制
- 数据备份: 重要通知记录需要定期备份
- 统计分析: 利用点击和访问数据进行用户行为分析
- 渠道管理: 不同通知渠道的处理逻辑需要区分管理
- 消息去重: 避免重复发送相同的通知消息