diff --git a/app/services/homeworks_service.rb b/app/services/homeworks_service.rb index 64aec92c6..6659ec760 100644 --- a/app/services/homeworks_service.rb +++ b/app/services/homeworks_service.rb @@ -314,8 +314,8 @@ class HomeworksService if work.work_status != 0 if myshixun_endtime.present? - work.cost_time = myshixun_endtime.to_i - setting_time.publish_time.to_i - + work_cost_time = myshixun_endtime.to_i - setting_time.publish_time.to_i + work.cost_time = work_cost_time > 0 ? work_cost_time : games.select{|game| game.status == 2}.pluck(:cost_time).sum efficiency = (pass_consume_time == 0 ? 0 : Math.log((user_total_score / pass_consume_time.to_f) + 1.0)) work.efficiency = format("%.2f", efficiency) diff --git a/app/views/exercise_banks/_poll_questions.json.jbuilder b/app/views/exercise_banks/_poll_questions.json.jbuilder deleted file mode 100644 index 524864e60..000000000 --- a/app/views/exercise_banks/_poll_questions.json.jbuilder +++ /dev/null @@ -1,18 +0,0 @@ -json.question do - json.id question.id - json.question_number question.question_number - json.question_title question.question_title - json.question_type question.question_type - json.is_necessary question.is_necessary - if question.question_type == 2 - json.max_choices question.max_choices - json.min_choices question.min_choices - end - json.answers do - json.array! answers do | a| - json.answer_id a.id - json.answer_position a.choice_position - json.answer_text a.choice_text.nil? ? "other_choices" : a.choice_text ## - end - end -end \ No newline at end of file diff --git a/app/views/exercise_banks/show.json.jbuilder b/app/views/exercise_banks/show.json.jbuilder index 049886b50..bc7a6419c 100644 --- a/app/views/exercise_banks/show.json.jbuilder +++ b/app/views/exercise_banks/show.json.jbuilder @@ -28,9 +28,24 @@ else json.q_mains @poll_question_mains end - json.questions do - json.array! @exercise_questions do | question| - json.partial! "exercise_banks/poll_questions", question: question, answers: question.exercise_bank_choices + json.questions @exercise_questions do | question| + json.question do + json.id question.id + json.question_number question.question_number + json.question_title question.question_title + json.question_type question.question_type + json.is_necessary question.is_necessary + if question.question_type == 2 + json.max_choices question.max_choices + json.min_choices question.min_choices + end + json.answers do + json.array! question.exercise_bank_choices do | a| + json.answer_id a.id + json.answer_position a.choice_position + json.answer_text a.choice_text.nil? ? "other_choices" : a.choice_text ## + end + end end end end \ No newline at end of file diff --git a/app/views/users/question_banks/index.json.jbuilder b/app/views/users/question_banks/index.json.jbuilder index bee5d1b5d..5d84ad388 100644 --- a/app/views/users/question_banks/index.json.jbuilder +++ b/app/views/users/question_banks/index.json.jbuilder @@ -1,9 +1,14 @@ json.count @count json.course_list @course_lists, partial: 'users/question_banks/shared/course_list', as: :course_list -json.question_banks do - json.array! @question_banks do |question_bank| - json.partial! 'users/question_banks/shared/question_bank', locals: { question_bank: question_bank } - json.solve_count @solve_count_map.fetch(question_bank.id, 0) - end + +json.question_banks @question_banks do |question_bank| + json.id question_bank.id + json.name question_bank.name + json.is_public question_bank.is_public + json.quotes_count question_bank.quotes + json.creator_name question_bank.user.name + json.course_list_name question_bank.course_list.name + json.updated_at question_bank.updated_at + json.solve_count @solve_count_map.fetch(question_bank.id, 0) end