# bundle exec rake sync:public_message args=149,2903
namespace :sync do
  task :public_message => :environment do
    subject_id = ENV['args'].split(",")[0] # 对应课程的id
    board_id = ENV['args'].split(",")[1]
    message_id = ENV['args'].split(",")[2]
    status = ENV['args'].split(",")[3] # 表示相应的期数

    if status.to_i == 1
      start_time = '2018-12-16'
      end_time = '2019-04-01'
    elsif status.to_i == 2
      start_time = '2019-04-07'
      end_time = '2019-07-28'
    else
      # 这种情况是取所有的
      start_time = '2015-01-01'
      end_time = '2022-07-28'
    end

    shixun_ids = Shixun.find_by_sql("select shixun_id from stage_shixuns where stage_id in (select id from stages where
                                     subject_id=#{subject_id}) ").map(&:shixun_id)


    discusses = Discuss.where(dis_id: shixun_ids).where("created_at >? and created_at <?", start_time, end_time)
    if discusses.present?
      discusses.find_each do |discuss|
        puts discuss.user_id
        puts board_id
        puts message_id
        new_message = Message.create!(board_id: board_id.to_i, author_id: discuss.user_id, parent_id: message_id, root_id: message_id)
        MessageDetail.create!(message_id: new_message.id, content: discuss.try(:content))
      end
    end

  end
end