| | |
| | | ## 模块边界 |
| | | |
| | | - `battery-business` 负责测试业务、状态聚合、事务、持久化、修订和异常;它只依赖 `battery-device-api`,不解析 BTS XML 或依赖 Redis/模拟器。 |
| | | - `battery-device-api` 提供厂商无关观测模型;`battery-device-bts` 封装协议;`battery-device-simulator` 提供开发实现。协议 XML、TCP 帧和厂商枚举停留在 BTS 模块内部。 |
| | | - `battery-device-api` 提供厂商无关观测模型;`battery-device-bts` 封装协议;直连厂商存储的实现放在 `battery-device-neware`,读本项目落地表的推式实现放在 `battery-business`(开发模拟器模块已按 Ticket04 整体拆除)。协议 XML、TCP 帧和厂商枚举停留在 BTS 模块内部。 |
| | | - `ruoyi-admin` 只负责应用装配及 REST/SSE 控制器,不承载采集或状态机业务。 |
| | | - 第一阶段打包为一个后端进程,并明确保持单采集实例;最终业务基线不建立适配器租约模型。 |
| | | |
| | |
| | | |
| | | ## 数据库迁移 |
| | | |
| | | - 开发数据库是 WSL 内 Docker 的 MySQL 8,通过 Windows 端口映射 `127.0.0.1:6134/battery_detection` 访问。连接配置保留可覆盖能力,部署环境通过参数提供凭据。 |
| | | - 开发数据库是 WSL 内 Docker 的 MySQL 8,通过 Windows 端口映射 `127.0.0.1:6134/battery_detection_refactor` 访问。连接配置保留可覆盖能力,部署环境通过参数提供凭据。 |
| | | - 旧库的 `V1`–`V<n>` 迁移和整库导出仅作不可变历史;架构重构使用新的最终业务基线初始化空库,不迁移当前测试数据。基线变更不得改写旧脚本。 |
| | | - 迁移必须可从空库顺序执行,并可在已迁移库重复启动。迁移不得导入演示设备、演示测试、采样数据或历史日志。 |
| | | - 项目排除了默认 `DataSourceAutoConfiguration`;Flyway 在 `FlywayMigrationConfig` 中使用独立 JDBC 连接,并且 `dynamicDataSource` 必须等待迁移完成。 |
| | |
| | | - 设备协议或调度改动至少覆盖正常多通道、拒绝连接、断线、超时、畸形 XML 和实时数据幂等冲突等受影响场景。 |
| | | - 运行受影响 `battery-*` 模块测试;跨模块契约变更运行全量测试 `mvn test`。 |
| | | - 验证可执行包:`mvn -pl ruoyi-admin -am package -DskipTests`。启动验证时使用可写的 `LOG_PATH`,完成后停止临时进程。 |
| | | - 浏览器主接缝由前端仓库 `npm run test:e2e:ticket04` 编排隔离 MySQL 8、Redis、完整可执行包和模拟器;不得连接共享开发库或复用已有服务端口。 |
| | | - 浏览器主接缝由前端仓库 `npm run test:e2e:ticket04` 编排隔离 MySQL 8、Redis、完整可执行包;不得连接共享开发库或复用已有服务端口。**该编排原本还会启动开发模拟器,模拟器已按 Ticket04 整体拆除**,`tests/e2e/` 下依赖模拟器页面与端点的用例在按真实来源重写之前跑不通(见 `docs/KNOWN-GAPS.md`)。 |