|
@@ -5,7 +5,7 @@
|
|
|
|
|
|
|
|
---
|
|
---
|
|
|
|
|
|
|
|
-## 一、需求清单总览
|
|
|
|
|
|
|
+## 一、需求清单概览
|
|
|
|
|
|
|
|
| 需求ID | 描述 | 优先级 | 状态 |
|
|
| 需求ID | 描述 | 优先级 | 状态 |
|
|
|
|--------|------|--------|------|
|
|
|--------|------|--------|------|
|
|
@@ -33,7 +33,7 @@
|
|
|
|
|
|
|
|
---
|
|
---
|
|
|
|
|
|
|
|
-## 二、需求详细说明
|
|
|
|
|
|
|
+## 二、需求详细描述
|
|
|
|
|
|
|
|
### 2.1 任务创建(TASK-001~005)
|
|
### 2.1 任务创建(TASK-001~005)
|
|
|
|
|
|
|
@@ -70,15 +70,15 @@
|
|
|
|
|
|
|
|
---
|
|
---
|
|
|
|
|
|
|
|
-### 2.2 任务模板和审核(TASK-006~007)
|
|
|
|
|
|
|
+### 2.2 任务模板与审核(TASK-006~007)
|
|
|
|
|
|
|
|
#### TASK-006: 任务模板功能
|
|
#### TASK-006: 任务模板功能
|
|
|
-- **描述**: 使用任务模板快速创建
|
|
|
|
|
|
|
+- **描述**: 通过任务模板快速创建
|
|
|
- **状态**: ⚠️ 部分实现
|
|
- **状态**: ⚠️ 部分实现
|
|
|
- **待完善**: 模板库管理、模板选择UI
|
|
- **待完善**: 模板库管理、模板选择UI
|
|
|
|
|
|
|
|
#### TASK-007: 设置审核方式
|
|
#### TASK-007: 设置审核方式
|
|
|
-- **描述**: 选择审核人类型
|
|
|
|
|
|
|
+- **描述**: 设置审核人类型
|
|
|
- **字段**: `reviewType` (String)
|
|
- **字段**: `reviewType` (String)
|
|
|
- **可选值**:
|
|
- **可选值**:
|
|
|
- `creator` - 创建者审核
|
|
- `creator` - 创建者审核
|
|
@@ -88,12 +88,12 @@
|
|
|
|
|
|
|
|
---
|
|
---
|
|
|
|
|
|
|
|
-### 2.3 任务查看和完成(TASK-008~011)
|
|
|
|
|
|
|
+### 2.3 任务查看与完成(TASK-008~011)
|
|
|
|
|
|
|
|
#### TASK-008: 孩子查看今日任务
|
|
#### TASK-008: 孩子查看今日任务
|
|
|
-- **描述**: 孩子可以查看今日需要完成的任务列表
|
|
|
|
|
|
|
+- **描述**: 孩子可查看今日需完成的任务列表
|
|
|
- **实现**: `GET /api/tasks/today?childId={id}`
|
|
- **实现**: `GET /api/tasks/today?childId={id}`
|
|
|
-- **返回**: 当日所有pending/completed状态的任务
|
|
|
|
|
|
|
+- **返回**: 当日所有 pending / completed 状态的任务
|
|
|
|
|
|
|
|
#### TASK-009: 孩子完成任务
|
|
#### TASK-009: 孩子完成任务
|
|
|
- **描述**: 孩子点击完成按钮提交任务
|
|
- **描述**: 孩子点击完成按钮提交任务
|
|
@@ -129,17 +129,17 @@
|
|
|
|
|
|
|
|
---
|
|
---
|
|
|
|
|
|
|
|
-### 2.5 任务提醒和统计(TASK-013~016)
|
|
|
|
|
|
|
+### 2.5 任务提醒与统计(TASK-013~016)
|
|
|
|
|
|
|
|
#### TASK-013: 任务提醒通知
|
|
#### TASK-013: 任务提醒通知
|
|
|
-- **描述**: 任务截止前发送提醒
|
|
|
|
|
|
|
+- **描述**: 在任务截止前发送提醒
|
|
|
- **API**:
|
|
- **API**:
|
|
|
- `GET /api/tasks/reminder/{childId}` - 30分钟内到期
|
|
- `GET /api/tasks/reminder/{childId}` - 30分钟内到期
|
|
|
- `GET /api/tasks/upcoming/{childId}?minutes=60` - 自定义时间
|
|
- `GET /api/tasks/upcoming/{childId}?minutes=60` - 自定义时间
|
|
|
- `GET /api/tasks/overdue/{childId}` - 已超时任务
|
|
- `GET /api/tasks/overdue/{childId}` - 已超时任务
|
|
|
|
|
|
|
|
#### TASK-014: 任务历史记录查询
|
|
#### TASK-014: 任务历史记录查询
|
|
|
-- **描述**: 查看历史任务,支持筛选
|
|
|
|
|
|
|
+- **描述**: 查看历史任务并支持筛选
|
|
|
- **API**: `GET /api/tasks/history/filter/{childId}`
|
|
- **API**: `GET /api/tasks/history/filter/{childId}`
|
|
|
- **筛选条件**: 状态、时间范围
|
|
- **筛选条件**: 状态、时间范围
|
|
|
|
|
|
|
@@ -169,31 +169,31 @@ private Long creatorId; // 创建者ID
|
|
|
private String title; // 任务名称
|
|
private String title; // 任务名称
|
|
|
private String description; // 任务描述
|
|
private String description; // 任务描述
|
|
|
|
|
|
|
|
-// 执行者
|
|
|
|
|
|
|
+// 执行者信息
|
|
|
private String executorType; // child/parent
|
|
private String executorType; // child/parent
|
|
|
private Long executorId; // 执行者ID
|
|
private Long executorId; // 执行者ID
|
|
|
private Long childId; // 孩子ID(兼容)
|
|
private Long childId; // 孩子ID(兼容)
|
|
|
|
|
|
|
|
-// 积分和时间
|
|
|
|
|
|
|
+// 积分与时间
|
|
|
private Integer points; // 积分值
|
|
private Integer points; // 积分值
|
|
|
private Date deadline; // 截止时间
|
|
private Date deadline; // 截止时间
|
|
|
|
|
|
|
|
-// 分类和审核
|
|
|
|
|
|
|
+// 分类与审核
|
|
|
private String category; // 分类
|
|
private String category; // 分类
|
|
|
private Integer needReview; // 是否需要审核
|
|
private Integer needReview; // 是否需要审核
|
|
|
private String reviewType; // 审核人类型
|
|
private String reviewType; // 审核人类型
|
|
|
private String status; // 任务状态
|
|
private String status; // 任务状态
|
|
|
private Date completedAt; // 完成时间
|
|
private Date completedAt; // 完成时间
|
|
|
|
|
|
|
|
-// 重复设置 (TASK-004)
|
|
|
|
|
|
|
+// 重复设置(TASK-004)
|
|
|
private String repeatType; // none/daily/weekly
|
|
private String repeatType; // none/daily/weekly
|
|
|
private Long templateId; // 模板ID
|
|
private Long templateId; // 模板ID
|
|
|
private Integer isTemplate; // 是否模板
|
|
private Integer isTemplate; // 是否模板
|
|
|
|
|
|
|
|
-// POINT-002: 超额积分
|
|
|
|
|
|
|
+// POINT-002:超额积分
|
|
|
private String bonusRule; // JSON格式规则
|
|
private String bonusRule; // JSON格式规则
|
|
|
|
|
|
|
|
-// POINT-009: 积分有效期
|
|
|
|
|
|
|
+// POINT-009:积分有效期
|
|
|
private Integer pointsExpireDays; // 有效期天数
|
|
private Integer pointsExpireDays; // 有效期天数
|
|
|
|
|
|
|
|
// 扩展字段
|
|
// 扩展字段
|
|
@@ -205,7 +205,7 @@ private Date earliestStart; // 最早开始
|
|
|
private Date latestEnd; // 最晚结束
|
|
private Date latestEnd; // 最晚结束
|
|
|
```
|
|
```
|
|
|
|
|
|
|
|
-### 3.2 状态流转
|
|
|
|
|
|
|
+### 3.2 状态流转说明
|
|
|
|
|
|
|
|
```
|
|
```
|
|
|
pending → completed (孩子完成)
|
|
pending → completed (孩子完成)
|
|
@@ -214,6 +214,424 @@ completed → pending (审核拒绝)
|
|
|
pending → cancelled (创建者删除)
|
|
pending → cancelled (创建者删除)
|
|
|
```
|
|
```
|
|
|
|
|
|
|
|
|
|
+### 3.3 任务属性分组与职责边界
|
|
|
|
|
+
|
|
|
|
|
+> 说明:以下内容从业务视角定义任务对象的完整属性。前端展示时,应按角色和阶段裁剪字段;后端存储时,宜将“任务定义”和“执行记录”分开管理。
|
|
|
|
|
+
|
|
|
|
|
+#### A. 基础信息
|
|
|
|
|
+
|
|
|
|
|
+| 字段 | 含义 | 创建时 | 执行时 | 审核时 | 完成后 |
|
|
|
|
|
+|------|------|--------|--------|--------|--------|
|
|
|
|
|
+| title | 任务标题 | 必填,可编辑 | 只读 | 只读 | 只读 |
|
|
|
|
|
+| description | 任务描述 | 可选,可编辑 | 只读 | 只读 | 只读 |
|
|
|
|
|
+| category | 任务分类 | 必填,可编辑 | 只读 | 只读 | 只读 |
|
|
|
|
|
+| taskType | 任务类型(一次性/重复) | 必填,可编辑 | 只读 | 只读 | 只读 |
|
|
|
|
|
+| templateId | 模板来源 | 选择模板时自动带入 | 只读 | 只读 | 只读 |
|
|
|
|
|
+
|
|
|
|
|
+#### B. 执行对象
|
|
|
|
|
+
|
|
|
|
|
+| 字段 | 含义 | 创建时 | 执行时 | 审核时 | 完成后 |
|
|
|
|
|
+|------|------|--------|--------|--------|--------|
|
|
|
|
|
+| creatorId | 创建人 | 系统生成 | 只读 | 只读 | 只读 |
|
|
|
|
|
+| familyId | 所属家庭 | 系统生成 | 只读 | 只读 | 只读 |
|
|
|
|
|
+| executorType | 执行者类型 | 必填,可编辑 | 只读 | 只读 | 只读 |
|
|
|
|
|
+| executorId / childId | 执行者ID/孩子ID | 必填,可编辑 | 只读 | 只读 | 只读 |
|
|
|
|
|
+
|
|
|
|
|
+#### C. 规则信息
|
|
|
|
|
+
|
|
|
|
|
+| 字段 | 含义 | 创建时 | 执行时 | 审核时 | 完成后 |
|
|
|
|
|
+|------|------|--------|--------|--------|--------|
|
|
|
|
|
+| points | 奖励积分 | 必填,可编辑 | 只读 | 只读 | 只读 |
|
|
|
|
|
+| deadline | 截止时间 | 必填,可编辑 | 只读 | 只读 | 只读 |
|
|
|
|
|
+| earliestStart | 最早开始时间 | 可选,可编辑 | 只读 | 只读 | 只读 |
|
|
|
|
|
+| latestEnd | 最晚结束时间 | 可选,可编辑 | 只读 | 只读 | 只读 |
|
|
|
|
|
+| duration | 预计时长 | 可选,可编辑 | 只读 | 只读 | 只读 |
|
|
|
|
|
+| completeTypes | 完成方式 | 必填,可编辑 | 只读 | 只读 | 只读 |
|
|
|
|
|
+| needReview | 是否需要审核 | 必填,可编辑 | 只读 | 只读 | 只读 |
|
|
|
|
|
+| reviewType | 审核方式 | 需要审核时可选 | 只读 | 只读 | 只读 |
|
|
|
|
|
+| repeatType | 重复规则 | 选择重复任务时可选 | 只读 | 只读 | 只读 |
|
|
|
|
|
+| bonusRule | 超额积分规则 | 可选,可编辑 | 只读 | 只读 | 只读 |
|
|
|
|
|
+| pointsExpireDays | 积分有效期 | 可选,可编辑 | 只读 | 只读 | 只读 |
|
|
|
|
|
+
|
|
|
|
|
+#### D. 执行与提交信息
|
|
|
|
|
+
|
|
|
|
|
+| 字段 | 含义 | 创建时 | 执行时 | 审核时 | 完成后 |
|
|
|
|
|
+|------|------|--------|--------|--------|--------|
|
|
|
|
|
+| status | 当前状态 | 系统初始化 | 可随流程变化 | 可随流程变化 | 归档只读 |
|
|
|
|
|
+| completedAt | 完成时间 | 为空 | 记录提交或完成时间 | 可查看 | 只读 |
|
|
|
|
|
+| completedBy | 实际完成人 | 为空 | 孩子提交时生成 | 可查看 | 只读 |
|
|
|
|
|
+| completeContent | 完成说明/文本 | 为空 | 孩子填写 | 可查看 | 只读 |
|
|
|
|
|
+| completeMedia | 完成附件(图/音/视频) | 为空 | 孩子上传 | 可查看 | 只读 |
|
|
|
|
|
+| overtimeFlag | 超时标记 | 系统计算 | 可刷新 | 可查看 | 只读 |
|
|
|
|
|
+
|
|
|
|
|
+#### E. 审核信息
|
|
|
|
|
+
|
|
|
|
|
+| 字段 | 含义 | 创建时 | 执行时 | 审核时 | 完成后 |
|
|
|
|
|
+|------|------|--------|--------|--------|--------|
|
|
|
|
|
+| reviewerId | 审核人ID | 为空 | 只读 | 家长/指导师填写 | 只读 |
|
|
|
|
|
+| reviewTime | 审核时间 | 为空 | 只读 | 审核通过时生成 | 只读 |
|
|
|
|
|
+| reviewResult | 审核结果 | 为空 | 只读 | 通过/驳回/退回补充 | 只读 |
|
|
|
|
|
+| reviewComment | 审核意见 | 为空 | 只读 | 可填写 | 只读 |
|
|
|
|
|
+
|
|
|
|
|
+#### F. 系统信息
|
|
|
|
|
+
|
|
|
|
|
+| 字段 | 含义 | 创建时 | 执行时 | 审核时 | 完成后 |
|
|
|
|
|
+|------|------|--------|--------|--------|--------|
|
|
|
|
|
+| id | 任务ID | 系统生成 | 只读 | 只读 | 只读 |
|
|
|
|
|
+| createdAt | 创建时间 | 系统生成 | 只读 | 只读 | 只读 |
|
|
|
|
|
+| updatedAt | 更新时间 | 系统生成 | 系统更新 | 系统更新 | 只读 |
|
|
|
|
|
+| isTemplate | 是否模板任务 | 可选 | 只读 | 只读 | 只读 |
|
|
|
|
|
+| templateId | 模板关联 | 可选 | 只读 | 只读 | 只读 |
|
|
|
|
|
+
|
|
|
|
|
+### 3.4 阶段展示、角色与字段变更规则
|
|
|
|
|
+
|
|
|
|
|
+#### 3.4.1 创建阶段
|
|
|
|
|
+
|
|
|
|
|
+- **可见角色**: 家长、管理员、指导师
|
|
|
|
|
+- **可编辑角色**: 任务创建人
|
|
|
|
|
+- **主要内容**: 标题、描述、分类、执行对象、积分、截止时间、时长、完成方式、是否审核、审核方式、重复规则、提醒规则、模板来源
|
|
|
|
|
+- **字段规则**:
|
|
|
|
|
+ - 发布前允许修改全部业务字段
|
|
|
|
|
+ - 发布后建议锁定积分、截止时间、执行对象、审核方式、重复规则,避免任务含义被改变
|
|
|
|
|
+
|
|
|
|
|
+#### 3.4.2 执行阶段
|
|
|
|
|
+
|
|
|
|
|
+- **可见角色**: 孩子、家长、指导师(按家庭权限)
|
|
|
|
|
+- **可编辑角色**: 孩子仅可填写提交内容;家长不可直接修改孩子的提交结果
|
|
|
|
|
+- **主要内容**: 任务标题、任务说明、剩余时间、奖励积分、完成要求、附件上传入口、提醒信息
|
|
|
|
|
+- **字段规则**:
|
|
|
|
|
+ - 任务定义字段只读
|
|
|
|
|
+ - 孩子可更新提交内容、补充说明、附件
|
|
|
|
|
+ - 系统记录实际开始时间、提交时间、超时标记
|
|
|
|
|
+
|
|
|
|
|
+#### 3.4.3 提交阶段
|
|
|
|
|
+
|
|
|
|
|
+- **可见角色**: 孩子、家长
|
|
|
|
|
+- **可编辑角色**: 孩子
|
|
|
|
|
+- **主要内容**: 提交说明、图片/视频/录音/文字、计时结果、是否完成
|
|
|
|
|
+- **字段规则**:
|
|
|
|
|
+ - 允许在审核前补充材料的,提交内容可再次编辑
|
|
|
|
|
+ - 审核提交后,提交内容进入只读,避免争议
|
|
|
|
|
+
|
|
|
|
|
+#### 3.4.4 审核阶段
|
|
|
|
|
+
|
|
|
|
|
+- **可见角色**: 家长、指导师
|
|
|
|
|
+- **可编辑角色**: 审核人
|
|
|
|
|
+- **主要内容**: 孩子的提交内容、完成时间、是否超时、历史修改记录、审核意见
|
|
|
|
|
+- **字段规则**:
|
|
|
|
|
+ - 审核人可填写审核结果与意见
|
|
|
|
|
+ - 审核通过后,任务结果和积分流水应固定,不再覆盖原记录
|
|
|
|
|
+ - 审核驳回时,应保留原提交内容和驳回原因
|
|
|
|
|
+
|
|
|
|
|
+#### 3.4.5 完成阶段
|
|
|
|
|
+
|
|
|
|
|
+- **可见角色**: 全部相关角色
|
|
|
|
|
+- **可编辑角色**: 原则上无;仅保留申诉或补审入口
|
|
|
|
|
+- **主要内容**: 最终状态、实际完成时间、获得积分、审核结果、审核意见、附件证据、历史记录
|
|
|
|
|
+- **字段规则**:
|
|
|
|
|
+ - 任务主体只读
|
|
|
|
|
+ - 若发生积分回滚或补审,必须保留操作流水
|
|
|
|
|
+
|
|
|
|
|
+### 3.5 推荐的状态流转说明
|
|
|
|
|
+
|
|
|
|
|
+为便于前端和接口统一理解,建议将业务流程描述为:
|
|
|
|
|
+
|
|
|
|
|
+```
|
|
|
|
|
+草稿 → 待执行 → 执行中 → 待提交 → 待审核 → 已完成
|
|
|
|
|
+ ↘ 已驳回 / 已过期 / 已取消
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+- **草稿**: 仅创建人可见,未发布
|
|
|
|
|
+- **待执行**: 任务已发布,等待孩子开始
|
|
|
|
|
+- **执行中**: 孩子已开始执行或已领取任务
|
|
|
|
|
+- **待提交**: 已完成动作,等待提交结果
|
|
|
|
|
+- **待审核**: 已提交,等待家长/指导师确认
|
|
|
|
|
+- **已完成**: 审核通过或自动通过
|
|
|
|
|
+- **已驳回**: 审核不通过,等待补充或重做
|
|
|
|
|
+- **已过期**: 超过截止时间仍未完成
|
|
|
|
|
+- **已取消**: 创建人主动撤销
|
|
|
|
|
+
|
|
|
|
|
+### 3.6 Web端与小程序端字段展示矩阵
|
|
|
|
|
+
|
|
|
|
|
+> 说明:Web端以管理与配置为主,小程序端以查看与执行为主。下表用于统一页面展示边界,避免前后端对同一字段理解不一致。
|
|
|
|
|
+
|
|
|
|
|
+#### 3.6.1 任务主对象字段
|
|
|
|
|
+
|
|
|
|
|
+| 字段 | Web端任务列表 `Tasks.vue` | Web端模板页 `TaskTemplates.vue` | 小程序任务列表 `tasks.vue` | 小程序创建页 `create-task.vue` | 创建后可改 |
|
|
|
|
|
+|------|---------------------------|----------------------------------|-----------------------------|----------------------------------|-----------|
|
|
|
|
|
+| title | 显示 | 显示 | 显示 | 填写 | 否(发布后锁定) |
|
|
|
|
|
+| description | 不显示 | 编辑/显示 | 显示 | 填写 | 仅允许补充说明 |
|
|
|
|
|
+| category | 显示 | 显示/筛选 | 显示 | 填写 | 否 |
|
|
|
|
|
+| points | 显示 | 显示/编辑 | 显示 | 填写 | 不建议改 |
|
|
|
|
|
+| deadline | 显示 | 不直接展示 | 显示 | 填写 | 否 |
|
|
|
|
|
+| status | 显示 | 不展示 | 显示(完成/未完成) | 不展示 | 系统变更 |
|
|
|
|
|
+| needReview | 显示 | 显示/编辑 | 创建页可设 | 创建页可设 | 否 |
|
|
|
|
|
+| childId / childIds | 显示(childId) | 不展示 | 创建页选择孩子 | 创建页选择孩子 | 否 |
|
|
|
|
|
+| repeatType | 不展示 | 编辑 | 不展示 | 创建页可设 | 否 |
|
|
|
|
|
+| completeTypes | 不展示 | 编辑 | 创建页可设 | 创建页可设 | 否 |
|
|
|
|
|
+| duration | 不展示 | 显示/编辑 | 创建页可设 | 创建页可设 | 仅补充说明类变更 |
|
|
|
|
|
+| createdAt | 显示 | 显示 | 不展示 | 不展示 | 系统字段 |
|
|
|
|
|
+| templateId | 不展示 | 不直接展示 | 模板选择后自动带入 | 模板选择后自动带入 | 系统字段 |
|
|
|
|
|
+
|
|
|
|
|
+#### 3.6.2 Web端任务管理页显示重点
|
|
|
|
|
+
|
|
|
|
|
+- **任务列表页**: `id`、`title`、`points`、`category`、`deadline`、`status`、`needReview`、`childId`、`createdAt`
|
|
|
|
|
+- **筛选条件**: 任务标题、状态、家庭
|
|
|
|
|
+- **统计信息**: 总任务数、今日任务数
|
|
|
|
|
+- **适用场景**: 后台查看、检索、按家庭定位任务
|
|
|
|
|
+
|
|
|
|
|
+#### 3.6.3 Web端任务模板页显示重点
|
|
|
|
|
+
|
|
|
|
|
+- **列表字段**: 模板名称、分类、积分、难度、推荐年龄、时长、任务性质、是否需要审核、启用状态、创建时间
|
|
|
|
|
+- **编辑字段**: 标题、描述、分类、积分、难度、推荐年龄、预计时长、完成方式、任务性质、频率、周期次数、是否审核、审核方式、按分类审核
|
|
|
|
|
+- **适用场景**: 统一模板配置,供任务创建复用
|
|
|
|
|
+
|
|
|
|
|
+#### 3.6.4 小程序任务列表页显示重点
|
|
|
|
|
+
|
|
|
|
|
+- **孩子视图**: 任务标题、积分、截止时间、完成按钮、已完成标识
|
|
|
|
|
+- **家长视图**: 今日任务列表、添加任务入口、家长任务列表
|
|
|
|
|
+- **适用场景**: 任务执行、快速完成、家庭日常管理
|
|
|
|
|
+
|
|
|
|
|
+#### 3.6.5 小程序创建页显示重点
|
|
|
|
|
+
|
|
|
|
|
+- **基础字段**: 任务名称、任务描述、选择孩子、积分、分类、截止时间、重复设置、是否需要审核
|
|
|
|
|
+- **扩展字段**: 当任务模板可用时,可自动带入标题、描述、分类、积分、完成方式、审核设置等
|
|
|
|
|
+- **适用场景**: 快速创建单次或重复任务
|
|
|
|
|
+
|
|
|
|
|
+#### 3.6.6 字段展示规则建议
|
|
|
|
|
+
|
|
|
|
|
+- **管理端可见更多配置项**,如模板、难度、审核细则、启用开关
|
|
|
|
|
+- **小程序端优先展示执行所需信息**,避免把模板配置、规则细节全部暴露给孩子
|
|
|
|
|
+- **创建后高敏感业务字段尽量只读**,包括积分、截止时间、审核方式、重复规则和执行对象
|
|
|
|
|
+
|
|
|
|
|
+### 3.7 关键字段生命周期矩阵
|
|
|
|
|
+
|
|
|
|
|
+> 说明:本节描述字段在各阶段的写入主体、锁定时机和只读边界。其粒度高于 3.6,适合用于约束前端表单和后端接口。
|
|
|
|
|
+
|
|
|
|
|
+| 字段 | 创建阶段 | 执行阶段 | 提交阶段 | 审核阶段 | 完成阶段 |
|
|
|
|
|
+|------|----------|----------|----------|----------|----------|
|
|
|
|
|
+| title | 创建人填写 | 只读 | 只读 | 只读 | 只读 |
|
|
|
|
|
+| description | 创建人填写 | 只读 | 只读 | 只读 | 只读 |
|
|
|
|
|
+| category | 创建人填写 | 只读 | 只读 | 只读 | 只读 |
|
|
|
|
|
+| points | 创建人填写 | 只读 | 只读 | 只读 | 只读 |
|
|
|
|
|
+| deadline | 创建人填写 | 只读 | 只读 | 只读 | 只读 |
|
|
|
|
|
+| childId / childIds | 创建人选择 | 只读 | 只读 | 只读 | 只读 |
|
|
|
|
|
+| repeatType | 创建人选择 | 只读 | 只读 | 只读 | 只读 |
|
|
|
|
|
+| completeTypes | 创建人选择 | 只读 | 只读 | 只读 | 只读 |
|
|
|
|
|
+| needReview | 创建人选择 | 只读 | 只读 | 只读 | 只读 |
|
|
|
|
|
+| reviewType | 创建人选择 | 只读 | 只读 | 只读 | 只读 |
|
|
|
|
|
+| duration | 创建人填写 | 只读 | 只读 | 只读 | 只读 |
|
|
|
|
|
+| earliestStart | 创建人填写 | 只读 | 只读 | 只读 | 只读 |
|
|
|
|
|
+| latestEnd | 创建人填写 | 只读 | 只读 | 只读 | 只读 |
|
|
|
|
|
+| status | 系统初始化 | 系统更新 | 系统更新 | 系统更新 | 归档只读 |
|
|
|
|
|
+| completedAt | 为空 | 执行开始时可为空 | 孩子提交时写入 | 审核时可查看 | 只读 |
|
|
|
|
|
+| completedBy | 为空 | 为空 | 孩子提交时写入 | 审核时可查看 | 只读 |
|
|
|
|
|
+| completeContent | 为空 | 孩子可填写 | 孩子可补充 | 审核人可查看 | 只读 |
|
|
|
|
|
+| completeMedia | 为空 | 孩子可上传 | 孩子可补充 | 审核人可查看 | 只读 |
|
|
|
|
|
+| overtimeFlag | 系统计算 | 系统更新 | 系统更新 | 审核时可查看 | 只读 |
|
|
|
|
|
+| reviewerId | 为空 | 只读 | 只读 | 审核人写入 | 只读 |
|
|
|
|
|
+| reviewTime | 为空 | 只读 | 只读 | 审核通过或驳回时写入 | 只读 |
|
|
|
|
|
+| reviewResult | 为空 | 只读 | 只读 | 审核人写入 | 只读 |
|
|
|
|
|
+| reviewComment | 为空 | 只读 | 只读 | 审核人写入 | 只读 |
|
|
|
|
|
+
|
|
|
|
|
+#### 3.7.1 生命周期规则
|
|
|
|
|
+
|
|
|
|
|
+- **创建阶段**: 任务定义字段应一次性写入,默认仅允许在发布前修改。
|
|
|
|
|
+- **执行阶段**: 任务定义应冻结,孩子仅执行任务,不得修改任务规则本身。
|
|
|
|
|
+- **提交阶段**: 仅允许写入完成内容、附件和提交时间,不得覆盖任务定义。
|
|
|
|
|
+- **审核阶段**: 仅允许写入审核人、审核结果和审核意见,提交内容应保留原始记录。
|
|
|
|
|
+- **完成阶段**: 任务主体和审核记录均应只读,仅保留申诉、补审或积分回滚入口。
|
|
|
|
|
+
|
|
|
|
|
+#### 3.7.2 推荐的写入边界
|
|
|
|
|
+
|
|
|
|
|
+- **任务定义类字段**:title、description、category、points、deadline、childId / childIds、repeatType、completeTypes、needReview、reviewType、duration、earliestStart、latestEnd。
|
|
|
|
|
+- **执行结果类字段**:status、completedAt、completedBy、completeContent、completeMedia、overtimeFlag。
|
|
|
|
|
+- **审核结果类字段**:reviewerId、reviewTime、reviewResult、reviewComment。
|
|
|
|
|
+- **系统字段**:id、createdAt、updatedAt、templateId、isTemplate。
|
|
|
|
|
+
|
|
|
|
|
+### 3.8 字段总览汇总表
|
|
|
|
|
+
|
|
|
|
|
+> 说明:本表适合用于评审、排期和页面对齐。它将“字段、含义、责任归属、端侧展示、可改阶段”合并呈现。
|
|
|
|
|
+
|
|
|
|
|
+| 字段 | 含义 | 责任归属 | Web端 | 小程序端 | 创建后是否可改 | 归属阶段 |
|
|
|
|
|
+|------|------|----------|------|---------|---------------|---------|
|
|
|
|
|
+| title | 任务名称 | 家长/创建人 | 列表显示 / 模板编辑 | 列表显示 / 创建页填写 | 否 | 创建 |
|
|
|
|
|
+| description | 任务描述 | 家长/创建人,孩子可补充 | 模板编辑 | 任务详情/创建页填写 | 仅补充说明 | 创建 / 提交 |
|
|
|
|
|
+| category | 任务分类 | 家长/创建人 | 列表显示 / 模板编辑 | 列表显示 / 创建页填写 | 否 | 创建 |
|
|
|
|
|
+| points | 奖励积分 | 家长/创建人 | 列表显示 / 模板编辑 | 列表显示 / 创建页填写 | 不建议改 | 创建 |
|
|
|
|
|
+| deadline | 截止时间 | 家长/创建人 | 列表显示 | 创建页填写 | 否 | 创建 |
|
|
|
|
|
+| childId / childIds | 执行孩子 | 家长/创建人 | 列表显示 childId | 创建页选择孩子 | 否 | 创建 |
|
|
|
|
|
+| repeatType | 重复规则 | 家长/创建人 | 模板编辑 | 创建页可设 | 否 | 创建 |
|
|
|
|
|
+| completeTypes | 完成方式 | 家长/创建人 | 模板编辑 | 创建页可设 | 否 | 创建 |
|
|
|
|
|
+| needReview | 是否审核 | 家长/创建人 | 列表显示 / 模板编辑 | 创建页可设 | 否 | 创建 |
|
|
|
|
|
+| reviewType | 审核方式 | 家长/创建人 | 模板编辑 | 创建页可设 | 否 | 创建 |
|
|
|
|
|
+| duration | 预计时长 | 家长/创建人 | 模板显示 / 编辑 | 创建页可设 | 仅补充说明类调整 | 创建 |
|
|
|
|
|
+| status | 当前状态 | 系统 | 列表显示 | 任务列表显示 | 系统变更 | 执行 / 审核 |
|
|
|
|
|
+| completedAt | 完成时间 | 系统 | 历史/详情 | 完成结果展示 | 否 | 提交 / 审核 |
|
|
|
|
|
+| completedBy | 完成人 | 孩子提交 | 历史/详情 | 完成结果展示 | 否 | 提交 |
|
|
|
|
|
+| completeContent | 完成说明 | 孩子提交,家长审核 | 详情/审核页 | 提交页填写 | 可在审核前补充 | 提交 |
|
|
|
|
|
+| completeMedia | 完成附件 | 孩子提交,家长审核 | 详情/审核页 | 提交页上传 | 可在审核前补充 | 提交 |
|
|
|
|
|
+| overtimeFlag | 超时标记 | 系统 | 列表/详情 | 列表/结果提示 | 系统变更 | 执行 / 提交 |
|
|
|
|
|
+| reviewerId | 审核人 | 审核人 | 审核页 | 不直接展示 | 否 | 审核 |
|
|
|
|
|
+| reviewTime | 审核时间 | 系统记录 | 审核页 | 结果展示 | 否 | 审核 |
|
|
|
|
|
+| reviewResult | 审核结果 | 审核人 | 审核页 | 结果展示 | 否 | 审核 |
|
|
|
|
|
+| reviewComment | 审核意见 | 审核人 | 审核页 | 结果展示 | 否 | 审核 |
|
|
|
|
|
+| templateId | 模板来源 | 系统 | 模板页关联 | 模板自动带入 | 否 | 创建 |
|
|
|
|
|
+| isTemplate | 模板标记 | 系统 | 模板页状态 | 不直接展示 | 否 | 创建 |
|
|
|
|
|
+| createdAt | 创建时间 | 系统 | 列表显示 | 不展示 | 否 | 系统 |
|
|
|
|
|
+| updatedAt | 更新时间 | 系统 | 列表/详情 | 不展示 | 否 | 系统 |
|
|
|
|
|
+| id | 任务ID | 系统 | 列表显示 | 不展示 | 否 | 系统 |
|
|
|
|
|
+
|
|
|
|
|
+#### 3.8.1 责任边界补充说明
|
|
|
|
|
+
|
|
|
|
|
+- **家长/创建人负责**: 任务定义字段的填写与首次发布,包括标题、描述、分类、积分、截止时间、执行孩子、重复规则、完成方式、审核方式和时长。
|
|
|
|
|
+- **孩子负责**: 提交执行结果,包括完成说明、附件和实际完成状态。
|
|
|
|
|
+- **审核人负责**: 输出审核结果、审核意见以及是否通过的最终判断。
|
|
|
|
|
+- **系统负责**: 状态流转、时间戳、超时标记、模板关联、创建时间和更新时间。
|
|
|
|
|
+
|
|
|
|
|
+### 3.9 阶段 × 角色 × 动作矩阵
|
|
|
|
|
+
|
|
|
|
|
+> 说明:本表用于统一“谁在什么阶段做什么”,避免文档仅描述字段而忽略流程责任。
|
|
|
|
|
+
|
|
|
|
|
+| 阶段 | 家长/创建人 | 孩子 | 审核人 | 系统 |
|
|
|
|
|
+|------|------------|------|--------|------|
|
|
|
|
|
+| 创建阶段 | 创建任务、选择孩子、设置积分/截止时间/完成方式/审核方式/重复规则、选择模板、发布任务 | 一般不参与;如有任务建议,仅提交申请不直接生效 | 可作为模板审核人或指定审核人,但不直接参与任务创建 | 校验必填项、生成任务ID、写入创建时间、初始化状态 |
|
|
|
|
|
+| 执行阶段 | 查看任务进度、必要时调整未发布任务;发布后原则上不改规则 | 查看任务、领取/开始任务、阅读执行要求 | 查看待审核任务预览,不修改任务定义 | 记录任务状态变化、计算超时、发送提醒 |
|
|
|
|
|
+| 提交阶段 | 查看孩子提交内容、等待审核 | 填写完成说明、上传图片/视频/录音、提交完成结果、必要时补充材料 | 查看提交内容,准备审核 | 记录提交时间、提交内容、附件信息、提交次数 |
|
|
|
|
|
+| 审核阶段 | 根据需要参与审核或查看审核结果 | 根据审核意见补充材料或重新提交 | 审核通过/驳回/退回补充,填写审核意见 | 记录审核结果、审核时间、审核人,触发积分变更 |
|
|
|
|
|
+| 完成阶段 | 查看最终结果、积分变更和历史记录 | 查看完成结果、获得积分或驳回原因 | 查看审核归档和历史记录 | 归档任务、保留流水、生成统计数据 |
|
|
|
|
|
+
|
|
|
|
|
+#### 3.9.1 动作规则说明
|
|
|
|
|
+
|
|
|
|
|
+- **创建阶段**: 仅家长/创建人可定义任务,孩子不直接参与任务生效。
|
|
|
|
|
+- **执行阶段**: 孩子为主要执行者,家长负责监督,系统负责提醒与超时判断。
|
|
|
|
|
+- **提交阶段**: 孩子负责提交,家长负责查看,系统负责记录提交证据。
|
|
|
|
|
+- **审核阶段**: 审核人负责最终判断,孩子仅在需要时补充材料。
|
|
|
|
|
+- **完成阶段**: 任务主体冻结,仅保留查看、统计和补审能力。
|
|
|
|
|
+
|
|
|
|
|
+### 3.10 接口级字段清单
|
|
|
|
|
+
|
|
|
|
|
+> 说明:本节按接口维度列出任务创建、任务完成与任务审核所需字段,并补充请求示例与返回语义。该清单用于前后端联调、接口文档和参数校验。
|
|
|
|
|
+
|
|
|
|
|
+#### 3.10.1 创建任务接口
|
|
|
|
|
+
|
|
|
|
|
+**接口**:`POST /api/tasks`
|
|
|
|
|
+
|
|
|
|
|
+| 字段 | 是否必填 | 说明 | 责任主体 |
|
|
|
|
|
+|------|----------|------|----------|
|
|
|
|
|
+| title | 是 | 任务名称 | 家长/创建人 |
|
|
|
|
|
+| childId / childIds | 是 | 执行孩子 | 家长/创建人 |
|
|
|
|
|
+| points | 是 | 奖励积分 | 家长/创建人 |
|
|
|
|
|
+| category | 是 | 任务分类 | 家长/创建人 |
|
|
|
|
|
+| deadline | 是 | 截止时间 | 家长/创建人 |
|
|
|
|
|
+| description | 否 | 任务描述 | 家长/创建人 |
|
|
|
|
|
+| repeatType | 否 | 重复规则 | 家长/创建人 |
|
|
|
|
|
+| completeTypes | 否 | 完成方式 | 家长/创建人 |
|
|
|
|
|
+| needReview | 否 | 是否需要审核 | 家长/创建人 |
|
|
|
|
|
+| reviewType | 否 | 审核方式 | 家长/创建人 |
|
|
|
|
|
+| duration | 否 | 预计时长 | 家长/创建人 |
|
|
|
|
|
+| earliestStart | 否 | 最早开始时间 | 家长/创建人 |
|
|
|
|
|
+| latestEnd | 否 | 最晚结束时间 | 家长/创建人 |
|
|
|
|
|
+| templateId | 否 | 模板来源 | 系统/家长 |
|
|
|
|
|
+| bonusRule | 否 | 超额积分规则 | 家长/创建人 |
|
|
|
|
|
+| pointsExpireDays | 否 | 积分有效期 | 家长/创建人 |
|
|
|
|
|
+
|
|
|
|
|
+**校验要求**
|
|
|
|
|
+- 必填项不得为空。
|
|
|
|
|
+- `points` 应符合积分范围约束。
|
|
|
|
|
+- `deadline` 应合法且不得早于当前时间。
|
|
|
|
|
+- 若选择模板,系统可自动回填模板字段。
|
|
|
|
|
+
|
|
|
|
|
+#### 3.10.2 完成任务接口
|
|
|
|
|
+
|
|
|
|
|
+**接口**:`POST /api/tasks/{id}/complete`
|
|
|
|
|
+
|
|
|
|
|
+| 字段 | 是否必填 | 说明 | 责任主体 |
|
|
|
|
|
+|------|----------|------|----------|
|
|
|
|
|
+| childId | 是 | 完成任务的孩子 | 孩子 |
|
|
|
|
|
+| completeContent / text | 否 | 完成说明 | 孩子 |
|
|
|
|
|
+| completeMedia | 否 | 完成附件 | 孩子 |
|
|
|
|
|
+| photoUrl | 否 | 图片地址(如适用) | 孩子 |
|
|
|
|
|
+| audioUrl | 否 | 语音地址(如适用) | 孩子 |
|
|
|
|
|
+| videoUrl | 否 | 视频地址(如适用) | 孩子 |
|
|
|
|
|
+| completedAt | 否 | 完成时间 | 系统/孩子 |
|
|
|
|
|
+
|
|
|
|
|
+**校验要求**
|
|
|
|
|
+- `childId` 应与任务执行对象一致。
|
|
|
|
|
+- 提交内容应符合任务配置的完成方式。
|
|
|
|
|
+- 系统应记录提交时间、提交内容和附件信息,并据规则判断是否进入待审核。
|
|
|
|
|
+
|
|
|
|
|
+#### 3.10.3 审核任务接口
|
|
|
|
|
+
|
|
|
|
|
+**接口**:`POST /api/tasks/{id}/review`
|
|
|
|
|
+
|
|
|
|
|
+| 字段 | 是否必填 | 说明 | 责任主体 |
|
|
|
|
|
+|------|----------|------|----------|
|
|
|
|
|
+| reviewResult | 是 | 审核结果(通过/驳回/退回补充) | 审核人 |
|
|
|
|
|
+| reviewerId | 是 | 审核人 | 审核人 |
|
|
|
|
|
+| reviewComment | 否 | 审核意见 | 审核人 |
|
|
|
|
|
+| reviewTime | 否 | 审核时间 | 系统/审核人 |
|
|
|
|
|
+
|
|
|
|
|
+**校验要求**
|
|
|
|
|
+- 审核人应具备该任务的审核权限。
|
|
|
|
|
+- 任务状态应处于待审核阶段。
|
|
|
|
|
+- 系统应在审核完成后更新任务状态,并触发积分发放或回滚逻辑。
|
|
|
|
|
+
|
|
|
|
|
+#### 3.10.4 请求示例
|
|
|
|
|
+
|
|
|
|
|
+**创建任务示例**
|
|
|
|
|
+
|
|
|
|
|
+| 字段 | 示例值 | 说明 |
|
|
|
|
|
+|------|--------|------|
|
|
|
|
|
+| title | 整理书桌 | 任务名称 |
|
|
|
|
|
+| description | 把书桌上的书本、文具和杂物整理干净 | 任务描述 |
|
|
|
|
|
+| childId | 10001 | 执行孩子 |
|
|
|
|
|
+| points | 5 | 奖励积分 |
|
|
|
|
|
+| category | 生活类 | 任务分类 |
|
|
|
|
|
+| deadline | 2026-04-20T20:00:00 | 截止时间 |
|
|
|
|
|
+| repeatType | none | 重复规则 |
|
|
|
|
|
+| completeTypes | ["checkin", "image"] | 完成方式 |
|
|
|
|
|
+| needReview | 1 | 需要审核 |
|
|
|
|
|
+| reviewType | parent | 审核方式 |
|
|
|
|
|
+| duration | 20 | 预计时长 |
|
|
|
|
|
+
|
|
|
|
|
+**完成任务示例**
|
|
|
|
|
+
|
|
|
|
|
+| 字段 | 示例值 | 说明 |
|
|
|
|
|
+|------|--------|------|
|
|
|
|
|
+| childId | 10001 | 完成任务的孩子 |
|
|
|
|
|
+| completeContent | 已经整理完毕,桌面已清空 | 完成说明 |
|
|
|
|
|
+| completeMedia | ["https://example.com/upload/task/20260414/desk-1.jpg"] | 完成附件 |
|
|
|
|
|
+| completedAt | 2026-04-14T19:30:00 | 完成时间 |
|
|
|
|
|
+
|
|
|
|
|
+**审核任务示例**
|
|
|
|
|
+
|
|
|
|
|
+| 字段 | 示例值 | 说明 |
|
|
|
|
|
+|------|--------|------|
|
|
|
|
|
+| reviewerId | 9001 | 审核人 |
|
|
|
|
|
+| reviewResult | approved | 审核结果 |
|
|
|
|
|
+| reviewComment | 整理得很整齐,符合要求 | 审核意见 |
|
|
|
|
|
+| reviewTime | 2026-04-14T19:40:00 | 审核时间 |
|
|
|
|
|
+
|
|
|
|
|
+#### 3.10.5 返回结果说明
|
|
|
|
|
+
|
|
|
|
|
+| 场景 | 成功返回 | 失败原因 |
|
|
|
|
|
+|------|----------|----------|
|
|
|
|
|
+| 创建任务 | 任务ID、创建时间、初始状态 | 必填字段缺失、截止时间非法、积分超出范围、执行对象无效 |
|
|
|
|
|
+| 完成任务 | 完成结果、积分变动信息、当前状态 | 任务不存在、任务状态不允许完成、孩子不匹配、提交内容不符合要求 |
|
|
|
|
|
+| 审核任务 | 审核结果、审核时间、最终状态、积分处理结果 | 审核权限不足、任务未进入待审核状态、审核结果参数非法 |
|
|
|
|
|
+
|
|
|
|
|
+#### 3.10.6 状态建议
|
|
|
|
|
+
|
|
|
|
|
+| 场景 | 建议状态 | 说明 |
|
|
|
|
|
+|------|----------|------|
|
|
|
|
|
+| 创建任务成功 | 待执行 / 待发布 | 任务已创建,等待孩子执行或等待正式发布 |
|
|
|
|
|
+| 完成任务成功且无需审核 | 已完成 | 系统可直接结算积分并结束流程 |
|
|
|
|
|
+| 完成任务成功且需要审核 | 待审核 | 任务进入家长/审核人确认阶段 |
|
|
|
|
|
+| 审核通过 | 已完成 | 任务正式完成,积分结算生效 |
|
|
|
|
|
+| 审核驳回 | 已驳回 | 任务回到补充材料或重做流程 |
|
|
|
|
|
+| 审核退回补充 | 待提交 | 孩子补充材料后再次提交 |
|
|
|
|
|
+
|
|
|
---
|
|
---
|
|
|
|
|
|
|
|
## 四、API接口汇总
|
|
## 四、API接口汇总
|
|
@@ -245,7 +663,7 @@ pending → cancelled (创建者删除)
|
|
|
|
|
|
|
|
---
|
|
---
|
|
|
|
|
|
|
|
-## 五、前端页面
|
|
|
|
|
|
|
+## 五、前端页面一览
|
|
|
|
|
|
|
|
| 页面 | 路径 | 功能 |
|
|
| 页面 | 路径 | 功能 |
|
|
|
|------|------|------|
|
|
|------|------|------|
|
|
@@ -255,7 +673,7 @@ pending → cancelled (创建者删除)
|
|
|
|
|
|
|
|
---
|
|
---
|
|
|
|
|
|
|
|
-## 六、待完善功能
|
|
|
|
|
|
|
+## 六、待完善事项
|
|
|
|
|
|
|
|
| 功能 | 优先级 | 说明 |
|
|
| 功能 | 优先级 | 说明 |
|
|
|
|------|--------|------|
|
|
|------|--------|------|
|
|
@@ -267,7 +685,7 @@ pending → cancelled (创建者删除)
|
|
|
|
|
|
|
|
---
|
|
---
|
|
|
|
|
|
|
|
-## 七、数据库迁移
|
|
|
|
|
|
|
+## 七、数据库变更
|
|
|
|
|
|
|
|
| 迁移 | 字段 | 说明 |
|
|
| 迁移 | 字段 | 说明 |
|
|
|
|------|------|------|
|
|
|------|------|------|
|