youfool-devops-gd-jdk21/README.md

150 lines
5.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 哈希**: 密码安全哈希存储
- **请求拦截**: 全局登录状态验证