class RechangeExercise1936Scores < ActiveRecord::Migration[5.2]
  include ExercisesHelper
  def change
    #1936的试卷成绩有问题。
    # #https://www.educoder.net/courses/2935/exercises/1936/users/pizfnr5ts
    ex_special = Exercise.find_by_id(1936)
    ex_special_users = ex_special&.exercise_users&.exercise_user_committed&.where("end_at is not null and end_at > ?",Time.now - 2.months)
    if ex_special.present? && ex_special_users.exists?
      ex_special_users.each do |ex_user|
        calculate_score = calculate_student_score(ex_special,ex_user.user)[:total_score]
        subjective_score = ex_user.subjective_score
        total_score_subjective_score = subjective_score < 0.0 ? 0.0 : subjective_score
        total_score = calculate_score + total_score_subjective_score
        ex_user.update_attributes(score:total_score,objective_score:calculate_score)
        puts ex_user.id
      end
    end
  end
end
