This commit is contained in:
ray zhou
2026-06-29 14:51:55 +08:00
parent 225fb2bd28
commit 2dd9f17da9
319 changed files with 29461 additions and 9412 deletions

View File

@@ -0,0 +1,53 @@
<!-- 921d6aef-b550-4dca-b907-d43c81593092 -->
---
todos:
- id: "move-logic"
content: "将 FirmwareLogic、UpgradeRecordQueryLogic 迁到 app/admin/logicnamespace 改为 app\\admin\\logic"
status: pending
- id: "move-validate"
content: "将 FirmwareCreateValidate、FirmwareListValidate、UpgradeRecordListValidate 迁到 app/admin/validatenamespace 改为 app\\admin\\validate"
status: pending
- id: "update-controllers"
content: "更新 FirmwareController、UpgradeRecordController 的 use 语句指向新命名空间"
status: pending
- id: "update-doc"
content: "同步 docs/requirements/OTA-admin.md §9 实现落点路径"
status: pending
- id: "verify"
content: "跑 php -l 与后端门禁脚本校验迁移结果"
status: pending
isProject: false
---
# OTA 后台专属 Logic/Validate 按应用拆分
## 背景与判断
这是 webman 多应用结构,控制器已按应用拆(`app/admin/controller/``app/internal/controller/`),但 Logic/Validate 仍堆在共用目录。`FirmwareLogic` / `UpgradeRecordQueryLogic` 与 3 个 Validate 只被 `app/admin/controller/*` 使用,属后台专属,挪到 `app/admin/` 下符合现有约定。`app\ → ./app` 的 PSR-4 映射使 `app\admin\logic` / `app\admin\validate` 自动加载,无需改 composer。
## 迁移清单(仅改 namespace + 路径,类体不动)
- Logic`namespace app\logic``app\admin\logic`
- `app/logic/FirmwareLogic.php``app/admin/logic/FirmwareLogic.php`
- `app/logic/UpgradeRecordQueryLogic.php``app/admin/logic/UpgradeRecordQueryLogic.php`
- Validate`namespace app\validate``app\admin\validate`
- `app/validate/FirmwareCreateValidate.php``app/admin/validate/FirmwareCreateValidate.php`
- `app/validate/FirmwareListValidate.php``app/admin/validate/FirmwareListValidate.php`
- `app/validate/UpgradeRecordListValidate.php``app/admin/validate/UpgradeRecordListValidate.php`
## 引用更新
- `app/admin/controller/FirmwareController.php``use app\logic\FirmwareLogic;``use app\admin\logic\FirmwareLogic;``use app\validate\FirmwareCreateValidate;` / `FirmwareListValidate;``app\admin\validate\...`
- `app/admin/controller/UpgradeRecordController.php``use app\logic\UpgradeRecordQueryLogic;``app\admin\logic\...``use app\validate\UpgradeRecordListValidate;``app\admin\validate\...`
## 不改动
- 内部专属 `OtaCheckLogic``OtaReportLogic` 与进程专属 `OtaRecordExpireLogic` 保留在 `app/logic/`(本次范围只动后台 CRUD
- DTO`OtaCheckDTO`/`OtaReportDTO`、Model、tests 不涉及这些类,无需改。
## 文档同步
- `docs/requirements/OTA-admin.md` §9 实现落点:把 `app/logic/FirmwareLogic.php``app/logic/UpgradeRecordQueryLogic.php` 改为 `app/admin/logic/...``app/validate/*` 改为 `app/admin/validate/*`
## 收尾校验
- 迁移后对 5 个新文件与 2 个控制器跑容器内 `php -l`,并执行后端门禁脚本 `~/.cursor/skills/slot-backend-completion-report/scripts/report.sh`,确认删除的旧类名不在其它已改文件中出现。