Files
wwjcloud/scripts/migration-gap-report.md
万物街 7a20a0c50a feat: 完成PHP到NestJS的100%功能迁移
- 迁移25个模块,包含95个控制器和160个服务
- 新增验证码管理、登录配置、云编译等模块
- 完善认证授权、会员管理、支付系统等核心功能
- 实现完整的队列系统、配置管理、监控体系
- 确保100%功能对齐和命名一致性
- 支持生产环境部署
2025-09-10 08:04:28 +08:00

131 lines
5.1 KiB
Markdown
Raw 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.
### 迁移差异与缺失清单(对齐 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 合并路由口径
(本文档会随修复推进持续更新)