# school_member_sign 表文档 ## 表概述 **表名**: school_member_sign **功能**: 会员签到记录表,负责管理教务系统中的会员签到功能,包括签到记录、签到统计、连续签到、签到奖励等会员活跃度管理功能 ## 字段说明 ``` Field Type Collation Null Key Default Extra Privileges Comment sign_id int unsigned NULL NO PRI NULL auto_increment select,insert,update,references member_id int NULL NO 0 select,insert,update,references 会员id days int NULL NO 0 select,insert,update,references 连续签到天数 day_award varchar(255) utf8mb4_general_ci NO select,insert,update,references 日签奖励 continue_award varchar(255) utf8mb4_general_ci NO select,insert,update,references 连签奖励 continue_tag varchar(30) utf8mb4_general_ci NO select,insert,update,references 连签奖励标识 create_time int NULL NO 0 select,insert,update,references 签到时间 start_time int NULL NO 0 select,insert,update,references 签到周期开始时间 is_sign tinyint(1) NULL NO 0 select,insert,update,references 是否签到(0未签到 1已签到) ``` ## 功能用途 ### 主要功能 - **签到记录**: 记录会员每日签到情况和时间 - **签到统计**: 统计会员的签到次数和频率 - **连续签到**: 计算和记录会员连续签到天数 - **签到奖励**: 根据签到情况发放积分或奖励 - **签到提醒**: 提醒会员进行每日签到 - **签到历史**: 查看会员的历史签到记录 - **签到排行**: 展示签到排行榜和活跃度排名 - **补签功能**: 支持会员补签漏签的日期 - **签到验证**: 验证签到的有效性和防作弊 - **签到分析**: 分析会员签到行为和活跃度 ### 业务场景 - **会员活跃**: 通过签到提升会员活跃度和粘性 - **积分获取**: 会员通过签到获得积分奖励 - **习惯养成**: 培养会员定期访问的习惯 - **数据分析**: 分析会员活跃度和使用频率 - **营销活动**: 基于签到数据开展营销活动 - **会员等级**: 签到作为会员等级提升的条件 - **课程提醒**: 结合签到提醒会员上课 - **社区建设**: 通过签到增强社区氛围 - **用户留存**: 提高用户留存率和回访率 ## 关联关系 ### 主要关联表 - `school_member`: 会员信息表 (签到用户) - `school_member_account_log`: 会员账户日志表 (签到奖励) - `school_member_sign_config`: 签到配置表 (签到规则) - `school_course`: 课程表 (课程签到) - `school_class`: 班级表 (班级签到) - `school_activity`: 活动表 (活动签到) - `school_message`: 消息表 (签到提醒) - `sys_log`: 系统日志表 (签到日志) ### 关联说明 - **会员关联**: 记录具体会员的签到行为和数据 - **账户关联**: 签到奖励通过账户日志记录积分变化 - **配置关联**: 根据签到配置执行签到规则和奖励 - **课程关联**: 课程相关的签到记录和统计 - **班级关联**: 班级成员的签到情况统计 - **活动关联**: 活动期间的特殊签到要求 - **消息关联**: 发送签到提醒和奖励通知 - **日志关联**: 记录签到操作的详细日志 - **业务关联**: 与各种业务场景的签到需求关联 ## 索引建议 - **主键索引**: sign_id (已存在) - **业务索引**: - member_id (会员查询) - sign_date (签到日期查询) - create_time (创建时间查询) - continuous_days (连续天数查询) - **复合索引**: - (member_id, sign_date) (会员签到记录查询) - (member_id, create_time) (会员签到历史) - (sign_date, create_time) (日期时间查询) - **唯一索引**: - (member_id, sign_date) (防止重复签到) ## 注意事项 - **重复签到防护**: 同一会员同一天只能签到一次 - **时间有效性**: 签到时间需要在有效的时间范围内 - **连续天数计算**: 连续签到天数的计算逻辑要准确 - **时区处理**: 跨时区用户的签到时间处理 - **补签限制**: 补签功能需要设置合理的时间限制 - **奖励发放**: 签到奖励的发放需要保证准确性 - **数据一致性**: 签到记录与奖励记录保持一致 - **性能优化**: 大量签到数据的查询性能优化 - **防作弊机制**: 防止恶意刷签到的安全措施 - **数据清理**: 定期清理过期的签到数据 - **统计准确性**: 签到统计数据的准确性验证 - **异常处理**: 处理签到过程中的各种异常情况 - **缓存策略**: 签到状态和统计数据的缓存 - **并发控制**: 高并发签到时的数据一致性 - **历史数据**: 长期签到历史数据的存储策略 - **备份恢复**: 重要签到数据的备份和恢复 - **监控告警**: 签到异常情况的监控和告警