3.1 KiB
3.1 KiB
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.phpapp/logic/UpgradeRecordQueryLogic.php→app/admin/logic/UpgradeRecordQueryLogic.php
- Validate(
namespace app\validate→app\admin\validate)app/validate/FirmwareCreateValidate.php→app/admin/validate/FirmwareCreateValidate.phpapp/validate/FirmwareListValidate.php→app/admin/validate/FirmwareListValidate.phpapp/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,确认删除的旧类名不在其它已改文件中出现。