From 95b340d42c53c98986435843a254d99e24ffe42b Mon Sep 17 00:00:00 2001 From: cxt <853663049@qq.com> Date: Tue, 24 Mar 2020 19:52:50 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/helpers/exercises_helper.rb | 10 ++++++++-- app/models/exercise.rb | 4 ++++ app/views/exercises/_exercise_user.json.jbuilder | 2 +- app/views/exercises/exercise_lists.json.jbuilder | 3 ++- 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/app/helpers/exercises_helper.rb b/app/helpers/exercises_helper.rb index b57c8525b..ae41816ba 100644 --- a/app/helpers/exercises_helper.rb +++ b/app/helpers/exercises_helper.rb @@ -688,7 +688,7 @@ module ExercisesHelper end #获取用户的相关信息 - def exercise_use_info(ex_user,user_status,exercise) + def exercise_use_info(ex_user,user_status,exercise,subject_question_ids) course = exercise.course current_user_group_id = "" current_user_group_name = "" @@ -712,7 +712,13 @@ module ExercisesHelper course_group = course.course_groups.by_group_ids(current_user_group_id) current_user_group_name = course_group.first.name if course_group.present? end - teacher_review = ex_user.subjective_score < 0.0 ? false : true + exercise_answer_ids = ex_user.user.exercise_answers.where(exercise_question_id: subject_question_ids).pluck(:id) + + if ex_user.subjective_score > 0.0 || ex_user.exercise_user_scores.size > 0 || ExerciseAnswerComment.where(exercise_answer_id: exercise_answer_ids).exists? + teacher_review = true + else + teacher_review = false + end if (user_status == 0 && commit_status == 1) || (user_status == 1 && ex_user_exercise_status == 3 && commit_status == 1) #老师都可以看,学生,需在试卷已提交,且已截止的情况下看 ex_object_score = ex_user.objective_score <= 0.0 ? 0 : ex_user.objective_score.round(1).to_s ex_subject_score = ex_user.subjective_score < 0.0 ? nil : (ex_user.subjective_score > 0.0 ? ex_user.subjective_score.round(1).to_s : 0) diff --git a/app/models/exercise.rb b/app/models/exercise.rb index bf752fb92..5079d0ade 100644 --- a/app/models/exercise.rb +++ b/app/models/exercise.rb @@ -38,6 +38,10 @@ class Exercise < ApplicationRecord DEADLINE = 3 #已截止 ENDED = 4 #课堂已结束 + def subject_question_ids + exercise_questions.where(question_type: [4]).pluck(:id) + end + def question_scores exercise_questions.pluck(:question_score).sum end diff --git a/app/views/exercises/_exercise_user.json.jbuilder b/app/views/exercises/_exercise_user.json.jbuilder index acaa07e98..c4c9e396d 100644 --- a/app/views/exercises/_exercise_user.json.jbuilder +++ b/app/views/exercises/_exercise_user.json.jbuilder @@ -1,4 +1,4 @@ -ex_user_info = exercise_use_info(exercise_user,user_status,exercise) +ex_user_info = exercise_use_info(exercise_user,user_status,exercise,question_ids) json.user_id ex_user_info[:user_id] json.user_name ex_user_info[:user_name] diff --git a/app/views/exercises/exercise_lists.json.jbuilder b/app/views/exercises/exercise_lists.json.jbuilder index 5cbb63595..b81516fc5 100644 --- a/app/views/exercises/exercise_lists.json.jbuilder +++ b/app/views/exercises/exercise_lists.json.jbuilder @@ -47,7 +47,8 @@ if @exercise_users_list.present? json.array! @exercise_users_list.each do |exercise_user| json.partial! "exercises/exercise_user",locals: {exercise_user:exercise_user, subjective_type:@subjective_type, user_status:@exercise_current_user_status, exercise:@exercise, - question_ids: @exercise.exercise_questions.pluck(:id)} + question_ids: @exercise.exercise_questions.pluck(:id), + subject_question_ids: exercise.subject_question_ids} end end else