docs(readme): 更新README.md文档,添加通知系统说明和角色层级权限

This commit is contained in:
wangzhiwei 2026-05-15 17:11:28 +08:00
parent 5f5c0759ce
commit e5940fc833

120
README.md
View File

@ -1,8 +1,8 @@
# 可学AI-skills平台后端 # 可学AI-实训网站2.0
## 项目简介 ## 项目简介
可学AI-skills平台是一个基于Spring Boot的智能技能管理系统提供技能生成、内容管理、用户认证、支付等功能。 平台是一个基于Spring Boot的智能技能实训管理系统提供技能生成、课程管理、用户认证、通知系统等功能。
## 技术栈 ## 技术栈
@ -11,9 +11,7 @@
- **数据库**MySQL - **数据库**MySQL
- **缓存**Redis - **缓存**Redis
- **认证**Sa-Token 1.38.0 - **认证**Sa-Token 1.38.0
- **模板引擎**Thymeleaf
- **API文档**Swagger 3.0.0 - **API文档**Swagger 3.0.0
- **文件处理**sevenzipjbinding 16.02-2.01
- **短信服务**SMS4J 3.3.5 - **短信服务**SMS4J 3.3.5
- **分布式锁**Redisson 3.23.5 - **分布式锁**Redisson 3.23.5
- **AI集成**DeepSeek、GLM-4.6v - **AI集成**DeepSeek、GLM-4.6v
@ -26,25 +24,24 @@ backend/
├── db/ # 数据库脚本 ├── db/ # 数据库脚本
├── src/ ├── src/
│ ├── main/ │ ├── main/
│ │ ├── java/com/kexue/skills/ # 主源码 │ │ ├── java/art/kexue/sxwz/ # 主源码
│ │ │ ├── annotation/ # 自定义注解 │ │ │ ├── annotation/ # 自定义注解
│ │ │ ├── aspect/ # AOP切面 │ │ │ ├── aspect/ # AOP切面
│ │ │ ├── common/ # 通用工具和常量 │ │ │ ├── common/ # 通用工具和常量
│ │ │ ├── config/ # 配置类 │ │ │ ├── config/ # 配置类
│ │ │ ├── controller/ # 控制器 │ │ │ ├── controller/ # 控制器
│ │ │ ├── entity/ # 实体类 │ │ │ ├── entity/ # 实体类
│ │ │ │ ├── dto/ # 数据传输对象
│ │ │ │ └── request/ # 请求对象
│ │ │ ├── exception/ # 异常处理 │ │ │ ├── exception/ # 异常处理
│ │ │ ├── interceptor/ # 拦截器 │ │ │ ├── interceptor/ # 拦截器
│ │ │ ├── mapper/ # 数据访问层 │ │ │ ├── mapper/ # 数据访问层
│ │ │ ├── service/ # 服务层 │ │ │ ├── service/ # 服务层
│ │ │ ├── task/ # 定时任务 │ │ │ │ └── impl/ # 服务实现
│ │ │ ├── utils/ # 工具类 │ │ │ └── utils/ # 工具类
│ │ │ └── SkillsApp.java # 应用入口
│ │ └── resources/ # 资源文件 │ │ └── resources/ # 资源文件
│ │ ├── mapper/ # MyBatis映射文件 │ │ ├── mapper/ # MyBatis映射文件
│ │ ├── sql/ # SQL脚本
│ │ ├── static/ # 静态资源 │ │ ├── static/ # 静态资源
│ │ ├── templates/ # Thymeleaf模板
│ │ ├── application-*.yml # 配置文件 │ │ ├── application-*.yml # 配置文件
│ │ └── logback-spring.xml # 日志配置 │ │ └── logback-spring.xml # 日志配置
│ └── test/ # 测试代码 │ └── test/ # 测试代码
@ -61,41 +58,47 @@ backend/
- 基于Sa-Token的认证系统 - 基于Sa-Token的认证系统
- 支持账号密码登录 - 支持账号密码登录
- 支持手机验证码登录 - 支持手机验证码登录
- 角色权限管理 - 角色权限管理(多级管理员)
- 防重复提交 - 防重复提交
### 2. 内容管理系统 ### 2. 通知系统
- 内容分类管理 - 系统通知(管理员操作记录)
- 内容标签管理 - 管理员对用户通知(支持多级发送)
- 内容发布与管理 - 课程通知(老师群发课程消息)
- 内容点赞与浏览统计 - 角色层级权限控制
- 已读状态管理
### 3. 技能生成系统 ### 3. 用户管理
- 技能上传与解析支持RAR等压缩格式 - 用户注册与登录
- 技能结构分析 - 用户信息管理
- 技能介绍生成 - 角色分配(主要管理员、次级管理员、学校管理员、学院管理员、老师、学生)
- 用户权限验证
### 4. 支付系统 ### 4. 课程管理
- 课程创建与管理
- 课程学生管理
- 课程作业管理
- 课程考试管理
### 5. 考勤系统
- 考勤记录管理
- 考勤统计
### 6. 优秀作品管理
- 作品展示与管理
- 作品点赞
### 7. 支付系统
- 微信支付集成 - 微信支付集成
- 支付宝集成
- 支付订单管理 - 支付订单管理
### 5. 账户管理
- 账户余额管理 - 账户余额管理
- 积分管理
- 交易记录
### 6. 系统管理 ### 8. 系统管理
- 菜单管理 - 菜单管理
- 角色管理 - 角色管理
- 字典管理 - 字典管理
- 系统日志 - 系统日志
### 7. AI集成
- DeepSeek模型集成
- GLM-4.6v模型集成
- 智能内容生成
## 快速开始 ## 快速开始
### 环境要求 ### 环境要求
@ -111,8 +114,8 @@ backend/
4. 修改 `application.yml` 文件中的短信服务配置 4. 修改 `application.yml` 文件中的短信服务配置
### 数据库初始化 ### 数据库初始化
1. 执行 `db/create_tables.sql` 创建数据库表 1. 执行 `db/create_edu_tables.sql` 创建数据库表
2. 执行 `db/init_data.sql` 初始化基础数据 2. 执行 `db/sys_role_permission_data_init_merged.sql` 初始化权限数据
### 启动项目 ### 启动项目
```bash ```bash
@ -134,47 +137,56 @@ mvn spring-boot:run
- `POST /api/logout` - 用户登出 - `POST /api/logout` - 用户登出
- `GET /api/currentUser` - 获取当前用户信息 - `GET /api/currentUser` - 获取当前用户信息
### 内容管理 ### 通知管理
- `GET /api/cms/content/list` - 获取内容列表 - `POST /api/notification/send-to-users` - 发送通知给指定用户
- `POST /api/cms/content/save` - 保存内容 - `POST /api/notification/send-to-roles` - 发送通知给指定角色
- `DELETE /api/cms/content/delete` - 删除内容 - `POST /api/notification/send-to-course` - 发送课程通知
- `GET /api/notification/user` - 查询当前用户通知列表
- `PUT /api/notification/user/{userId}/read-all` - 全部标记为已读
### 技能管理 ### 用户管理
- `POST /api/skill/upload` - 上传技能 - `GET /api/user/list` - 获取用户列表
- `POST /api/skill/analyze` - 分析技能结构 - `POST /api/user/save` - 保存用户
- `POST /api/skill/genIntroduce` - 生成技能介绍 - `DELETE /api/user/delete/{id}` - 删除用户
### 支付管理 ### 课程管理
- `POST /api/pay/wx` - 微信支付 - `GET /api/course/list` - 获取课程列表
- `POST /api/pay/alipay` - 支付宝支付 - `POST /api/course/save` - 保存课程
- `GET /api/payment/order/list` - 获取支付订单列表 - `GET /api/course/students/{courseId}` - 获取课程学生列表
## 角色层级权限
| 角色 | 角色类型 | 可通知对象 |
|------|----------|-----------|
| 主要管理员(SUPER) | 1 | 次级管理员、学校管理员、学院管理员、老师、学生 |
| 次级管理员(SUPER1) | 1 | 学校管理员、学院管理员、老师、学生 |
| 学校管理员(SCOOL_ADMIN) | 2 | 学院管理员、老师、学生 |
| 学院管理员(COLLEGE_ADMIN) | 3 | 老师、学生 |
| 老师(TEACHER) | 4 | 指定课程的学生 |
| 学生(STUDENT) | 5 | 仅收件箱 |
## 部署说明 ## 部署说明
### Docker部署 ### Docker部署
1. 构建Docker镜像 1. 构建Docker镜像
```bash ```bash
docker build -t agent-skills . docker build -t sxwz-backend .
``` ```
2. 运行Docker容器 2. 运行Docker容器
```bash ```bash
docker run -p 8080:8080 --name agent-skills agent-skills docker run -p 8080:8080 --name sxwz-backend sxwz-backend
``` ```
### 生产环境部署 ### 生产环境部署
1. 打包项目 1. 打包项目
```bash ```bash
mvn clean package -DskipTests mvn clean package -DskipTests
配置文件直接打在jar包内
``` ```
2. 部署jar包 2. 部署jar包
```bash ```bash
java -jar agentSkills.jar --spring.profiles.active=prod java -jar sxwz-backend.jar --spring.profiles.active=prod
或者执行脚本启动
./start.sh
``` ```
## 注意事项 ## 注意事项
@ -189,4 +201,4 @@ java -jar agentSkills.jar --spring.profiles.active=prod
## 联系方式 ## 联系方式
如有问题,请联系项目维护人员。 如有问题,请联系项目维护人员。