2026-06-09 13:45:35 +08:00
2026-06-09 13:34:21 +08:00
2026-06-03 12:43:48 +08:00
2026-06-09 13:34:21 +08:00
2026-06-09 13:45:35 +08:00
2026-06-03 12:43:48 +08:00
2026-06-03 12:43:48 +08:00
2026-06-09 13:45:35 +08:00
2026-06-09 13:34:21 +08:00
2026-06-03 12:43:48 +08:00
2026-06-09 13:34:21 +08:00
2026-06-03 12:43:48 +08:00
2026-06-03 12:43:48 +08:00
2026-06-03 12:43:48 +08:00
2026-06-09 13:45:35 +08:00
2026-06-03 12:43:48 +08:00
2026-06-03 12:43:48 +08:00
2026-06-03 12:43:48 +08:00
2026-06-03 12:43:48 +08:00
2026-06-09 13:34:21 +08:00

知识管理系统

基于 Spring Boot 3.2.5 构建的知识管理系统后端服务提供用户管理、文件管理、AI问答、考试系统等核心功能。

技术栈

  • 框架: Spring Boot 3.2.5
  • 语言: Java 17
  • 数据库: MySQL 8.0+
  • ORM: MyBatis Plus 3.5.5
  • 缓存: Redis
  • 认证: JWT
  • API文档: SpringDoc OpenAPI (Swagger)

快速开始

环境要求

  • JDK 17+
  • Maven 3.8+
  • MySQL 8.0+
  • Redis 6.0+

数据库配置

  1. 创建数据库:
CREATE DATABASE knowledge_management_system CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  1. 导入初始化SQL脚本
mysql -u root -p knowledge_management_system < docs/sql/knowledge_management_system.sql

运行项目

方式一Maven 运行

cd demo_1
mvn spring-boot:run

方式二:打包运行

mvn clean package
java -jar target/demo_1-0.0.1-SNAPSHOT.jar

方式三Docker Compose

docker-compose up -d

访问地址

项目结构

src/main/java/top/tqx/demo_1/
├── annotation/          # 自定义注解(限流、权限)
├── aspect/              # AOP切面日志、限流
├── common/              # 通用响应封装
├── config/              # 配置类数据源、Redis、CORS等
├── constant/            # 常量定义
├── controller/          # REST API控制层
├── dto/                 # 数据传输对象
├── entity/              # 数据库实体模型
├── enums/               # 枚举定义
├── exception/           # 自定义异常
├── handler/             # 全局异常处理
├── interceptor/         # 拦截器(权限验证)
├── mapper/              # MyBatis Mapper接口
├── service/             # 业务逻辑层
│   └── impl/            # 服务实现类
├── util/                # 工具类
├── vo/                  # 视图对象
└── Demo1Application.java

核心功能模块

模块 Controller 说明
用户管理 UserController 用户增删改查、登录、权限管理
角色权限 RoleController / PermissionController 角色管理、权限分配
部门管理 DepartmentController 部门组织结构管理
文件管理 FileController 文件上传、下载、权限控制
AI聊天 AIChatController 智能问答、RAG检索
考试系统 ExamController / FormalExamController 试卷生成、考试管理
题目管理 QuestionController 题库管理、题目统计
FAQ管理 FAQController 常见问题管理
搜索功能 SearchController 全文检索
错题管理 WrongQuestionController 错题收集、重做
反馈管理 FeedbackController 用户反馈收集

API接口分类

认证接口

  • POST /api/auth/login - 用户登录
  • POST /api/auth/logout - 用户登出

用户管理

  • GET /api/users - 获取用户列表
  • POST /api/users - 创建用户
  • GET /api/users/{id} - 获取用户详情
  • PUT /api/users/{id} - 更新用户信息
  • DELETE /api/users/{id} - 删除用户

文件管理

  • POST /api/files/upload - 文件上传
  • GET /api/files/{id} - 获取文件信息
  • GET /api/files/{id}/download - 文件下载
  • DELETE /api/files/{id} - 删除文件

AI聊天

  • POST /api/ai/chat - AI问答
  • POST /api/ai/stream - 流式问答

考试管理

  • POST /api/exam/generate - 生成试卷
  • POST /api/exam/submit - 提交答卷
  • GET /api/exam/records - 获取考试记录

配置说明

环境变量

变量名 默认值 说明
DB_USERNAME root 数据库用户名
DB_PASSWORD 123456 数据库密码
REDIS_HOST redis Redis地址
REDIS_PORT 6379 Redis端口
JWT_SECRET your-secret-key... JWT密钥
AI_HOST localhost AI服务地址
AI_PORT 5001 AI服务端口

配置文件

  • application.yml - 主配置文件
  • application-dev.yml - 开发环境配置
  • application-prod.yml - 生产环境配置

开发指南

添加新功能

  1. 创建实体类 (entity/)
  2. 创建Mapper接口 (mapper/)
  3. 创建Service接口和实现 (service/service/impl/)
  4. 创建DTO和VO (dto/vo/)
  5. 创建Controller (controller/)

日志配置

日志文件位于 /app/logs/file-management-system.log支持按天轮转保留30天历史。

部署说明

Docker部署

# 使用官方JDK 17镜像
FROM openjdk:17-jdk-slim

WORKDIR /app

COPY target/demo_1-0.0.1-SNAPSHOT.jar app.jar

EXPOSE 8080

ENTRYPOINT ["java", "-jar", "app.jar"]

健康检查

curl http://localhost:8080/api/actuator/health

License

MIT License

联系信息

如有问题请联系开发者。

Description
No description provided
Readme 48 MiB
Languages
Java 99.9%