新增门禁:实现访问管理界面与Mock端到端测试

This commit is contained in:
wangzhibiao committed 2026-09-16 11:43:58 +08:00
1 parent 20c5d494cf
commit d976fcfb4d
29 files changed
+2423 -281

No files matched your search

@@ -242,3 +242,33 @@ flowchart TD
- `008_RUNTIME_FIRST_RUN = NOT_EXECUTED`,`008_RUNTIME_SECOND_RUN = NOT_EXECUTED`。
- `009_RUNTIME_FIRST_RUN = NOT_EXECUTED`,`009_RUNTIME_SECOND_RUN = NOT_EXECUTED`。
- `RUNTIME_MIGRATION_GATE_BEFORE_PRODUCTION = REQUIRED`。
### 3.6 Wave 3B Implementation Result (Admin UI / Mock E2E 闭环验收)
- **阶段目标**:Admin UI 与 Mock DMS 15 大场景端到端验收闭环
- **执行状态**:Wave 3B implemented and verified against Mock DMS
- **核心交付清单**:
1. 权限迁移脚本:`RuoYi-Vue/sql/system/kingbase/010_dms_access_management_permissions.sql`(安全编号 010,幂等插入 `train:access:query`、`train:access:manage`、`train:access:reconcile` 权限)。
2. 控制器与脱敏 API:`TrainAccessManagementController.java`(提供外部资源映射查询/管理、门禁权限列表、脱敏操作流水、受前置条件约束的手动对账)。
3. 权限契约与接口测试:`DmsAccessManagementPermissionMigrationContractTest.java` (3 项)、`TrainAccessManagementControllerTest.java` (5 项)。
4. 完整 15 场景 Mock E2E 套件:`DmsMockE2EScenariosSuiteTest.java` (15 项全部通过)。
5. 前端 API 封装:`build_ui/src/api/train/access.js`。
6. 宿舍房间外部映射 UI:`build_ui/src/views/train/dormitory/index.vue`(集成主锁健康度诊断 `HEALTHY`、`MISSING_PRIMARY`、`MULTIPLE_PRIMARIES`)。
7. 门禁权限管理 UI:`build_ui/src/views/train/auth/index.vue`(生命周期状态徽章、脱敏流水弹窗、手动对账反馈)。
8. 系统名称规约统一:`SYFJGYD学员管理系统`(`.env.development`、`.env.production`、`Logo.vue`)。
9. 交互证据沉淀:`docs/reports/dms-r3/mock-e2e/20260916_033500/`(含 README、report、run-data、scenario-results、security-results 及 10 张真实截图)。
- **全量构建与回归验收**:
- `ruoyi-train`: 234 tests
- `ruoyi-admin`: 37 tests
- 总计:271 tests, Failures = 0, Errors = 0, Skipped = 0,全部通过。
- Maven package: SUCCESS。
- 前端构建与代码风格:`npm run build:prod` PASS,ESLint errors = 0, warnings = 0。
- 静态检查:`git diff --check` PASS。
- **环境纪律与准入门禁**:
- `LIVE_DMS_REQUEST_COUNT = 0`。
- `PASSWORD_PLAINTEXT_PERSISTENCE_COUNT = 0`。
- `SECRET_UI_EXPOSURE_COUNT = 0`。
- `REMOTE_UNLOCK_CALLABLE_ENTRY_COUNT = 0`。
- `008_RUNTIME_FIRST_RUN = NOT_EXECUTED`,`008_RUNTIME_SECOND_RUN = NOT_EXECUTED`。
- `009_RUNTIME_FIRST_RUN = NOT_EXECUTED`,`009_RUNTIME_SECOND_RUN = NOT_EXECUTED`。
- `010_RUNTIME_FIRST_RUN = NOT_EXECUTED`,`010_RUNTIME_SECOND_RUN = NOT_EXECUTED`。
- `RUNTIME_MIGRATION_GATE_BEFORE_PRODUCTION = REQUIRED`。