diff --git a/.gitignore b/.gitignore index 9d9e6d5..0e12c10 100644 --- a/.gitignore +++ b/.gitignore @@ -14,4 +14,5 @@ /ERROR_CAPTURE_GUIDE.md /*.sql /JDK21_UPGRADE_NOTES.md -/start-jdk21.sh \ No newline at end of file +/start-jdk21.sh +/PROJECT_README.md \ No newline at end of file diff --git a/README.md b/README.md index c319e8e..2fce996 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,152 @@ -**运维管理系统(CW)** -**相关文档** + +# YouFool DevOps 广东运维管理系统 (CW) + +[![Spring Boot](https://img.shields.io/badge/Spring%20Boot-2.7.18-brightgreen.svg)](https://spring.io/projects/spring-boot) +[![Java](https://img.shields.io/badge/Java-21-orange.svg)](https://openjdk.org/) +[![PostgreSQL](https://img.shields.io/badge/PostgreSQL-11.7-blue.svg)](https://www.postgresql.org/) +[![SpringDoc OpenAPI](https://img.shields.io/badge/SpringDoc-1.8.0-green.svg)](https://springdoc.org/) + +## 🎯 项目概览 + +YouFool DevOps 运维管理系统(广东版)是基于 Spring Boot 框架开发的企业级运维管理平台。 +### 核心特性 + +- 🔧 **运维报障管理**: 完整的故障报告、处理流程和状态跟踪 +- 👥 **组织架构管理**: 用户、工程师信息管理和权限控制 +- 📋 **任务分配系统**: 领导任务分配和工作流管理 +- 📊 **数据统计分析**: 多维度数据统计和报表生成 +- 🔄 **实时通信**: WebSocket 支持的实时消息推送 +- 📝 **错误日志管理**: 可配置的错误捕获和日志管理系统 + +## 🏗️ 技术架构 + +### 运行环境 +- **Java**: JDK 21 (OpenJDK) +- **框架**: Spring Boot 2.7.18 +- **构建工具**: Maven 3.x +- **容器**: Apache Tomcat 9.0.83 + +### 数据层 +- **数据库**: PostgreSQL 11.7 +- **连接池**: Druid 1.2.23 +- **ORM**: MyBatis-Plus 3.5.7 +- **数据源**: 双数据源架构 (devops + youfool) + +### 核心依赖 +- **企业框架**: youfool-framework-springboot 1.1.1-SNAPSHOT +- **安全框架**: Apache Shiro 1.12.0 +- **API文档**: SpringDoc OpenAPI 1.8.0 +- **HTTP客户端**: Forest 1.5.16 +- **Excel处理**: EasyExcel 2.2.6 + Spire.XLS 3.9.1 + +### 技术亮点 +- ✅ **JDK 21 现代化升级**: 从 JDK 1.8 升级至 JDK 21,支持最新 Java 特性 +- ✅ **SpringDoc OpenAPI**: 从 SpringFox 迁移至现代化 API 文档解决方案 +- ✅ **双数据源架构**: 支持 devops 和 youfool 两个数据源的事务管理 +- ✅ **异步错误日志**: 高性能的错误日志捕获和管理系统 + +## 📂 项目结构 + +``` +src/main/java/com/chinaweal/youfool/devops/ +├── base/ # 基础环境模块 +│ ├── controller/ # 基础数据控制器 (字典、任务、错误日志等) +│ ├── entity/ # 基础实体类 +│ └── service/ # 基础服务层 +├── repair/ # 运维报障模块 (核心业务) +│ ├── controller/ # 报障管理控制器 +│ ├── entity/ # 报障相关实体类 +│ ├── excel/ # Excel 导入导出 +│ ├── scheduled/ # 定时任务 +│ └── service/ # 业务服务层 +├── org/ # 组织架构模块 +│ ├── controller/ # 用户和工程师管理 +│ ├── entity/ # 用户实体类 +│ └── business/ # 业务系统集成 +├── leaderassign/ # 领导分配模块 +│ ├── controller/ # 任务分配控制器 +│ └── entity/ # 分配任务实体 +├── websocket/ # WebSocket 模块 +│ └── server/ # 实时通信服务 +├── config/ # 配置类 +├── util/ # 工具类 +└── DevOpsApplication.java # 应用主类 +``` + +## 🚀 快速开始 + +### 环境要求 +- JDK 21+ +- PostgreSQL 11+ +- Maven 3.6+ + +### 启动应用 +```bash +# 开发环境启动 +mvn spring-boot:run -Dspring-boot.run.profiles=dev + +# 或使用优化的JDK 21启动脚本 +./start-jdk21.sh # Linux/Mac +start-jdk21.bat # Windows +``` + +### 访问地址 +- **应用主页**: http://localhost:8080 +- **API文档**: http://localhost:8080/swagger-ui.html +- **Druid监控**: http://localhost:8080/druid (admin/123456) +- **错误日志管理**: http://localhost:8080/api/error-logs/ + +### API文档分组 +- **组织架构**: 用户和工程师管理接口 +- **运维报障**: 核心业务功能接口 +- **基础环境**: 字典和基础数据接口 +- **WebSocket测试环境**: 实时通信测试接口 +- **领导分配**: 任务分配相关接口 + +## 📊 配置说明 + +### 环境配置 +- `application-dev.yml`: 开发环境配置 +- `application-prod.yml`: 生产环境配置 +- `application-local.yml`: 本地开发配置 + +### 错误日志配置 +系统支持完整的错误日志管理,可通过 `error-log.*` 配置项控制: + +```yaml +error-log: + enabled: true # 全局开关 + startup-enabled: true # 启动错误日志 + runtime-enabled: true # 运行时错误日志 + database-enabled: true # 数据库错误日志 + business-enabled: true # 业务错误日志 + log-directory: logs/errors # 日志目录 + async-write: true # 异步写入 +``` + +## 🛡️ 系统监控 + +### 错误日志管理 +- **Web界面**: `/api/error-logs/` 提供完整的日志管理功能 +- **日志分类**: 启动、运行时、数据库、业务错误分类存储 +- **自动清理**: 支持按天数自动清理历史日志 +- **性能优化**: 异步写入,不影响业务性能 + +### 数据库健康检查 +- **双数据源监控**: devops 和 youfool 数据源健康状态检查 +- **连接信息展示**: 启动时显示数据库连接详情 +- **表访问测试**: ENGINEER 表数据访问验证 + +### Druid 连接池监控 +- **访问地址**: http://localhost:8080/druid +- **监控内容**: SQL执行统计、连接池状态、慢SQL分析 +- **登录信息**: admin / 123456 + +## 🔒 安全特性 + +- **Apache Shiro**: 基于角色的访问控制 (RBAC) +- **JWT Token**: 10小时后端令牌生命周期 +- **RSA 加密**: 敏感数据加密传输 +- **SM3 哈希**: 密码安全哈希存储 +- **请求拦截**: 全局登录状态验证