1.修复创建多个向量库
This commit is contained in:
192
README.md
192
README.md
@@ -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
|
||||
|
||||
## 联系信息
|
||||
|
||||
如有问题请联系开发者。
|
||||
Reference in New Issue
Block a user