4.7 KiB
4.7 KiB
题库显示修改:显示所有题库
🎯 修改内容
将考试管理中的题库选择从**"只显示我创建的题库"改为"显示所有题库"**。
📝 修改的文件
后端修改
文件位置:
Study-Vue-redis/ry-study-admin/src/main/java/com/ddnai/web/controller/study/StudyQuestionBankController.java
修改内容:
// 修改前:只返回当前用户创建的题库
@GetMapping("/my-banks")
public AjaxResult getMyBanks() {
Long teacherId = getUserId();
List<StudyQuestionBank> list = questionBankService.selectQuestionBankListByTeacherId(teacherId);
return success(list);
}
// 修改后:返回所有题库
@GetMapping("/my-banks")
public AjaxResult getMyBanks() {
StudyQuestionBank query = new StudyQuestionBank();
List<StudyQuestionBank> list = questionBankService.selectQuestionBankList(query);
return success(list);
}
前端
无需修改,前端仍使用同一个接口 /study/questionBank/my-banks。
🚀 部署步骤
第1步:编译后端
在项目根目录(Study-Vue-redis)下打开命令行:
Windows
cd Study-Vue-redis
mvn clean package -DskipTests
或者使用IDEA
- 打开 Maven 面板
- 展开
Lifecycle - 依次点击:
clean→package - 勾选
Skip Tests
第2步:停止后端服务
找到正在运行的后端服务:
方法A:如果在IDEA中运行
点击 IDEA 右上角的红色停止按钮
方法B:如果在命令行运行
按 Ctrl+C 停止服务
方法C:任务管理器
- 打开任务管理器 (
Ctrl+Shift+Esc) - 找到
java.exe进程 - 结束进程
第3步:启动后端服务
方法A:使用IDEA
- 找到
RuoYiApplication.java - 右键 →
Run 'RuoYiApplication'
方法B:使用命令行
cd Study-Vue-redis/ry-study-admin
java -jar target/ry-study-admin.jar
第4步:验证修改
- 等待服务启动(约30秒)
- 打开浏览器,访问:
http://localhost:30091 - 登录后台管理系统
- 进入【考试管理】→【创建考试】
- 选择出题方式:从题库抽取
- 查看题库下拉框:应该能看到所有题库
📊 数据库检查(可选)
为了确保数据完整性,建议运行:
-- 检查题库数据
SELECT
id,
bank_name,
subject_name,
question_count,
create_by
FROM study_question_bank
ORDER BY create_time DESC;
如果有题库的 create_user_id 为空,可以执行:
-- 自动关联用户ID
UPDATE study_question_bank b
INNER JOIN sys_user u ON b.create_by = u.user_name
SET b.create_user_id = u.user_id
WHERE b.create_user_id IS NULL;
详细的数据库检查和修复脚本在:清理题库create_user_id限制.sql
✅ 验证清单
部署完成后,请验证:
- 后端服务成功启动
- 登录后台管理系统
- 进入考试管理 → 创建考试
- 题库下拉框显示所有题库(不只是我创建的)
- 可以选择任何题库
- 可以成功抽取题目
🔄 回退方案
如果需要恢复原来的行为(只显示我的题库),修改代码:
@GetMapping("/my-banks")
public AjaxResult getMyBanks() {
Long teacherId = getUserId();
List<StudyQuestionBank> list = questionBankService.selectQuestionBankListByTeacherId(teacherId);
return success(list);
}
然后重新编译和部署。
💡 优势
修改前
- ❌ 只能看到自己创建的题库
- ❌ 无法使用其他教师的题库
- ❌ 需要重复创建相同的题目
修改后
- ✅ 可以看到所有题库
- ✅ 可以使用任何教师创建的题库
- ✅ 共享题库资源,提高效率
📌 注意事项
- 权限控制:所有用户都能看到所有题库,但删除和修改仍需相应权限
- 数据安全:题库内容对所有教师可见
- 后续优化:可以考虑添加"公开/私有"题库的设置
🆘 常见问题
Q1: 编译失败
A: 检查是否有Java编译错误,确保Maven依赖完整
Q2: 服务启动失败
A: 检查端口 30091 是否被占用,查看后端日志
Q3: 仍然看不到题库
A:
- 确认后端服务已重启
- 清除浏览器缓存(
Ctrl+Shift+Delete) - 检查浏览器控制台是否有错误
- 检查数据库中是否有题库数据
Q4: 只看到部分题库
A: 检查数据库 study_question_bank 表,确认题库数据完整
📝 快速操作指南
# 1. 编译
cd Study-Vue-redis
mvn clean package -DskipTests
# 2. 停止旧服务(Ctrl+C)
# 3. 启动新服务
cd ry-study-admin
java -jar target/ry-study-admin.jar
# 4. 打开浏览器验证
# http://localhost:30091
完成!🎉