Files
cursor/plans/OTA admin logic split-921d6aef.plan.md
ray zhou 2dd9f17da9 ok
2026-06-29 14:51:55 +08:00

53 lines
3.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!-- 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`,确认删除的旧类名不在其它已改文件中出现。