From ccb24ee358d47b3ab90026f8979ff0e6b416d2a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=B2=85?= <907037276@qq.com> Date: Mon, 28 Sep 2026 15:03:44 +0800 Subject: [PATCH] =?UTF-8?q?=E8=80=83=E8=AF=84=E9=80=89=E9=A2=98=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E6=8C=89=E5=AD=A6=E6=A0=A1=E9=A2=98=E5=BA=93=E5=8F=96?= =?UTF-8?q?=E9=A2=98=EF=BC=9A=E6=96=B0=E5=A2=9Escope=3Dschool=E6=8C=89scho?= =?UTF-8?q?ol=5Fid=E8=BF=87=E6=BB=A4=E6=95=99=E5=B8=88=E9=A2=98=EF=BC=8C?= =?UTF-8?q?=E9=BB=98=E8=AE=A4=E8=8C=83=E5=9B=B4=E4=B8=8D=E5=8F=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../linkCommerce/controller/stu/ExamController.java | 3 ++- .../com/sztzjy/linkCommerce/service/ExamService.java | 11 +++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/sztzjy/linkCommerce/controller/stu/ExamController.java b/src/main/java/com/sztzjy/linkCommerce/controller/stu/ExamController.java index c97c157..5ae7d3f 100644 --- a/src/main/java/com/sztzjy/linkCommerce/controller/stu/ExamController.java +++ b/src/main/java/com/sztzjy/linkCommerce/controller/stu/ExamController.java @@ -34,8 +34,9 @@ public class ExamController { public ResultEntity>> questions(@RequestParam(required = false) String type, @RequestParam(required = false) String taskKey, @RequestParam(required = false) String keyword, + @RequestParam(required = false) String scope, HttpServletRequest request) { - return ok(examService.questions(user(request), type, taskKey, keyword)); + return ok(examService.questions(user(request), type, taskKey, keyword, scope)); } @GetMapping("/teacher/question-projects") diff --git a/src/main/java/com/sztzjy/linkCommerce/service/ExamService.java b/src/main/java/com/sztzjy/linkCommerce/service/ExamService.java index eeb15af..6cfb995 100644 --- a/src/main/java/com/sztzjy/linkCommerce/service/ExamService.java +++ b/src/main/java/com/sztzjy/linkCommerce/service/ExamService.java @@ -75,10 +75,17 @@ public class ExamService { } public List> questions(JwtUser teacher, String type, String taskKey, String keyword) { + return questions(teacher, type, taskKey, keyword, null); + } + + public List> questions(JwtUser teacher, String type, String taskKey, String keyword, String scope) { requireTeacher(teacher); - StringBuilder sql = new StringBuilder("select q.*,t.project_name,t.task_name from exam_question q left join training_task t on t.task_key=q.task_key where (q.source_type='PLATFORM' or (q.source_type='TEACHER' and q.teacher_id=?))"); + // scope=school 供"添加试题"使用:本校题库全部题目(平台题+本校教师题); + // 默认只看平台题和自己出的题,题库管理页维持本人范围。 + boolean schoolWide = "school".equalsIgnoreCase(scope) && teacher.getSchoolId() != null; + StringBuilder sql = new StringBuilder("select q.*,t.project_name,t.task_name from exam_question q left join training_task t on t.task_key=q.task_key where (q.source_type='PLATFORM' or (q.source_type='TEACHER' and " + (schoolWide ? "q.school_id=?" : "q.teacher_id=?") + "))"); List args = new ArrayList<>(); - args.add(teacher.getUserId()); + args.add(schoolWide ? teacher.getSchoolId() : teacher.getUserId()); if (StringUtils.isNotBlank(type)) { validateType(type); sql.append(" and q.question_type=?"); args.add(type); } if (StringUtils.isNotBlank(taskKey)) { sql.append(" and q.task_key=?"); args.add(taskKey); } if (StringUtils.isNotBlank(keyword)) { sql.append(" and q.stem like ?"); args.add("%" + keyword.trim() + "%"); }