Files
wwjcloud-nest-v1/.trae/documents/批次二修复计划:编译零错误与Java接口全面对齐.md

53 lines
3.5 KiB
Markdown
Raw Normal View History

## 目标
- 修复现存编译错误,确保所有接口与 Java 行为完全一致
- 保持 TypeORM 实体字段与数据库一致;不改表结构/索引
- 完成工具归一替换并删除重复文件,目录保持干净
## 待修复清单(按模块)
### DIY 模块
- 枚举迁移:从 Java 复制 `TemplateEnum``PagesEnum``libs/wwjcloud-core/src/enums/`
- DTO 属性风格统一:将 `DiyInfoParam/DiyTabbarParam/DiyTabbarListParam/DiyShareParam``siteId()/memberId()` 改为属性访问,字段与 Java 对齐
- 日志打印:将 `JsonUtils.stringify(...)` 改为 `JSON.stringify(...)`(或在工具中补齐 `stringify`,参考 Java 的 JSON 输出位置)
- 返回包装:统一使用项目已有返回构造,替换不匹配的 `Result<T>(...)` 构造
### 登录与渠道auth/login/channel
- 注入与导入修正:补充 `Site` 实体与 `CoreSiteServiceImpl/CoreH5ServiceImpl/CorePcServiceImpl` 的注入与导入
- 枚举迁移:复制 Java 的 `SiteStatusEnum/ChannelEnum``enums/` 并按值一致
- DTO 字段:`MemberInfoParam` 使用属性风格 `memberId/siteId`
### 会员模块member
- `memberId` 非空校验:在提现、地址、信息修改、签到等接口赋值/查询前统一校验未登录;抛出与 Java 一致的错误消息
- 空值更新路径:所有 `update/save` 的入参做严格非空判定,避免 `null` 传入(对齐 Java 空分支逻辑)
- JSON 校验:替代 `JsonUtils.isJson` 为安全解析或在工具内按 Java 行为实现
### 验证与核销captcha/verify
- Captcha 工具已兼容 `ResponseModel` 字段;对调用方统一读取 `isSuccess/repData/repMsg`,移除不兼容字段
- Verify 查询:`SysVerifyRecordsParam` 属性访问统一;移除 `take: 1`;补充 `createVerifyCode` 相关的 `memberId` 非空校验
### TypeORM 用法与空值
- 全仓移除 `findOne({ take: 1 })`,统一 `findOne({ where })` 或 QueryBuilder
- 所有可能为 `null` 的对象在更新前进行非空收窄;与 Java 分支一致的抛错或新建/返回逻辑
### 工具归一与清理
- 将剩余约 16 处 `core/common/utils` 引用替换为 `@wwjBoot/vendor/utils`qrcode/collect/distance/ip/tree/language/wechat/notice
- 删除重复工具文件:`core/common/utils/system-utils.ts``core/common/utils/captcha-utils.ts` 及其他迁移后的公共工具
- 保留域专用:`request-utils.ts``json/json-module-loader.ts`
## 对齐依据Java 源文件)
- 公众号/小程序 Serve`ServeController.java``ServeServiceImpl.java`
- jscode2session/手机号:`WeappServiceImpl.java`login/register 流程)
- 验证码:`CoreCaptchaImgServiceImpl.java`ResponseModel 字段读取)
- 短信驱动:`SmsLoader.java``BaseSms.java`forName 驱动加载)
- 插件安装列表 VO`InstallAddonListVo.java`icon/cover/supportApp 等字段)
- DIY 表单配置:`CoreDiyFormConfigServiceImpl.java`(编辑/提交配置与空值逻辑)
## 验证与交付
- 编译:确保零错误
- 契约:逐端点比对 Java 响应结构与状态码;事务与副作用对齐(日志/缓存失效/事件)
- Docker构建 API+MySQL+Redis前端 `.env.production` 指向后端;执行 k6 冒烟与路由契约测试
- 清理:输出已删除与替换清单,确认目录干净
## 时间表
- D1完成工具替换与重复文件删除修复 DIY/登录 的编译与契约
- D2修复会员/验证/TypeORM 用法与空值路径;完成编译零错误与 Docker 冒烟
- 并行:枚举/DTO 迁移与接口对齐同步进行,压缩至 1.52 天