53 lines
3.1 KiB
Markdown
53 lines
3.1 KiB
Markdown
<!-- 921d6aef-b550-4dca-b907-d43c81593092 -->
|
||
---
|
||
todos:
|
||
- id: "move-logic"
|
||
content: "将 FirmwareLogic、UpgradeRecordQueryLogic 迁到 app/admin/logic,namespace 改为 app\\admin\\logic"
|
||
status: pending
|
||
- id: "move-validate"
|
||
content: "将 FirmwareCreateValidate、FirmwareListValidate、UpgradeRecordListValidate 迁到 app/admin/validate,namespace 改为 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`,确认删除的旧类名不在其它已改文件中出现。 |