# 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 clean package -DskipTests=true mvn spring-boot:run -Dspring-boot.run.profiles=dev ``` ### 访问地址 - **应用主页**: 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 哈希**: 密码安全哈希存储 - **请求拦截**: 全局登录状态验证