chore(release): unify to wwjcloud across backend/frontend; routes, DTO/VO paths, docs/links; remove niucloud; naming fixes
This commit is contained in:
@@ -1,36 +1,48 @@
|
||||
---
|
||||
description:
|
||||
description: Java后端迁移到v1框架的智能体工作流程规则
|
||||
globs:
|
||||
alwaysApply: true
|
||||
---
|
||||
## 智能体工作流程(多智能体协作)
|
||||
## 智能体工作流程(多智能体协作 - Java迁移版)
|
||||
|
||||
### 角色定义(按执行顺序标注)
|
||||
- S1 需求分析体(Analyzer): 解析需求、对应 PHP/Nest 规范、输出任务切分与验收标准
|
||||
- S2 架构治理体(Architect): 校验分层/依赖/目录规范,给出重构建议与边界清单
|
||||
- S1 需求分析体(Analyzer): 解析Java项目结构、建立元数据索引、输出Java→NestJS映射关系
|
||||
- S2 架构治理体(Architect): 校验分层/依赖/目录规范,确保与Java架构对齐
|
||||
- S3 基建接入体(InfraOperator): 接入/校验 Kafka、Redis、队列、事务与配置,提供接入差异与示例
|
||||
- S4 开发执行体(Developer): 按规范编码、编写测试、修复构建
|
||||
- S4 开发执行体(Developer): 使用迁移工具生成代码,按Java逻辑对齐业务实现
|
||||
- S5 安全基线体(SecurityGuard): 检查守卫、跨租户(site_id)隔离、敏感信息暴露(开发中与提测前各执行一次)
|
||||
- S6 质量门禁体(QualityGate): 聚合 ESLint/TS/覆盖率/e2e 结果,低于阈值阻断合并
|
||||
- S7 规范审计体(Auditor): 按清单逐项核查,出具差异报告与修复项
|
||||
- S7 规范审计体(Auditor): 按Java迁移清单逐项核查,确保与Java版本100%一致
|
||||
- S8 上线管控体(Release): 构建、变更说明、灰度计划与回滚预案
|
||||
- S9 性能优化体(PerfTuner): 建议缓存/异步化/批处理,识别大对象传输与 N+1(开发后期与上线后持续执行)
|
||||
|
||||
### 串联流程(带顺序)
|
||||
1) S1 Analyzer
|
||||
- 输入: 业务需求/接口变更/对齐 PHP 的说明
|
||||
- 输出: 模块划分、路由表、DTO、实体字段清单、与 DB/ThinkPHP 对照
|
||||
|
||||
1) S1 Analyzer (Java迁移版)
|
||||
- 输入: Java项目扫描结果、业务逻辑对齐需求
|
||||
- 输出: Java→NestJS映射关系、方法签名对比、依赖关系分析
|
||||
- 执行:
|
||||
- 运行迁移工具 `tools/java-to-nestjs-migration/migration-coordinator.js` 扫描Java项目
|
||||
- 构建中央数据仓库(CDR):Service方法签名索引、DTO类型映射、实体映射关系
|
||||
- 生成映射报告:Java文件→NestJS文件映射表、方法签名对比表、依赖关系分析报告
|
||||
|
||||
2) S2 Architect
|
||||
- 校验: 模块目录、分层(Application/Core/Infrastructure)、依赖方向(App→Common→Core→Vendor)
|
||||
- 校验: 模块目录、分层结构、依赖方向(确保与Java架构对齐)
|
||||
- 输出: 设计说明、端口(Repository/Provider)定义、删除/迁移建议
|
||||
- 重点: 确保动态模块加载机制正确(EntityModule.register()、ServiceModule.register()、ControllerModule.register())
|
||||
|
||||
3) S3 InfraOperator
|
||||
- 接入: Kafka/Redis/队列/事务的工程化接入与配置
|
||||
- 产物: 接入差异与示例代码(见 integration.md),健康检查/配置项校验清单
|
||||
- 产物: 接入差异与示例代码,健康检查/配置项校验清单
|
||||
- 注意: 使用v1框架能力(AuthService、CacheService、AppConfigService)
|
||||
|
||||
4) S4 Developer
|
||||
- 实现: Controller 仅路由+DTO校验;AppService 编排;Core 规则;Infra 实现;Entity 对齐 DB
|
||||
- **Java迁移执行步骤**:
|
||||
1. 使用迁移工具生成代码骨架(Entity、DTO、Service、Controller)
|
||||
2. 按模块优先级逐个对齐Java业务逻辑(P0核心→P1基础→P2业务→P3扩展)
|
||||
3. 严格对齐方法签名、参数处理、返回值、异常处理、数据库操作
|
||||
4. 使用v1框架能力(AuthService、CacheService、AppConfigService、工具类)
|
||||
5. 禁止自创业务逻辑,必须完全按照Java实现
|
||||
- 接入: 守卫(RBAC)、Pipes(JSON/Timestamp)、拦截器(请求日志)、事件与队列
|
||||
- 测试: 单测/集成/e2e,构建通过
|
||||
|
||||
@@ -41,8 +53,14 @@ alwaysApply: true
|
||||
- 指标: ESLint/TS 无报错;覆盖率≥阈值;e2e 关键路径通过
|
||||
- 动作: 不达标阻断合并
|
||||
|
||||
7) S7 Auditor(提测前)
|
||||
- 检查: 规范清单(见 checklists.md),字段/命名/路由/守卫/事务/队列/事件 与 PHP/DB 对齐
|
||||
7) S7 Auditor(提测前 - Java迁移版)
|
||||
- **Java迁移审计检查点**:
|
||||
- 检查方法签名是否与Java完全一致
|
||||
- 检查API路径、HTTP方法、参数名是否与Java一致
|
||||
- 检查响应格式、错误码、异常消息是否与Java一致
|
||||
- 检查数据库操作是否与Java逻辑一致
|
||||
- 检查是否使用了框架能力而非自创逻辑
|
||||
- 检查表名、字段名是否与Java完全一致(禁止修改)
|
||||
- 产物: 差异报告与修复任务
|
||||
|
||||
8) S5 SecurityGuard(第二次,提测前)
|
||||
@@ -54,49 +72,136 @@ alwaysApply: true
|
||||
10) S8 Release
|
||||
- 产出: 变更日志、部署步骤、数据迁移脚本、回滚预案
|
||||
|
||||
### 关键约束
|
||||
- 与 PHP 业务/数据100%一致;与 NestJS 规范100%匹配
|
||||
### 关键约束(Java迁移)
|
||||
|
||||
- **核心原则**:与 Java 业务逻辑100%对齐;数据库结构100%对齐;API接口100%对齐
|
||||
- **优先原则**:优先对齐Java逻辑,再优化框架特性;禁止自创业务逻辑
|
||||
- **数据库约束**:禁止修改表名、字段名、字段类型、索引结构(必须与Java完全一致)
|
||||
- **API约束**:路由路径、HTTP方法、参数名、响应格式、错误码必须与Java一致
|
||||
- 禁止创建 DB 不存在字段;`sys_config.value(JSON)` 统一
|
||||
- 管理端路由 `/adminapi`,前台 `/api`;统一守卫与响应格式
|
||||
- 管理端路由 `/adminapi`,前台 `/api`;统一守卫与响应格式
|
||||
|
||||
### 基础能力检查点(Kafka / Redis / 队列 / 事务)
|
||||
|
||||
- 事务: 仅在 Application 开启;多仓储共享同一 EntityManager;Core 不直接操作事务对象
|
||||
- 队列: 用例完成后入队;载荷仅传关键 ID;处理器在 Infrastructure;按队列名分域
|
||||
- 事件: 统一用 DomainEventService;事件名 `domain.aggregate.action`;默认 DB Outbox,可切 Kafka
|
||||
- Redis: 短缓存配置读取、上传限流/防刷(计数器)、幂等(SETNX+TTL)
|
||||
|
||||
### 命名与对齐
|
||||
- PHP 业务命名优先(不违反 Nest/TS 规范前提下),包括服务方法、DTO 字段、配置键
|
||||
- Nest 特有类型按规范命名:`*.module.ts`、`*.controller.ts`、`*.app.service.ts`、`*.core.service.ts`
|
||||
### 命名与对齐(Java迁移)
|
||||
|
||||
- **Java业务命名优先**(不违反 Nest/TS 规范前提下),包括服务方法、DTO 字段
|
||||
- **表名、字段名必须与Java完全一致**(禁止修改)
|
||||
- **Service实现类命名规则**:
|
||||
- Java `ServiceImpl` → NestJS `ServiceImpl`(保持原样,不添加Service后缀)
|
||||
- Java `IService` → NestJS `Service`(接口,去掉I前缀)
|
||||
- **动态模块加载**:使用 `EntityModule.register()`、`ServiceModule.register()`、`ControllerModule.register()`
|
||||
- Nest 特有类型按规范命名:`*.module.ts`、`*.controller.ts`、`*.service.ts`、`*.entity.ts`、`*.dto.ts`
|
||||
|
||||
### 核心链接
|
||||
- 模块映射: `./mapping.md`
|
||||
- 能力集成: `./integration.md`
|
||||
- 规则与清单: `./rules.md`、`./checklists.md`
|
||||
|
||||
- **Java迁移方案**: `./java-migration.mdc`(完整迁移方案和规则)
|
||||
- **迁移工具**: `tools/java-to-nestjs-migration/`(迁移工具目录)
|
||||
- **迁移报告**: `tools/java-to-nestjs-migration/migration-report.json`(迁移报告)
|
||||
|
||||
### 执行与验收(CI/PR 建议)
|
||||
|
||||
- PR 必须通过: build、单测/集成/e2e
|
||||
- 审计体根据 `checklists.md` 自动评论差异(字段/命名/路由/守卫/事务/队列/事件)
|
||||
- 安全基线: 管理端控制器统一 `JwtAuthGuard + RolesGuard`;/adminapi 与 /api 路由前缀
|
||||
- 审计体根据 `java-migration.mdc` 自动检查Java对齐情况
|
||||
- 安全基线: 管理端控制器统一 `JwtAuthGuard + RolesGuard`;/adminapi 与 /api 路由前缀
|
||||
|
||||
### 目录职能速查(防误用)
|
||||
- common/(框架通用服务层)
|
||||
- 放可被业务复用的通用功能:用户/权限/菜单/上传/通知/设置等模块
|
||||
- 内部模块按 Controller / Application / Core / Infrastructure / Entities / DTO 分层
|
||||
- 禁止依赖 App 层;允许依赖 core/, config/, vendor/
|
||||
- config/(配置与适配)
|
||||
- 环境变量、数据库/HTTP/安全/队列/第三方等配置模块与注入工厂
|
||||
- 仅存放配置与适配代码,不放业务逻辑
|
||||
- core/(核心基础设施与通用规则)
|
||||
- 通用规则/策略与仓储接口(Core 层),以及全局基础设施(如队列、事件、健康、拦截器)
|
||||
- 不直接依赖业务模块;面向 common/app 提供能力
|
||||
- vendor/(第三方适配层)
|
||||
- 外部服务适配:存储/支付/短信/HTTP/Kafka/Redis 等 Provider
|
||||
- 通过接口注入到 Infrastructure 或 Application,避免在 Controller 直接使用
|
||||
- lang/(多语言)
|
||||
- 多语言资源与语言包,供接口/异常/文案统一输出
|
||||
- 智能体在涉及文案/错误消息时,优先调用多语言键值而非写死文本
|
||||
- test/(测试)
|
||||
- 单元/集成/e2e 测试,包含关键业务与基础能力(事务/队列/事件/权限)覆盖
|
||||
### 目录职能速查(Java迁移项目 - v1框架)
|
||||
|
||||
- PR 必须通过测试基线,质量门禁体(QualityGate)据此决策
|
||||
#### 核心目录结构:
|
||||
- **entities/**(实体层)
|
||||
- TypeORM实体文件,表名、字段名必须与Java完全一致
|
||||
- 由迁移工具自动生成,禁止手动修改表结构
|
||||
- 文件命名:`*.entity.ts`(如 `sys-user.entity.ts`)
|
||||
|
||||
- **dtos/**(数据传输对象层)
|
||||
- DTO/VO/Param文件,字段名、类型必须与Java一致
|
||||
- 目录结构:`dtos/admin/*/*.dto.ts`、`dtos/api/*/*.dto.ts`、`dtos/core/*/*.dto.ts`
|
||||
- 由迁移工具自动生成,需要手动对齐验证规则
|
||||
|
||||
- **services/**(服务层)
|
||||
- **admin/**:管理端服务(对应Java `service.admin`)
|
||||
- **api/**:前台服务(对应Java `service.api`)
|
||||
- **core/**:核心服务(对应Java `service.core`)
|
||||
- 使用动态模块加载:`ServiceModule.register()`
|
||||
- 文件命名:`*-service-impl.service.ts`(实现类)
|
||||
|
||||
- **controllers/**(控制器层)
|
||||
- **adminapi/**:管理端控制器(对应Java `controller.adminapi`)
|
||||
- **api/**:前台控制器(对应Java `controller.api`)
|
||||
- 使用动态模块加载:`ControllerModule.register()`
|
||||
- 文件命名:`*.controller.ts`
|
||||
|
||||
- **entity.module.ts、service.module.ts、controller.module.ts**
|
||||
- 动态模块文件,由迁移工具自动生成
|
||||
- 自动扫描并注册所有实体、服务、控制器
|
||||
- 必须使用 `.register()` 方法注册
|
||||
|
||||
- **jobs/**(定时任务层)
|
||||
- 定时任务文件,对应Java `job.*`
|
||||
- 使用 `JobProviderRegistry` 注册
|
||||
|
||||
- **listeners/**(监听器层)
|
||||
- 事件监听器文件,对应Java `listener.*`
|
||||
|
||||
- **enums/**(枚举层)
|
||||
- 枚举文件,对应Java枚举类
|
||||
|
||||
#### 模块优先级(对齐顺序):
|
||||
|
||||
1. **P0 核心模块**:认证、权限、用户管理
|
||||
- `services/admin/auth/*`
|
||||
- `services/admin/user/*`
|
||||
- `services/admin/rbac/*`
|
||||
|
||||
2. **P1 基础模块**:配置、菜单、字典
|
||||
- `services/admin/sys/*`
|
||||
- `services/core/config/*`
|
||||
|
||||
3. **P2 业务模块**:业务功能模块
|
||||
- `services/admin/member/*`
|
||||
- `services/admin/order/*`
|
||||
- `services/admin/pay/*`
|
||||
|
||||
4. **P3 扩展模块**:插件、扩展功能
|
||||
- `services/admin/addon/*`
|
||||
|
||||
### 对齐检查清单(每个Service方法)
|
||||
|
||||
- [ ] **方法签名对齐**:与Java方法签名完全一致
|
||||
- [ ] **参数处理对齐**:参数类型、参数名与Java一致
|
||||
- [ ] **返回值对齐**:返回值类型与Java一致
|
||||
- [ ] **异常处理对齐**:异常类型、异常消息与Java一致
|
||||
- [ ] **数据库操作对齐**:查询逻辑与Java一致
|
||||
- [ ] **事务处理对齐**:事务范围与Java一致
|
||||
- [ ] **使用框架能力**:使用AuthService、CacheService等,不重复造轮子
|
||||
|
||||
### 迁移工具使用
|
||||
|
||||
```bash
|
||||
# 运行迁移工具
|
||||
cd tools/java-to-nestjs-migration
|
||||
node migration-coordinator.js
|
||||
|
||||
# 输出:
|
||||
# - 扫描Java项目(1215个文件)
|
||||
# - 生成NestJS代码骨架
|
||||
# - 生成映射报告
|
||||
```
|
||||
|
||||
### 质量控制检查点
|
||||
|
||||
1. **编译通过**:`npm run build` - 无TypeScript编译错误
|
||||
2. **服务启动**:`docker-compose up -d` - 所有模块正确加载
|
||||
3. **API测试**:测试接口与Java版本一致
|
||||
4. **数据库验证**:CRUD操作与Java一致
|
||||
|
||||
---
|
||||
|
||||
**参考文档**:
|
||||
- 完整迁移方案:`./java-migration.mdc`
|
||||
- 迁移工具目录:`tools/java-to-nestjs-migration/`
|
||||
|
||||
Reference in New Issue
Block a user