用户使用流程图 — 管理后台
端口说明: 📱 小程序 | 🖥 管理后台 | 📋 规划师端 | ⚙️ 系统自动
分层说明: 🏠 页面 → 🔗 API → ⚙️ Service → 📦 数据实体
flowchart TD
%% ============ 颜色定义 ============
classDef page fill:#e3f2fd,stroke:#1565c0,stroke-width:2px
classDef api fill:#fff3e0,stroke:#f57c00,stroke-width:1px
classDef service fill:#e8f5e9,stroke:#388e3c,stroke-width:1px
classDef data fill:#f3e5f5,stroke:#7b1fa2,stroke-width:1px
classDef actor fill:#e1f5fe,stroke:#0288d1,stroke-width:2px,stroke-dasharray:5 3
%% ============ 角色 ============
RP(("🔧 管理员")):::actor
%% ================================================================
%% 阶段一:管理员认证
%% ================================================================
subgraph 阶段一[阶段一:管理员认证]
direction TB
P1["🏠 管理后台:登录页"]:::page
P1 -->|"发送验证码"| A1["🔗 POST /api/admin-auth/send-code"]:::api
A1 -->|"手机号"| S1["⚙️ VerificationCodeService.generateCode()"]:::service
S1 -->|"验证码, 过期时间"| D1["📦 sms_codes 表(写入)"]:::data
P1 -->|"验证码登录"| A2["🔗 POST /api/admin-auth/login"]:::api
A2 -->|"手机号, 验证码"| S2["⚙️ AdminAuthController.login()"]:::service
S2 -->|"用户信息"| D_USER["📦 users 表(查询)"]:::data
P1 -->|"密码登录"| A2a["🔗 POST /api/admin-auth/login-by-password"]:::api
A2a -->|"手机号, 密码"| S2a["⚙️ 密码校验 + JWT生成"]:::service
S2a -->|"用户信息"| D_USER
D_USER -->|"用户ID, 角色"| S_JWT["⚙️ JwtConfig.generateToken()"]:::service
S_JWT -->|"JWT token"| D_JWT["📦 JWT Token(返回前端)"]:::data
D_JWT -->|"token"| P2["🏠 管理后台:首页"]:::page
P2 -->|"获取管理员信息"| A3["🔗 POST /api/admin-auth/info"]:::api
A3 -->|"用户ID(token提取)"| S3["⚙️ 用户信息查询"]:::service
S3 -->|"管理员信息"| D_USER
P2 -->|"修改密码"| A4["🔗 POST /api/admin-auth/change-password"]:::api
A4 -->|"旧密码, 新密码"| S4["⚙️ UserService.setPassword()"]:::service
S4 -->|"更新密码字段"| D_USER
end
%% ================================================================
%% 阶段二:用户与家庭管理
%% ================================================================
subgraph 阶段二[阶段二:用户与家庭管理]
P2 -->|"用户列表"| B1["🏠 管理后台:用户管理页"]:::page
B1 -->|"分页参数, 角色筛选"| A5["🔗 POST /api/admin/users"]:::api
A5 -->|"userId, role, page"| S5["⚙️ UserMapper.selectPage()"]:::service
S5 -->|"分页用户列表"| D_USER
B1 -->|"创建用户"| A6["🔗 POST /api/admin/users/create"]:::api
A6 -->|"手机号, 昵称, 角色"| S6["⚙️ 创建用户记录"]:::service
S6 -->|"新用户记录"| D_USER
B1 -->|"用户详情"| A7["🔗 POST /api/admin/users/{id}"]:::api
A7 -->|"用户ID"| S7["⚙️ UserMapper.selectById()"]:::service
B1 -->|"更新用户"| A8["🔗 POST /api/admin/users/{id}/update"]:::api
A8 -->|"用户ID, 更新字段"| S8["⚙️ UserMapper.updateById()"]:::service
B1 -->|"重置密码"| A9["🔗 POST /api/admin/users/{id}/reset-password"]:::api
A9 -->|"用户ID, 新密码"| S9["⚙️ UserService.resetPassword()"]:::service
B1 -->|"搜索用户"| A10["🔗 POST /api/admin/user/search"]:::api
A10 -->|"关键词"| S10["⚙️ 模糊搜索(nickname/phone/realName)"]:::service
B1 -->|"删除用户"| A11["🔗 POST /api/admin/users/{id}/delete"]:::api
A11 -->|"用户ID"| S11["⚙️ UserService.deleteUser()"]:::service
P2 -->|"孩子管理"| C1["🏠 管理后台:孩子管理页"]:::page
C1 -->|"分页"| A12["🔗 POST /api/admin/children"]:::api
C1 -->|"详情"| A13["🔗 POST /api/admin/children/{id}"]:::api
C1 -->|"更新"| A14["🔗 POST /api/admin/children/{id}/update"]:::api
C1 -->|"调整积分"| A15["🔗 POST /api/admin/children/{id}/adjust-points"]:::api
A15 -->|"孩子ID, 积分数额, 原因"| S15["⚙️ 积分调整 + PointsLog写入"]:::service
S15 -->|"更新余额, 写入流水"| D_POINTS["📦 family_members + points_logs"]:::data
P2 -->|"家庭管理"| D1["🏠 管理后台:家庭管理页"]:::page
D1 -->|"列表"| A16["🔗 POST /api/admin/families"]:::api
D1 -->|"详情"| A17["🔗 POST /api/admin/families/{id}"]:::api
D1 -->|"成员"| A18["🔗 POST /api/admin/families/{id}/members"]:::api
D1 -->|"更新"| A19["🔗 POST /api/admin/families/{id}/update"]:::api
D1 -->|"删除"| A20["🔗 POST /api/admin/families/{id}/delete"]:::api
A18 -->|"家庭ID"| S18["⚙️ 查询家长列表 + 孩子列表"]:::service
S18 -->|"家长+孩子数据"| D_FAMILY["📦 families + users + family_members"]:::data
end
%% ================================================================
%% 阶段三:任务与奖励审核
%% ================================================================
subgraph 阶段三[阶段三:任务与奖励审核]
P2 -->|"任务列表"| E1["🏠 管理后台:任务管理页"]:::page
E1 -->|"分页, 状态筛选"| A21["🔗 POST /api/admin/tasks"]:::api
A21 -->|"page, status, familyId"| S21["⚙️ TaskMapper.selectPage()"]:::service
S21 -->|"分页任务列表"| D_TASK["📦 tasks 表"]:::data
E1 -->|"任务统计"| A22["🔗 POST /api/admin/tasks/stats"]:::api
A22 -->|""| S22["⚙️ 任务总数 + 今日任务数"]:::service
P2 -->|"奖励列表"| F1["🏠 管理后台:奖励管理页"]:::page
F1 -->|"分页, 状态"| A23["🔗 POST /api/admin/rewards"]:::api
F1 -->|"模板列表"| A24["🔗 POST /api/admin/rewards/templates"]:::api
F1 -->|"创建模板"| A25["🔗 POST /api/admin/rewards/create"]:::api
F1 -->|"审批通过/拒绝"| A26["🔗 POST /api/admin/rewards/{id}/approve"]:::api
A26 -->|"奖励ID, approved标志"| S26["⚙️ 状态更新 + 积分退还(拒绝时)"]:::service
S26 -->|"更新奖励状态, 退积分"| D_TASK
end
%% ================================================================
%% 阶段四:积分与模板管理
%% ================================================================
subgraph 阶段四[阶段四:积分与模板管理]
P2 -->|"积分日志"| G1["🏠 管理后台:积分管理页"]:::page
G1 -->|"分页, 孩子ID, 类型"| A27["🔗 POST /api/admin/points/logs"]:::api
A27 -->|"childId, type, page"| S27["⚙️ PointsLogMapper.selectPage()"]:::service
S27 -->|"分页积分流水"| D_POINTS
G1 -->|"积分统计"| A28["🔗 POST /api/admin/points/stats"]:::api
A28 -->|""| S28["⚙️ 孩子总数统计"]:::service
P2 -->|"任务模板"| H1["🏠 管理后台:任务模板页"]:::page
H1 -->|"列表"| A29["🔗 POST /api/admin/task-templates"]:::api
H1 -->|"详情"| A30["🔗 POST /api/admin/task-templates/{id}"]:::api
H1 -->|"创建"| A31["🔗 POST /api/admin/task-templates/create"]:::api
H1 -->|"更新"| A32["🔗 POST /api/admin/task-templates/{id}/update"]:::api
H1 -->|"删除"| A33["🔗 POST /api/admin/task-templates/{id}/delete"]:::api
A31 -->|"模板内容"| S31["⚙️ TaskTemplateMapper.insert()"]:::service
S31 -->|"新模板记录"| D_TTPL["📦 task_templates 表"]:::data
end
%% ================================================================
%% 阶段五:规划师审核与套餐
%% ================================================================
subgraph 阶段五[阶段五:规划师审核与套餐]
P2 -->|"规划师审核"| I1["🏠 管理后台:规划师审核页"]:::page
I1 -->|"待审批列表"| A34["🔗 POST /api/admin/guide/applications"]:::api
I1 -->|"待审批数量"| A34a["🔗 POST /api/admin/guide/pending-count"]:::api
I1 -->|"通过"| A35["🔗 POST /api/admin/guide/approve/{userId}"]:::api
I1 -->|"驳回"| A36["🔗 POST /api/admin/guide/reject/{userId}"]:::api
A35 -->|"用户ID"| S35["⚙️ 更新user角色 + 创建admins记录"]:::service
S35 -->|"更新users表, 插入admins表"| D_USER
I1 -->|"规划师列表"| A37["🔗 POST /api/admin/guide/guides"]:::api
I1 -->|"等级筛选"| A38["🔗 POST /api/admin/guide/guides/level/{level}"]:::api
P2 -->|"套餐管理"| I2["🏠 管理后台:套餐管理页"]:::page
I2 -->|"套餐列表"| A39["🔗 POST /api/admin/guide/packages"]:::api
I2 -->|"创建套餐"| A40["🔗 POST /api/admin/guide/packages/create"]:::api
I2 -->|"更新"| A41["🔗 POST /api/admin/guide/packages/{id}/update"]:::api
I2 -->|"状态"| A42["🔗 POST /api/admin/guide/packages/{id}/status"]:::api
A40 -->|"套餐内容"| S40["⚙️ GuidePackageService.save()"]:::service
S40 -->|"新套餐记录"| D_GPKG["📦 guide_packages 表"]:::data
P2 -->|"营养师审核"| I3["🏠 管理后台:营养师审核页"]:::page
I3 -->|"列表"| A43["🔗 POST /api/admin/nutritionist/applications"]:::api
I3 -->|"通过"| A44["🔗 POST /api/admin/nutritionist/approve/{userId}"]:::api
I3 -->|"驳回"| A45["🔗 POST /api/admin/nutritionist/reject/{userId}"]:::api
end
%% ================================================================
%% 阶段六:商品与订单
%% ================================================================
subgraph 阶段六[阶段六:商品与订单管理]
P2 -->|"商品管理"| J1["🏠 管理后台:商品管理页"]:::page
J1 -->|"列表"| A46["🔗 POST /api/admin/product/list"]:::api
J1 -->|"审核"| A47["🔗 POST /api/admin/product/review"]:::api
J1 -->|"上下架"| A48["🔗 POST /api/admin/product/shelve"]:::api
J1 -->|"创建"| A49["🔗 POST /api/admin/product/create"]:::api
J1 -->|"更新"| A50["🔗 POST /api/admin/product/update"]:::api
J1 -->|"删除"| A51["🔗 POST /api/admin/product/delete"]:::api
A47 -->|"productId, action"| S47["⚙️ ProductService.review()"]:::service
S47 -->|"更新审核状态"| D_PROD["📦 products 表"]:::data
P2 -->|"订单管理"| K1["🏠 管理后台:订单管理页"]:::page
K1 -->|"列表"| A52["🔗 POST /api/admin/product/order/list"]:::api
K1 -->|"详情"| A53["🔗 POST /api/admin/product/order/detail"]:::api
K1 -->|"发货"| A54["🔗 POST /api/admin/product/order/ship"]:::api
K1 -->|"退款审核"| A55["🔗 POST /api/admin/product/order/refund/approve"]:::api
K1 -->|"关闭订单"| A56["🔗 POST /api/admin/product/order/close"]:::api
A54 -->|"orderNo, trackingNumber, expressCompany"| S54["⚙️ ProductOrderService.ship()"]:::service
S54 -->|"更新发货状态"| D_ORDER["📦 product_orders 表"]:::data
end
%% ================================================================
%% 阶段七:系统配置
%% ================================================================
subgraph 阶段七[阶段七:系统配置]
P2 -->|"食材管理"| L1["🏠 管理后台:食材管理页"]:::page
L1 -->|"CRUD"| A57["🔗 POST /api/admin/foods/*"]:::api
A57 -->|"食材数据"| S57["⚙️ FoodService CRUD"]:::service
S57 -->|"食材记录"| D_FOOD["📦 foods 表"]:::data
P2 -->|"能量配置"| L2["🏠 管理后台:五维能量配置页"]:::page
L2 -->|"来源列表"| A58["🔗 POST /api/admin/energy-config/source-list"]:::api
A58 -->|""| S58["⚙️ 查询能量来源配置"]:::service
S58 -->|"能量来源配置列表"| D_ENERGY["📦 energy_source_config 表"]:::data
P2 -->|"会员管理"| L3["🏠 管理后台:会员管理页"]:::page
L3 -->|"等级列表"| A59["🔗 POST /api/admin/membership/levels"]:::api
L3 -->|"概览"| A60["🔗 POST /api/admin/membership/overview"]:::api
P2 -->|"测评订单"| L4["🏠 管理后台:测评管理页"]:::page
L4 -->|"待分配列表"| A61["🔗 POST /api/admin/assessment/pending-list"]:::api
L4 -->|"可用规划师"| A62["🔗 POST /api/admin/assessment/available-guides"]:::api
L4 -->|"订单列表"| A63["🔗 POST /api/admin/assessment/orders"]:::api
L4 -->|"分配规划师"| A64["🔗 POST /api/admin/assessment/assign-guide"]:::api
end
RP -.- P1
RP -.- P2
端点明细
管理员认证
| 端点 |
说明 |
端口 |
请求数据 |
响应数据 |
POST /api/admin-auth/send-code |
发送管理员登录验证码 |
🖥管理后台 |
{phone} |
{success} |
POST /api/admin-auth/login |
验证码登录 |
🖥管理后台 |
{phone, code} |
{token, adminId, username, role, roles} |
POST /api/admin-auth/login-by-password |
密码登录 |
🖥管理后台 |
{phone, password} |
{token, adminId, username, role, roles} |
POST /api/admin-auth/info |
获取当前管理员信息 |
🖥管理后台 |
Header: Authorization |
{id, nickname, phone, role, roles, user} |
POST /api/admin-auth/change-password |
修改密码 |
🖥管理后台 |
{oldPassword, newPassword} |
{success} |
POST /api/admin-auth/update-info |
更新个人信息 |
🖥管理后台 |
{nickname, phone} |
{nickname, phone} |
POST /api/admin-auth/reset-password |
验证码重置密码 |
🖥管理后台 |
{phone, code, newPassword} |
{success} |
用户管理
| 端点 |
说明 |
端口 |
请求数据 |
响应数据 |
POST /api/admin/users |
用户分页列表 |
🖥管理后台 |
{page, size, role, nickname, phone} |
Page<User> |
POST /api/admin/users/create |
创建用户 |
🖥管理后台 |
{phone, nickname, role, realName} |
User |
POST /api/admin/users/{id} |
用户详情 |
🖥管理后台 |
path: id |
User |
POST /api/admin/users/{id}/update |
更新用户 |
🖥管理后台 |
path: id, body: User字段 |
{success} |
POST /api/admin/users/{id}/reset-password |
重置用户密码 |
🖥管理后台 |
path: id, body: {password} |
{success} |
POST /api/admin/user/search |
搜索用户(下拉选择用) |
🖥管理后台 |
{keyword} |
List<User> |
POST /api/admin/users/{id}/delete |
删除用户 |
🖥管理后台 |
path: id |
{success} |
孩子管理
| 端点 |
说明 |
端口 |
请求数据 |
响应数据 |
POST /api/admin/children |
孩子分页列表 |
🖥管理后台 |
{page, size} |
Page<FamilyMember> |
POST /api/admin/children/{id} |
孩子详情 |
🖥管理后台 |
path: id |
FamilyMember |
POST /api/admin/children/{id}/update |
更新孩子信息 |
🖥管理后台 |
path: id, body: FamilyMember字段 |
{success} |
POST /api/admin/children/{id}/adjust-points |
手动调整孩子积分 |
🖥管理后台 |
path: id, body: {amount, reason} |
{newBalance} |
家庭管理
| 端点 |
说明 |
端口 |
请求数据 |
响应数据 |
POST /api/admin/families |
家庭分页列表 |
🖥管理后台 |
{page, size, name} |
Page<Family> |
POST /api/admin/families/{id} |
家庭详情 |
🖥管理后台 |
path: id |
Family |
POST /api/admin/families/{id}/members |
家庭成员详情(含家长+孩子) |
🖥管理后台 |
path: id |
{family, parents, children} |
POST /api/admin/families/{id}/update |
更新家庭信息 |
🖥管理后台 |
path: id, body: Family字段 |
{success} |
POST /api/admin/families/{id}/delete |
删除家庭 |
🖥管理后台 |
path: id |
{success} |
任务管理与奖励
| 端点 |
说明 |
端口 |
请求数据 |
响应数据 |
POST /api/admin/tasks |
任务分页列表 |
🖥管理后台 |
{page, size, status, familyId} |
Page<Task> |
POST /api/admin/tasks/stats |
任务统计 |
🖥管理后台 |
— |
{total, today} |
POST /api/admin/rewards |
奖励分页列表 |
🖥管理后台 |
{page, size, status, familyId} |
Page<Reward> |
POST /api/admin/rewards/templates |
获取奖励模板列表 |
🖥管理后台 |
— |
List<Reward> |
POST /api/admin/rewards/create |
创建奖励模板 |
🖥管理后台 |
Reward字段 |
{id} |
POST /api/admin/rewards/{id}/approve |
审批奖励兑换 |
🖥管理后台 |
path: id, body: {approved} |
{success} |
积分管理
| 端点 |
说明 |
端口 |
请求数据 |
响应数据 |
POST /api/admin/points/logs |
积分日志分页 |
🖥管理后台 |
{page, size, childId, type} |
Page<PointsLog> |
POST /api/admin/points/stats |
积分统计概览 |
🖥管理后台 |
— |
{totalChildren} |
任务模板管理
| 端点 |
说明 |
端口 |
请求数据 |
响应数据 |
POST /api/admin/task-templates |
模板分页列表 |
🖥管理后台 |
{page, size, category, difficulty, isActive} |
Page<TaskTemplate> |
POST /api/admin/task-templates/{id} |
模板详情 |
🖥管理后台 |
path: id |
TaskTemplate |
POST /api/admin/task-templates/create |
创建模板 |
🖥管理后台 |
TaskTemplate字段 |
{id} |
POST /api/admin/task-templates/{id}/update |
更新模板 |
🖥管理后台 |
path: id, body: TaskTemplate字段 |
{success} |
POST /api/admin/task-templates/{id}/delete |
删除模板 |
🖥管理后台 |
path: id |
{success} |
规划师审核
| 端点 |
说明 |
端口 |
请求数据 |
响应数据 |
POST /api/admin/guide/applications |
规划师申请列表 |
🖥管理后台 |
{page, size, status} |
Page<User> |
POST /api/admin/guide/applications/pending |
待审批申请列表 |
🖥管理后台 |
— |
List<GuideApplication> |
POST /api/admin/guide/approve/{userId} |
通过规划师审核 |
🖥管理后台 |
path: userId |
{success} |
POST /api/admin/guide/reject/{userId} |
驳回规划师审核 |
🖥管理后台 |
path: userId, body: {reason} |
{success} |
POST /api/admin/guide/pending-count |
待审核数量 |
🖥管理后台 |
— |
{count} |
POST /api/admin/guide/applications/{id}/approve |
通过申请(AdminGuideController) |
🖥管理后台 |
path: id, param: adminId |
{success} |
POST /api/admin/guide/applications/{id}/reject |
驳回申请 |
🖥管理后台 |
path: id, param: adminId, reason |
{success} |
POST /api/admin/guide/guides |
规划师列表 |
🖥管理后台 |
— |
List<Guide> |
POST /api/admin/guide/guides/level/{level} |
按等级筛选规划师 |
🖥管理后台 |
path: level |
List<Guide> |
套餐与商品管理
| 端点 |
说明 |
端口 |
请求数据 |
响应数据 |
POST /api/admin/guide/packages |
套餐列表 |
🖥管理后台 |
— |
List<GuidePackage> |
POST /api/admin/guide/packages/create |
创建套餐 |
🖥管理后台 |
GuidePackage字段 |
{success} |
POST /api/admin/guide/packages/{id}/update |
更新套餐 |
🖥管理后台 |
path: id, body: GuidePackage字段 |
{success} |
POST /api/admin/guide/packages/{id}/status |
更新套餐状态 |
🖥管理后台 |
path: id, param: status |
{success} |
POST /api/admin/guide/packages/pending |
待审核套餐数量 |
🖥管理后台 |
— |
{count} |
POST /api/admin/product/list |
商品分页列表 |
🖥管理后台 |
{page, size, status, productType, keyword} |
{records, total} |
POST /api/admin/product/review |
审核商品(通过/驳回) |
🖥管理后台 |
{productId, action, reason} |
Result |
POST /api/admin/product/shelve |
商品上下架 |
🖥管理后台 |
{productId, shelve} |
Result |
POST /api/admin/product/create |
创建商品 |
🖥管理后台 |
ProductCreateRequest |
ProductDTO |
POST /api/admin/product/update |
更新商品 |
🖥管理后台 |
ProductCreateRequest |
ProductDTO |
POST /api/admin/product/delete |
删除商品 |
🖥管理后台 |
{productId} |
Result |
POST /api/admin/product/detail |
商品详情 |
🖥管理后台 |
{productId} |
ProductDTO |
订单管理
| 端点 |
说明 |
端口 |
请求数据 |
响应数据 |
POST /api/admin/product/order/list |
订单分页列表 |
🖥管理后台 |
{page, size, status, keyword, startDate, endDate} |
{records, total} |
POST /api/admin/product/order/detail |
订单详情 |
🖥管理后台 |
{orderNo} |
ProductOrderDTO |
POST /api/admin/product/order/ship |
订单发货 |
🖥管理后台 |
{orderNo, trackingNumber, expressCompany} |
Result |
POST /api/admin/product/order/close |
关闭订单 |
🖥管理后台 |
{orderNo} |
Result |
POST /api/admin/product/order/refund/approve |
退款审核通过 |
🖥管理后台 |
{orderNo} |
Result |
POST /api/admin/product/order/refund/reject |
退款审核拒绝 |
🖥管理后台 |
{orderNo} |
Result |
系统配置
| 端点 |
说明 |
端口 |
请求数据 |
响应数据 |
POST /api/admin/foods/list |
食材列表 |
🖥管理后台 |
{category} |
List<Map> |
POST /api/admin/foods/create |
新增食材 |
🖥管理后台 |
Food字段 |
Food |
POST /api/admin/foods/update |
更新食材 |
🖥管理后台 |
Food字段 |
{success} |
POST /api/admin/foods/delete |
删除食材 |
🖥管理后台 |
{id} |
{success} |
POST /api/admin/foods/detail |
食材详情(含应季月份) |
🖥管理后台 |
{id} |
Map |
POST /api/admin/foods/saveMonths |
保存应季月份 |
🖥管理后台 |
{id, months} |
{success} |
POST /api/admin/energy-config/source-list |
能量来源配置列表 |
🖥管理后台 |
— |
List<Map> |
POST /api/admin/membership/levels |
会员等级列表 |
🖥管理后台 |
— |
List<MembershipLevel> |
POST /api/admin/membership/overview |
会员概览统计 |
🖥管理后台 |
— |
{freeCount, familyCount, providerCount, ...} |
POST /api/admin/membership/upgrade-records |
会员升级记录 |
🖥管理后台 |
{page, size} |
Page<MemberUpgradeRecord> |
POST /api/admin/assessment/pending-list |
待分配规划师的测评列表 |
🖥管理后台 |
{page, size} |
{records, total} |
POST /api/admin/assessment/available-guides |
可选规划师列表 |
🖥管理后台 |
— |
List<Map> |
POST /api/admin/assessment/orders |
测评订单列表 |
🖥管理后台 |
{page, size, status, keyword} |
{records, total} |
POST /api/admin/assessment/assign-guide |
分配规划师 |
🖥管理后台 |
{appointmentId, guideId} |
null |
POST /api/admin/assessment/change-guide |
更换规划师 |
🖥管理后台 |
{orderId, guideId} |
null |
POST /api/admin/nutritionist/applications |
营养师申请列表 |
🖥管理后台 |
{page, size, status} |
Page<User> |
POST /api/admin/nutritionist/approve/{userId} |
通过营养师审核 |
🖥管理后台 |
path: userId |
{success} |
POST /api/admin/nutritionist/reject/{userId} |
驳回营养师审核 |
🖥管理后台 |
path: userId, body: {reason} |
{success} |
完整性分析
| # |
维度 |
评估 |
说明 |
| 1 |
流程完整性 |
✅ 完整 |
覆盖管理员认证、用户/孩子/家庭管理、任务/奖励审核、积分/模板管理、规划师/营养师审核、商品/订单管理、系统配置共7个阶段 |
| 2 |
异常路径 |
⚠️ 部分覆盖 |
Token过期引导重新登录已覆盖;验证码错误、密码错误、重复手机号等在Service层处理,前端已有提示 |
| 3 |
端点覆盖 |
✅ 完整 |
52+个端点全部映射到流程图中,涵盖AdminAuthController、AdminController、AdminGuideController、AdminProductController、AdminProductOrderController、AdminFoodController、AdminEnergyConfigController |
| 4 |
角色覆盖 |
✅ 完整 |
管理员(admin)全量管理功能覆盖;规划师(teacher)审核等跨角色操作已标注 |
| 5 |
数据实体 |
✅ 完整 |
users、family_members、families、tasks、rewards、points_logs、task_templates、guide_packages、products、product_orders、foods、admins等表均在图中映射 |
| 6 |
一致性 |
✅ 与代码一致 |
所有端点路径与实际Controller中的@PostMapping匹配,无重复路由 |