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

5.1 KiB
Raw Blame History

迁移差异与缺失清单(对齐 PHP 基础功能)

说明:本清单基于当前仓库已迁移模块,与 PHP 基线进行人工对比归纳,聚焦基础能力缺口(控制器/服务三层/实体/守卫/DTO校验/命名契约)。仅列出有差异或需补齐的点。


member

  • 控制器admin/api 已覆盖主要接口OK
  • 服务admin/api 有core 占位,需细化规则
  • 实体:membermember_address 已有;待补默认值/索引一致性
  • DTO需按 PHP 校验补齐枚举/必填/范围

notice

  • 控制器:NoticeControllerNoticeLogControllerSmsLogControllerNiuSmsController 已齐
  • 服务admin/api 有
  • 实体:日志类字段与索引待核
  • 守卫:类级 JwtAuthGuard + RolesGuard 需全覆盖(部分已补)

dict数据字典

  • 控制器admin 有
  • 服务admin 有api/core 缺
  • 实体:缺 字典主表/字典项表
  • 动作:补实体与 core 规则缓存、键查找DTO 校验对齐 PHP

diy

  • 控制器:已涵盖 Diy.php 主流程
  • 服务admin 有api 有部分core 占位
  • 实体:缺 diy_pagediy_config
  • 动作:模板/路由/表单配置持久化;仅在 PHP 有监听时补 listen 逻辑

generator

  • 控制器lists/info/preview/add/edit/del/create/tableList 等已建
  • 服务admin 有core 占位
  • 实体:缺 生成任务/配置类表
  • 动作DB 元信息对接与落库

poster

  • 控制器:poster() 与 CRUD 占位
  • 服务admin 有
  • 实体:缺 海报模板/任务
  • 动作:合成参数映射与存储结构对齐 PHP

pay

  • 控制器:PayControllerPayRefundControllerTransferControllerPayChannelController 已建
  • 服务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

  • 控制器:ChannelControllerPcControllerH5Controller 已建
  • 服务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

  • 控制器:AuthControllerCaptchaControllerLoginControllerLoginConfigController 已建
  • 服务admin 有
  • 实体:auth_token 字段需对齐refresh/ip/ua 等)
  • 动作:登录/刷新/登出与 RBAC 绑定,验证码策略对齐 PHP

rbac / menu / role

  • 控制器:rbac/*sys/menu 并存(命名分散)
  • 服务admin 有
  • 实体:sys_rolesys_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/menusys/menu
  • 监听:仅 PHP 存在的才在 Nest 增补,并由应用层发射事件

建议的修复顺序(执行中)

  1. pay通道/回调验签/流水)
  2. sysdict/config/attachment/schedule/log
  3. weapp/wechat配置/模板/版本/素材/回复)
  4. diy/generator/poster
  5. upload
  6. rbac 合并路由口径

(本文档会随修复推进持续更新)