Files
gym-manage/gym-manage-api/CONTEXT.md
T

59 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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:自定义日期范围