From 7f571787c6a9c816a49f889a3002d783b6010e2f Mon Sep 17 00:00:00 2001 From: cxt <853663049@qq.com> Date: Thu, 2 Jan 2020 11:52:29 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E8=AE=AD=E4=BD=9C=E4=B8=9A=E7=9A=84?= =?UTF-8?q?=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/services/homeworks_service.rb | 21 ++++++++++++------- .../homework_commons/works_list.json.jbuilder | 3 ++- lib/tasks/homework_publishtime.rake | 2 +- 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/app/services/homeworks_service.rb b/app/services/homeworks_service.rb index 487a79bfe..c70535e17 100644 --- a/app/services/homeworks_service.rb +++ b/app/services/homeworks_service.rb @@ -305,13 +305,20 @@ class HomeworksService myshixun_endtime = games.select{|game| game.status == 2}.size == games.size ? games.map(&:end_time).max : nil - if work.work_status == 0 - is_complete = myshixun_endtime && (myshixun_endtime < setting_time.end_time) - if is_complete || (myshixun.created_at < setting_time.end_time && (!homework.allow_late || setting_time.end_time >= Time.now)) - work.work_status = 1 - elsif homework.allow_late && myshixun.created_at < homework.late_time - work.work_status = 2 - end + is_complete = myshixun_endtime && (myshixun_endtime < setting_time.end_time) + + # if work.work_status == 0 + # if is_complete || (myshixun.created_at < setting_time.end_time && (!homework.allow_late || setting_time.end_time >= Time.now)) + # work.work_status = 1 + # elsif homework.allow_late && myshixun.created_at < homework.late_time + # work.work_status = 2 + # end + # end + + if !homework.allow_late || is_complete + work.work_status = 1 + elsif myshixun.created_at < homework.late_time + work.work_status = 2 end if work.work_status != 0 diff --git a/app/views/homework_commons/works_list.json.jbuilder b/app/views/homework_commons/works_list.json.jbuilder index b8fa73b66..beaf644f7 100644 --- a/app/views/homework_commons/works_list.json.jbuilder +++ b/app/views/homework_commons/works_list.json.jbuilder @@ -43,7 +43,8 @@ elsif @user_course_identity == Course::STUDENT json.efficiency work_score_format(@work.efficiency, true, @score_open) json.eff_score work_score_format(@work.eff_score, true, @score_open) json.current_complete_count myshixun.try(:passed_count) if @homework.end_or_late - json.complete_count @work.myshixun&.time_passed_count(@homework.homework_group_setting(@work.user_id)&.end_time) + end_time = @homework.allow_late ? @homework.late_time : @homework.homework_group_setting(@work.user_id)&.end_time + json.complete_count @work.myshixun&.time_passed_count(end_time) json.view_answer_count @work.myshixun.try(:view_answer_count).to_i json.work_status @work.compelete_status else diff --git a/lib/tasks/homework_publishtime.rake b/lib/tasks/homework_publishtime.rake index 918e70a70..a57b97eab 100644 --- a/lib/tasks/homework_publishtime.rake +++ b/lib/tasks/homework_publishtime.rake @@ -81,7 +81,7 @@ namespace :homework_publishtime do end end - student_works.joins(:myshixun).where("myshixuns.status != 1").update_all(late_penalty: homework.late_penalty) if student_works.present? + student_works.joins(:myshixun).where("myshixuns.status != 1").update_all(late_penalty: homework.late_penalty, work_status: 2) if student_works.present? else HomeworkEndUpdateScoreJob.perform_later(homework.id)