2.9 KiB
2.9 KiB
Gym Manage 领域术语表
本文档定义项目中的领域术语(Ubiquitous Language)。不含实现细节。
核心实体
Coach(教练)
系统用户(SysUser)被分配"教练"角色(role_key='coach')后的角色化概念。教练不是独立实体,而是用户的角色视图。
GroupCourse(团课)
由教练授课、会员预约参加的团体课程。关键状态:正常(0)、已取消(1)、已结束(2)、进行中(3)、教练缺席(5)、自动结束(6)、教练迟到(7)。
GroupCourseBooking(团课预约)
会员对团课的预约记录。关键状态:已预约(0)、已取消(1)、已出席(2)、缺席(3)、教练缺席(4)、迟到(5)。
CoachViolation(教练违规)
教练在教学过程中的违规行为记录。类型:COACH_LATE(迟到)、COACH_ABSENT(缺席)、NOT_MANUAL_END(未手动结课)。
统计领域术语
CoachStatistics(教练违规统计)
全局汇总维度的教练违规数据。包含:教练总数、违规总数、迟到/缺席/未手动结课次数、违规教练数、开课总数。这是现有功能。
CoachPerformance(教练业绩)
新增领域术语。指单个教练在指定时间段内的正向业绩指标集合,用于教练绩效考核和横向对比。
教练业绩指标
| 指标 | 英文 | 定义 |
|---|---|---|
| 授课量 | Completed Courses | 统计周期内教练完成的团课节数。仅计入 status=2(已结束)或 status=6(自动结束)的课程 |
| 出席人次 | Attended Students | 统计周期内参加该教练课程的学员总人次。即该教练所有课程下 booking.status='2'(已出席)的预约记录数 |
| 出勤率 | Attendance Rate | 出席人次 / 非取消预约总数 × 100% |
| 满员率 | Fill Rate | 各课程(出席人数 / 最大容量)的平均值。基于实际出席人数计算 |
| 违规次数 | Violation Count | 统计周期内该教练的违规记录总数(来自 coach_violation 表) |
| 综合评分 | Composite Score | 授课量(归一化)×40% + 出勤率×30% + 满员率×30%,满分100 |
综合评分归一化规则
授课量归一化:将每个教练的授课量映射到 0-100 区间。计算公式 = (该教练授课量 / 所有教练中最大授课量) × 100。授课量为 0 时评分也为 0。
排行榜(Coach Ranking)
所有教练按综合评分从高到低排列的列表。支持管理员查看全局排名和点击单个教练查看明细。
个人业绩视图(Personal Performance View)
教练本人查看自己的业绩数据,不含与其他教练的对比。显示授课量、出席人次、出勤率、满员率、违规次数、综合评分。
时间周期(Period)
- DAY:今日
- WEEK:本周(周一~周日)
- MONTH:本月
- LAST_30_DAYS:近30天
- LAST_90_DAYS:近90天
- YEAR:今年
- CUSTOM:自定义日期范围