1.修复创建多个向量库

This commit is contained in:
2026-06-09 13:34:21 +08:00
parent 6cdb38df68
commit f3543f4188
74 changed files with 19636 additions and 3514 deletions

192
README.md
View File

@@ -1,2 +1,192 @@
# my-springboot-project
# 知识管理系统
基于 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. 创建数据库:
```sql
CREATE DATABASE knowledge_management_system CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
```
2. 导入初始化SQL脚本
```bash
mysql -u root -p knowledge_management_system < docs/sql/knowledge_management_system.sql
```
### 运行项目
**方式一Maven 运行**
```bash
cd demo_1
mvn spring-boot:run
```
**方式二:打包运行**
```bash
mvn clean package
java -jar target/demo_1-0.0.1-SNAPSHOT.jar
```
**方式三Docker Compose**
```bash
docker-compose up -d
```
### 访问地址
- **应用地址**: http://localhost:8080/api
- **Swagger文档**: http://localhost:8080/api/swagger-ui.html
- **API文档**: http://localhost:8080/api/v3/api-docs
## 项目结构
```
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部署
```dockerfile
# 使用官方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"]
```
### 健康检查
```bash
curl http://localhost:8080/api/actuator/health
```
## License
MIT License
## 联系信息
如有问题请联系开发者。