根据用户所需要的健身目标,生成的整个训练计划,训练计划中包含了很多子任务。
记录各类型子任务以及每项任务的执行情况
字段 | 类型 | 说明 |
---|---|---|
objectId | String | 唯一标识符 |
createdAt | Date | 创建时间 |
user | Pointer | 关联用户 |
goal | String | 健身目标 |
content | String | 训练计划详情 |
tasks | Array> | 关联的子任务 |
字段 | 类型 | 说明 |
---|---|---|
objectId | String | 唯一标识符 |
createdAt | Date | 创建时间 |
plan | Pointer | 关联训练计划 |
type | String | 任务类型(一次性任务/周期性任务) |
name | String | 任务名称 |
status | String | 任务状态(未完成/已完成) |
count | Number | 执行次数 |
duration | Number | 持续时间 |
frequency | String | 周期性任务的频率(每日/每周/每月,可选) |
字段 | 类型 | 说明 |
---|---|---|
objectId | String | 唯一标识符 |
createdAt | Date | 创建时间 |
task | Pointer | 关联任务 |
execDate | Date | 执行日期 |
status | String | 执行状态(完成/未完成) |
字段 | 类型 | 说明 |
---|---|---|
objectId | String | 唯一标识符 |
createdAt | Date | 创建时间 |
username | String | 用户名 |
String | 用户邮箱 | |
password | String | 用户密码 |
以下是使用PlantUML表示的类图:
@startuml
class User {
+objectId: String
+createdAt: Date
+username: String
+email: String
+password: String
}
class TrainingPlan {
+objectId: String
+createdAt: Date
+goal: String
+content: String
}
class Task {
+objectId: String
+createdAt: Date
+type: String
+name: String
+status: String
+count: Number
+duration: Number
+frequency: String
}
class TaskExecution {
+objectId: String
+createdAt: Date
+execDate: Date
+status: String
}
User "1" -- "0..*" TrainingPlan : owns
TrainingPlan "1" -- "0..*" Task : contains
Task "1" -- "0..*" TaskExecution : executes
@enduml
##打卡签到模块 ###模块描述 用户表是_User表 用户每日登录后,可以打卡签到,记录用户的签到时间,和日期,且每日只能打卡签到一次。
user
字段使用 Pointer<User>
来表示与用户表的关联。user
和 signInDate
的组合应当是唯一的。createdAt
字段用于记录每条记录的创建时间,以便于后续的数据追踪。@startuml
class User {
+objectId: String
+username: String
+email: String
+createdAt: Date
+updatedAt: Date
}
class SignInRecord {
+objectId: String
+user: Pointer
+signInDate: Date
+createdAt: Date
}
User "1" -- "0..*" SignInRecord : has
@enduml
用户在APP内,通过文本生成整个训练计划。
goal
:计划需求标题。content
:完整计划内容。content
。[
{
"objectId": "task_001",
"createdAt": "2024-12-01T10:00:00Z",
"plan": "TrainingPlan_001",
"type": "一次性任务",
"name": "30分钟有氧运动",
"status": "未完成",
"count": 1,
"duration": 30,
"frequency": null
},
{
"objectId": "task_002",
"createdAt": "2024-12-01T10:00:00Z",
"plan": "TrainingPlan_001",
"type": "周期性任务",
"name": "每周力量训练",
"status": "已完成",
"count": 4,
"duration": 60,
"frequency": "weekly"
},
{
"objectId": "task_003",
"createdAt": "2024-12-01T10:00:00Z",
"plan": "TrainingPlan_001",
"type": "周期性任务",
"name": "每日步行1万步",
"status": "未完成",
"count": 8,
"duration": 60,
"frequency": "daily"
},
{
"objectId": "task_004",
"createdAt": "2024-12-01T10:00:00Z",
"plan": "TrainingPlan_001",
"type": "周期性任务",
"name": "每月体重测量",
"status": "已完成",
"count": 1,
"duration": 10,
"frequency": "monthly"
},
{
"objectId": "task_005",
"createdAt": "2024-12-01T10:00:00Z",
"plan": "TrainingPlan_001",
"type": "一次性任务",
"name": "参加健身课程",
"status": "未完成",
"count": 1,
"duration": 45,
"frequency": null
}
]
提示词:{业务逻辑},您是一名专业的产品经理,请您将上述逻辑的每个过程,用 PlantUML 的时序图表示出来。
下面是根据您提供的业务逻辑描述所生成的 PlantUML 时序图。这个时序图展示了训练计划的生成、执行和完成统计分析的各个过程:
@startuml
actor User
entity APP
entity TrainingPlan
entity Task
entity TaskExecution
User -> APP: 输入健身需求和体征信息
APP -> TrainingPlan: 生成训练计划
APP -> Task: 根据计划生成任务
User -> APP: 查看任务和子任务
User -> APP: 提交任务执行情况
APP -> TaskExecution: 记录执行情况
APP -> Task: 判断任务是否完成
APP -> User: 展示任务完成情况
@enduml