# 综合管理信息系统 - 后端单体工程

## 项目简介

基于 Spring Boot 3.x + Java 17 构建的综合管理信息系统后端单体工程，作为信息管理分系统的核心管理平台和业务模块的统一入口。

## 技术栈

- **Java 17**
- **Spring Boot 3.2.1**
- **Maven**
- **Knife4j 4.5.0** (OpenAPI 3 / Swagger 接口文档)
- **内存数据存储**（当前阶段无外部数据库依赖）

## 模块结构

| 模块 | 包路径 | 需求标识 |
|:---|:---|:---|
| 用户管理 | `controller.UserController`, `service.UserService` | SRS-F-01-001 |
| 角色管理 | `controller.RoleController`, `service.RoleService` | SRS-F-01-002 |
| 部门管理 | `controller.DeptController`, `service.DeptService` | SRS-F-01-003 |
| 字典管理 | `controller.DictController`, `service.DictService` | SRS-F-01-004 |
| 参数配置 | `controller.ConfigController`, `service.ConfigService` | SRS-F-01-005 |
| 业务管理 | `controller.BusinessController`, `service.BusinessService` | SRS-F-02-001~008 |
| 统计分析 | `controller.StatController`, `service.StatService` | SRS-F-03-001~005 |
| 权限管理 | `controller.PermissionController`, `service.PermissionService` | SRS-F-04-001~004 |
| 审计日志 | `controller.LogController`, `service.LogService` | SRS-F-05-001~004 |
| 接口集成 | `controller.IntegrationController`, `service.IntegrationService` | SRS-F-06-001~002 |

## 启动方式

### 前提条件

- JDK 17+
- Maven 3.6+

### 编译与启动

```bash
# 进入项目根目录
cd codegen-runs/codegen_a227418f648447d2936a850896c63889

# 编译
mvn clean package -DskipTests

# 启动
mvn spring-boot:run

# 或直接运行 jar
java -jar target/demo-management-1.0.0-SNAPSHOT.jar
```

### 运行测试

```bash
mvn test
```

## 接口文档访问

启动后可通过以下地址访问接口文档：

- **Knife4j UI**: http://localhost:8080/doc.html
- **Swagger UI**: http://localhost:8080/swagger-ui.html
- **OpenAPI JSON**: http://localhost:8080/v3/api-docs

## 健康检查

- http://localhost:8080/api/health

## 设计说明

1. **无外部基础设施依赖**：当前阶段使用内存 `ConcurrentHashMap` 存储数据，所有业务逻辑可正常运行。
2. **预留扩展点**：Service 层保持独立，后续可替换为 JPA/MyBatis 数据访问层；Controller 层接口设计遵循 RESTful 规范，便于对接前端。
3. **需求可追溯性**：每个业务方法均通过 `@requirement` 标签关联 CSCI 需求标识，确保设计实现与需求的双向追溯。
4. **接口文档**：集成 Knife4j，所有接口均标注 `@Operation` 和 `@Tag` 描述，便于前后端联调。
