Files
wwjcloud/scripts/migration-gap-report.md

131 lines
5.1 KiB
Markdown
Raw Normal View History

### 迁移差异与缺失清单(对齐 PHP 基础功能)
说明:本清单基于当前仓库已迁移模块,与 PHP 基线进行人工对比归纳,聚焦基础能力缺口(控制器/服务三层/实体/守卫/DTO校验/命名契约)。仅列出有差异或需补齐的点。
---
#### member
- 控制器admin/api 已覆盖主要接口OK
- 服务admin/api 有core 占位,需细化规则
- 实体:`member``member_address` 已有;待补默认值/索引一致性
- DTO需按 PHP 校验补齐枚举/必填/范围
#### notice
- 控制器:`NoticeController``NoticeLogController``SmsLogController``NiuSmsController` 已齐
- 服务admin/api 有
- 实体:日志类字段与索引待核
- 守卫:类级 `JwtAuthGuard + RolesGuard` 需全覆盖(部分已补)
#### dict数据字典
- 控制器admin 有
- 服务admin 有api/core 缺
- 实体:缺 字典主表/字典项表
- 动作:补实体与 core 规则缓存、键查找DTO 校验对齐 PHP
#### diy
- 控制器:已涵盖 `Diy.php` 主流程
- 服务admin 有api 有部分core 占位
- 实体:缺 `diy_page``diy_config`
- 动作:模板/路由/表单配置持久化;仅在 PHP 有监听时补 listen 逻辑
#### generator
- 控制器lists/info/preview/add/edit/del/create/tableList 等已建
- 服务admin 有core 占位
- 实体:缺 生成任务/配置类表
- 动作DB 元信息对接与落库
#### poster
- 控制器:`poster()` 与 CRUD 占位
- 服务admin 有
- 实体:缺 海报模板/任务
- 动作:合成参数映射与存储结构对齐 PHP
#### pay
- 控制器:`PayController``PayRefundController``TransferController``PayChannelController` 已建
- 服务admin 有core 缺(支付规则抽象)
- 实体:缺 退款/转账/流水/回调记录等表
- 动作渠道配置细分、回调验签、流水聚合查询、DTO 校验
- 守卫:类级守卫需全覆盖(部分已补)
#### paytype
- 控制器/服务admin 有api/core 缺
- 实体:缺 支付类型/开关表
- 动作:对齐 PHP 的类型字典
#### weapp
- 控制器admin模板/版本/投递/配置/包、api登录/注册/订阅)已建
- 服务admin/api 有core 缺
- 实体:缺 模板/版本/包/配置/订阅记录等
- 动作upload/submit/build/sync 的状态流转与记录
#### wechat
- 控制器reply/template/media/menu/config 已建
- 服务admin 有
- 实体:缺 素材、模板、回复规则
- 动作:回复规则与库结构对齐 PHP
#### channel
- 控制器:`ChannelController``PcController``H5Controller` 已建
- 服务admin 有api/core 占位
- 实体:`Channel` 已有;默认值/索引待核
- 动作PC/H5 配置持久化与读取
#### site
- 控制器site/home_site/site_account/site_group/user_log 已建
- 服务admin 有core 占位
- 实体:`Site` 已扩展对齐OK
- 监听:已按 PHP 事件名建立;需完善 handle 逻辑(仅 PHP 存在监听时)
#### auth / login
- 控制器:`AuthController``CaptchaController``LoginController``LoginConfigController` 已建
- 服务admin 有
- 实体:`auth_token` 字段需对齐refresh/ip/ua 等)
- 动作:登录/刷新/登出与 RBAC 绑定,验证码策略对齐 PHP
#### rbac / menu / role
- 控制器:`rbac/*``sys/menu` 并存(命名分散)
- 服务admin 有
- 实体:`sys_role``sys_menu` 已有;默认值/索引待核
- 动作:按 PHP 统一为 `/adminapi/sys/*`;权限键对齐
#### sys系统配置域
- 控制器agreement/app/area/attachment/channel/common/config/export/menu/poster/printer/role/schedule/scheduleLog/system/ueditor 已建
- 服务:部分缺 admin 服务实现
- 实体:缺 config/attachment/schedule/log 等
- 动作:配置键与 `sys_config.value(JSON)` 模式对齐,补实体与服务
#### upload
- 控制器admin/api 有
- 服务admin 有api 落库实现缺
- 实体:缺 文件存储记录/分片/策略
- 动作:对齐 PHP 文件表与策略字段
#### user
- 控制器/服务admin 有
- 实体:`sys_user` 已建;默认值/索引需核last_time/login_count/status 等)
#### 其他backup/printer/upgrade/install/niucloud/aliapp/applet/wxoplatform
- 控制器/服务admin 有
- 实体:部分缺表或字段不全
- 动作:按 PHP 表结构逐项补齐
---
### 横向问题
- 守卫:所有 admin 控制器需类级 `JwtAuthGuard + RolesGuard`(部分已补,将全覆盖)
- 服务三层:大量模块缺 `services/core` 规则层;少量缺 `services/api`
- DTO需严格复刻 PHP 校验IsNotEmpty/Length/IsEnum/Min/Max 等)
- 路由契约:命名与路径与 PHP 完全对齐;合并重复的 `rbac/menu``sys/menu`
- 监听:仅 PHP 存在的才在 Nest 增补,并由应用层发射事件
---
### 建议的修复顺序(执行中)
1) pay通道/回调验签/流水)
2) sysdict/config/attachment/schedule/log
3) weapp/wechat配置/模板/版本/素材/回复)
4) diy/generator/poster
5) upload
6) rbac 合并路由口径
(本文档会随修复推进持续更新)