用户使用流程图 — 活动管理
端口说明: 📱 小程序 | 🖥 管理后台 | 📋 规划师端 | ⚙️ 系统自动
flowchart TD
%% ============ 颜色定义 ============
classDef actor fill:#e1f5fe,stroke:#0288d1,stroke-width:2px
classDef action fill:#fff3e0,stroke:#f57c00,stroke-width:1px
classDef system fill:#e8f5e9,stroke:#388e3c,stroke-width:1px
classDef decision fill:#fce4ec,stroke:#d32f2f,stroke-width:1px
classDef role fill:#f3e5f5,stroke:#7b1fa2,stroke-width:1px
classDef endpoint fill:#f5f5f5,stroke:#616161,stroke-width:1px
classDef portMiniApp fill:#e3f2fd,stroke:#1565c0,stroke-width:1px,stroke-dasharray:3 2
classDef portAdmin fill:#fce4ec,stroke:#c62828,stroke-width:1px,stroke-dasharray:3 2
classDef portGuide fill:#fff8e1,stroke:#f57f17,stroke-width:1px,stroke-dasharray:3 2
classDef portSystem fill:#f3e5f5,stroke:#6a1b9a,stroke-width:1px,stroke-dasharray:3 2
subgraph 活动创建(活动管理员)
A1(("🔧 活动管理员")):::portAdmin --> A2[🖥 创建活动 /create]:::portAdmin
A2 --> A3[🖥 设置基本信息:标题/描述/封面/维度]:::portAdmin
A3 --> A4[🖥 设置活动类型 offline/online/campaign]:::portAdmin
A4 --> A5[🖥 设置时间地点:开始/结束/位置]:::portAdmin
A5 --> A6[🖥 设置报名规则]:::portAdmin
A6 --> A7{🖥 是否限制人数?}:::portAdmin
A7 -->|是| A8[🖥 设置最大人数 maxParticipants]:::portAdmin
A7 -->|否| A9[不限制人数]
A8 --> A10[🖥 设置价格体系]:::portAdmin
A9 --> A10
A10 --> A11[🖥 普通价 price]:::portAdmin
A11 --> A12[🖥 会员价 memberPrice]:::portAdmin
A12 --> A13[🖥 签到积分 checkinPoints]:::portAdmin
A13 --> A14[🖥 设置可见范围 public/restricted/member]:::portAdmin
A14 --> A15[🖥 保存草稿]:::portAdmin
end
subgraph 活动审核流程
A15 --> B1[🖥 提交审核 /submit-review]:::portAdmin
B1 --> B2{🖥 管理员审核 /audit}:::portAdmin
B2 -->|通过| B3[活动发布]
B2 -->|驳回| B4[🖥 查看驳回原因]:::portAdmin
B4 --> B5[🖥 编辑后重新提交]:::portAdmin
B5 --> B1
end
subgraph 发布与下架
B3 --> C1[🖥 发布活动 /publish]:::portAdmin
C1 --> C2[活动上线]
C2 --> C3{活动到期或结束操作}
C3 -->|手动结束| C4[🖥 结束活动 /end]:::portAdmin
C3 -->|截止时间到| C4
C4 --> C5[活动结束<br/>不可再报名]
end
subgraph 用户浏览与报名
C2 --> D1(("👤 家长")):::portMiniApp --> D2[📱 浏览活动列表 /list]:::portMiniApp
D2 --> D3[📱 查看详情 /detail]:::portMiniApp
D3 --> D4{📱 报名条件检查}:::portMiniApp
D4 -->|人数已满| D5[📱 提示已满员]:::portMiniApp
D4 -->|已截止| D6[📱 提示报名结束]:::portMiniApp
D4 -->|可报名| D7[📱 选择参加的孩子 childId]:::portMiniApp
D7 --> D8[📱 填写参加人身份信息]:::portMiniApp
D8 --> D9{📱 用户会员等级}:::portMiniApp
D9 -->|普通用户| D10[📱 普通价 price]:::portMiniApp
D9 -->|会员用户| D11[📱 会员价 memberPrice]:::portMiniApp
D10 --> D12[📱 提交报名 /register]:::portMiniApp
D11 --> D12
D12 --> D13{📱 报名需审核?}:::portMiniApp
D13 -->|是| D14[📱 等待管理员审批]:::portMiniApp
D13 -->|否| D15[📱 报名成功]:::portMiniApp
D14 --> D16{🖥 管理员操作}:::portAdmin
D16 -->|通过| D15
D16 -->|拒绝| D17[📱 报名被驳回]:::portMiniApp
end
subgraph 报名管理
D15 --> E1[📱 我的报名 /my-registrations]:::portMiniApp
E1 --> E2{📱 活动开始前?}:::portMiniApp
E2 -->|是| E3[📱 取消报名 /cancel-registration]:::portMiniApp
E2 -->|否| E4[📱 等待签到]:::portMiniApp
end
subgraph 签到
E4 --> F1[📱 签到 /checkin]:::portMiniApp
F1 --> F2{📱 需审核签到?}:::portMiniApp
F2 -->|是| F3[📱 等待审核]:::portMiniApp
F2 -->|否| F4[📱 签到成功<br/>发放积分]:::portMiniApp
end
subgraph 活动反馈(活动结束后)
C5 --> G1[📱 已签到参与者]:::portMiniApp
G1 --> G2[📱 提交活动反馈]:::portMiniApp
end
subgraph 管理员报名管理
D14 --> H1[🖥 报名列表 /admin/activity/registration/list]:::portAdmin
H1 --> H2[🖥 审批 /approve]:::portAdmin
H2 --> H3[🖥 拒绝 /reject]:::portAdmin
end
subgraph 管理后台
B2 --> I1[🖥 活动列表 /admin/activity/list]:::portAdmin
I1 --> I2[🖥 活动审核 /review]:::portAdmin
I2 --> I3[🖥 撤回 /withdraw]:::portAdmin
I3 --> I4[🖥 转草稿 /re-draft]:::portAdmin
end
R1(("🔧 活动管理员<br/>role=activity_admin")):::actor
R2(("👤 家长")):::actor
R3(("👶 孩子")):::role
R4(("🔧 管理员")):::role
A1 -.- R1
D1 -.- R2
D7 -.- R3
B2 -.- R4
业务规则
| 规则 |
说明 |
| 角色 |
活动由 activity_admin(活动管理员)管理,非规划师。admin 也可管理。 |
| 替他人报名 |
家长可替多个孩子报名,每个报名需指定 childId |
| 身份信息 |
报名时需填写参加人的信息(孩子信息) |
| 价格分层 |
price 普通价 vs memberPrice 会员价,不同级别用户不同价格 |
| 人数限制 |
maxParticipants=0/null 表示不限制人数 |
| 报名截止 |
endTime 即报名截止时间 |
| 自动截止 |
达到 maxParticipants 或超过 endTime 自动停止报名 |
| 签到 |
活动签到 checkin,可设置签到审核和签到积分 checkinPoints |
| 反馈 |
活动结束后,已签到的参与者可提交反馈 |
端点明细
| 端点 |
说明 |
端口 |
/api/activity/list |
活动列表(支持维度过滤+分页) |
📱小程序 |
/api/activity/detail |
活动详情 |
📱小程序 |
/api/activity/register |
报名(activityId + childId) |
📱小程序 |
/api/activity/cancel-registration |
取消报名 |
📱小程序 |
/api/activity/my-registrations |
我的报名列表 |
📱小程序 |
/api/activity/checkin |
签到 |
📱小程序 |
/api/activity/create |
创建活动(需admin/activity_admin) |
🖥管理后台 |
/api/activity/update |
修改活动(需admin/activity_admin) |
🖥管理后台 |
/api/activity/publish |
发布活动 |
🖥管理后台 |
/api/activity/end |
结束活动 |
🖥管理后台 |
/api/admin/activity/list |
管理员活动列表 |
🖥管理后台 |
/api/admin/activity/detail |
活动详情 |
🖥管理后台 |
/api/admin/activity/review |
审核 |
🖥管理后台 |
/api/admin/activity/submit-review |
提交审核 |
🖥管理后台 |
/api/admin/activity/audit |
审批(通过/驳回) |
🖥管理后台 |
/api/admin/activity/withdraw |
撤回审核 |
🖥管理后台 |
/api/admin/activity/re-draft |
转草稿 |
🖥管理后台 |
/api/admin/activity/registration/list |
报名列表 |
🖥管理后台 |
/api/admin/activity/registration/approve |
审批报名通过 |
🖥管理后台 |
/api/admin/activity/registration/reject |
拒绝报名 |
🖥管理后台 |