feat: 完成sys模块迁移,对齐PHP/Java框架

- 重构sys模块架构,严格按admin/api/core分层
- 对齐所有sys实体与数据库表结构
- 实现完整的adminapi控制器,匹配PHP/Java契约
- 修复依赖注入问题,确保服务正确注册
- 添加自动迁移工具和契约验证
- 完善多租户支持和审计功能
- 统一命名规范,与PHP业务逻辑保持一致
This commit is contained in:
万物街
2025-09-21 21:29:28 +08:00
parent 2e361795d9
commit 127a4db1e3
839 changed files with 24932 additions and 57988 deletions

129
tools/README.md Normal file
View File

@@ -0,0 +1,129 @@
# Tools 工具集
本目录包含项目开发和维护过程中使用的各种开发工具。
## 🛠️ 工具列表
### 核心开发工具
#### `auto-mapping-checker.js`
**PHP与NestJS项目自动映射检查器**
检查PHP项目与NestJS项目的模块、控制器、服务等对应关系确保迁移的完整性。
```bash
# 运行映射检查
node tools/auto-mapping-checker.js
```
**功能特性:**
- ✅ 检查控制器映射关系
- ✅ 检查服务映射关系
- ✅ 生成详细的对比报告
- ✅ 识别缺失的NestJS文件
- ✅ 提供匹配度统计
#### `structure-validator.js`
**NestJS项目结构验证器**
检查NestJS项目的目录结构、分层规范、命名规范等确保代码质量。
```bash
# 运行结构验证
node tools/structure-validator.js
```
**功能特性:**
- 🏗️ 检查基础目录结构
- 📦 验证模块结构完整性
- 📝 检查文件命名规范
- 🔗 验证分层架构
- 📊 生成详细验证报告
### 路由和API工具
#### `export-routes.js`
**路由导出工具**
扫描NestJS项目中的所有路由导出API接口清单。
```bash
# 导出路由信息
node tools/export-routes.js
```
#### `scan-guards.js`
**守卫扫描工具**
扫描项目中的守卫使用情况,检查权限控制的完整性。
```bash
# 扫描守卫使用情况
node tools/scan-guards.js
```
### 数据库工具
#### `generate-entities-from-sql.js`
**实体生成工具**
从SQL文件自动生成TypeORM实体类。
```bash
# 从SQL生成实体
node tools/generate-entities-from-sql.js
```
## 📁 目录结构
```
scripts/
├── README.md # 本说明文档
├── auto-mapping-checker.js # PHP-NestJS映射检查器
├── structure-validator.js # 项目结构验证器
├── export-routes.js # 路由导出工具
├── scan-guards.js # 守卫扫描工具
├── generate-entities-from-sql.js # 实体生成工具
└── deploy/ # 部署相关脚本
├── infra/ # 基础设施脚本
└── kong/ # Kong网关配置
```
## 🚀 使用指南
### 开发阶段
1. **结构检查**: 定期运行 `structure-validator.js` 确保项目结构规范
2. **映射验证**: 使用 `auto-mapping-checker.js` 检查PHP迁移进度
3. **路由管理**: 通过 `export-routes.js` 导出API文档
### 质量保证
- 所有工具都支持 `--help` 参数查看详细用法
- 建议在CI/CD流程中集成这些检查工具
- 定期运行工具确保代码质量
### 最佳实践
1. **持续验证**: 每次提交前运行结构验证
2. **映射同步**: 定期检查PHP-NestJS映射关系
3. **文档更新**: 保持API文档与代码同步
## 🔧 工具开发
### 添加新工具
1.`scripts/` 目录下创建新的 `.js` 文件
2. 添加 `#!/usr/bin/env node` 头部
3. 实现主要功能逻辑
4. 更新本README文档
### 工具规范
- 使用Node.js原生模块避免额外依赖
- 提供清晰的错误信息和帮助文档
- 支持命令行参数和选项
- 输出格式化的结果报告
## 📞 支持
如果在使用过程中遇到问题,请:
1. 检查Node.js版本 (建议 >= 14.0.0)
2. 确保项目路径正确
3. 查看工具的帮助信息
4. 提交Issue或联系开发团队