release: freeze V1.2 demo acceptance 2026-10-25
CI/CD Pipeline / Test Shell Guard (Phase 23 Gate) (push) Waiting to run
CI/CD Pipeline / Backend Build & Test (push) Waiting to run
CI/CD Pipeline / Admin Web Build (push) Waiting to run
CI/CD Pipeline / Mini Program Compile Check (push) Waiting to run
CI/CD Pipeline / Migration Validation (push) Blocked by required conditions
CI/CD Pipeline / UI Contracts (source-structure gates) (push) Waiting to run
CI/CD Pipeline / E2E (live stack) (push) Blocked by required conditions

This commit is contained in:
WorkBuddy
2026-10-25 14:29:29 +08:00
parent f6744d3f91
commit 377429995c
137 changed files with 4136 additions and 175 deletions
@@ -2,29 +2,24 @@
## 结论
**NOT_IMPLEMENTED**。当前仓库只有工作台聚合接口 `GET /api/v1/operator/workbench/dashboard`,没有统一的六项详情聚合路由或 `MatchmakerDashboardMapper`,也没有可复用的六项详情 scope builder。审核、咨询、预约、活动和统计模块各自的列表/详情接口仍由模块服务维护,不能据此宣称六项卡片与详情已使用同一范围查询。
**PARTIAL**。已新增统一详情入口 `GET /api/v1/operator/workbench/details/{type}`,服务端从认证主体推导 `SELF`、`TEAM`、`ALL` 范围,禁止请求参数替代主体或组织,并复用已发布资料条件和工作台状态口径。
## 本次完成
## 已完成
- 已盘点工作台控制器、审核、咨询、预约、活动和 analytics 路由/服务,确认不存在统一详情入口。
- 已确认现有聚合服务内部有 `SELF`/`TEAM`/`ALL` 解析,但该解析为私有实现,未被详情查询复用。
- 支持 `review`、`matchmaker`、`counseling`、`appointment`、`match`、`activity` 六类详情。
- 普通红娘仅本人有效对象,组长仅本组织,管理员为全平台。
- 详情接口只接受类型、页码和页大小,不接受 `userId`、`matchmakerId`、`teamId`、`scope`。
- 未发布资料版本不进入详情统计。
- 无权限返回 `403`,组长无组织返回组织范围拒绝。
- 不返回身份证原始佐证、完整手机号或咨询备注正文。
## 未完成与风险
## 当前限制
- 六类详情接口尚未统一:请求仍可能进入各模块自己的列表/详情查询;跨组织拒绝、分页/时间筛选、聚合与详情一致性尚未形成单一服务端实现。
- 敏感佐证和咨询备注的独立权限仍由原模块控制,本任务未扩大其权限。
- 原有模块详情接口尚未全部迁移到统一入口,旧路由仍需逐步收敛。
- 本轮使用本机 PostgreSQL/Redis 活栈完成 SELF/TEAM/ALL 登录和六类详情路由验收;正式发布仍需在干净环境复验。
- 当前自动化已验证接口可用和范围推导,浏览器卡片点击与详情页面联调仍待执行。
## 建议后续实现
## 验证
- 新增统一 `MatchmakerDashboardMapper` 与服务端 scope builder,详情接口只接收分页和时间筛选。
- 让六项卡片与详情共用状态谓词、已发布资料条件和 `SELF`/`TEAM`/`ALL` 条件。
- 将敏感佐证、咨询备注继续留在各自权限与审计链路,不能由工作台详情隐式放开。
## 盘点依据
- `MatchmakerWorkbenchController`:仅 `GET /operator/workbench/dashboard`。
- `ReviewController`:`/operator/reviews/pending`、`/{taskId}` 独立查询。
- `CounselingController`:`/services/operator/queue`、`/assigned`、`/{id}` 独立查询。
- `ServiceAppointmentController`:`/operator/list` 独立查询。
- `ActivityOperatorController`:活动和报名列表独立查询。
- `AnalyticsController`:统计接口独立查询,未接工作台认证主体范围。
- `mvn -B -f backend/pom.xml -s backend/maven-settings.xml -DskipTests compile`:通过。
- `$env:E2E_OPERATOR_USERNAME='demo_admin'; $env:E2E_ADMIN_PASSWORD='demo123'; $env:E2E_OPERATOR_PASSWORD='demo123'; python -m pytest tests/e2e/v12_permission_scope_dashboard_test.py -q`:7 passed。