新增门禁:实现访问授权编排
This commit is contained in:
1 parent
bb16b0b875
commit
20c5d494cf
22 files changed
+2306
-7
No files matched your search
@@ -215,3 +215,30 @@ flowchart TD
|
||||
- `008_RUNTIME_FIRST_RUN = NOT_EXECUTED`
|
||||
- `008_RUNTIME_SECOND_RUN = NOT_EXECUTED`
|
||||
- `RUNTIME_MIGRATION_GATE_BEFORE_PRODUCTION = REQUIRED`
|
||||
|
||||
### 3.5 Wave 3A Implementation Result (业务状态/门禁期望状态/外部操作统一编排 Dry-Run - Wave 3A implemented against Mock DMS only)
|
||||
- **阶段目标**:Access Authorization Orchestration Dry-Run
|
||||
- **执行状态**:Wave 3A implemented against Mock DMS only
|
||||
- **核心交付清单**:
|
||||
1. 架构扩展迁移脚本:`RuoYi-Vue/sql/system/kingbase/009_dorm_authorization_orchestration.sql`(安全编号 009,幂等增量添加凭据类型、业务授权状态、关联操作ID与版本号列,零明文列)。
|
||||
2. 实体模型扩展:`TrainDormAuth.java`(新增业务状态与凭据常量、双向状态映射、版本控制属性)。
|
||||
3. 服务层编排扩展:`ITrainDormAuthService/Impl`(实现 `ensureAuthorizationForAccommodation`、`updateAuthStatusByPoller` 并植入迟到保护)。
|
||||
4. 安全凭据生成器:`SecurePasswordGenerator.java`(`SecureRandom` 强随机、6 位纯数字、内存局部留存、杜绝弱密码)。
|
||||
5. 统一编排器:`AccessAuthorizationOrchestrator.java`(状态驱动对账 `reconcile`,解耦业务事件时序,短事务解耦外部 HTTP,最少特权单主锁策略,调房先新后旧)。
|
||||
6. 异步轮询器联动推进:`DmsOperationPoller.java`(集成授权状态联动,根据最新操作归属安全更新业务授权状态)。
|
||||
7. 业务事件安全挂接:`TrainAccommodationServiceImpl.java`(分房/退宿/调房)、`EnrollmentAppServiceImpl.java`(报到确认)、`EnrollmentPlanCompletionAdapter.java`(计划结训),异常不回滚本地业务主事务。
|
||||
8. 迁移契约测试:`DormAuthorizationOrchestrationMigrationContractTest.java` (4 项)。
|
||||
9. 端到端编排测试:`AccessAuthorizationOrchestrationTest.java` (9 项)。
|
||||
10. 业务事务独立性与安全扫描:`BusinessTransactionIndependenceTest.java` (5 项)。
|
||||
- **全量构建与回归验收**:
|
||||
- `ruoyi-train`: 219 tests
|
||||
- `ruoyi-admin`: 32 tests
|
||||
- 总计:251 tests, Failures = 0, Errors = 0, Skipped = 0,全部通过。
|
||||
- Maven `clean test` 与 `clean package` 构建成功。
|
||||
- 静态检查:`git diff --check` PASS。
|
||||
- **环境纪律与准入门禁**:
|
||||
- `LIVE_DMS_REQUEST_COUNT = 0`。
|
||||
- `FRONTEND_MODIFIED = 0`,`CONTROLLER_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`。
|
||||
- `RUNTIME_MIGRATION_GATE_BEFORE_PRODUCTION = REQUIRED`。
|
||||
Reference in new issue
Block a user