diff --git a/lib/tasks/public_course_sync.rake b/lib/tasks/public_course_sync.rake index caa207c52..a22a9f1f8 100644 --- a/lib/tasks/public_course_sync.rake +++ b/lib/tasks/public_course_sync.rake @@ -42,8 +42,8 @@ namespace :public_classes do end task :test_user => :environment do - users = User.where(is_test: true) - users.limit(limit).find_each do |user| + users = User.where(is_test: true).limit(limit) + users.find_each do |user| puts user.id CourseMember.create!(course_id: course_id, user_id: user.id, role: 4) end diff --git a/lib/tasks/public_message.rake b/lib/tasks/public_message.rake index 9b2f89224..00299cabc 100644 --- a/lib/tasks/public_message.rake +++ b/lib/tasks/public_message.rake @@ -1,30 +1,22 @@ # bundle exec rake sync:public_message args=149,2903 namespace :sync do - task :public_message => :environment do + if ENV['args'] subject_id = ENV['args'].split(",")[0] # 对应课程的id shixun_id = ENV['args'].split(",")[1] # 对应课程的id board_id = ENV['args'].split(",")[2] message_id = ENV['args'].split(",")[3] - status = ENV['args'].split(",")[4] # 表示相应的期数 - - 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 + start_time = ENV['args'].split(",")[4] # 表示课程模块 + end_time = ENV['args'].split(",")[5] # 表示课程模块 + limit = ENV['args'].split(",")[6] # 限制导入的数量 + end + task :public_message => :environment do 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 :environment do - subject_id = ENV['args'].split(",")[0] # 对应课程的id - shixun_id = ENV['args'].split(",")[1] # 对应课程的id - board_id = ENV['args'].split(",")[2] - message_id = ENV['args'].split(",")[3] - status = ENV['args'].split(",")[4] # 表示相应的期数 - - 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 if subject_id.to_i == -1 discusses = Discuss.where("parent_id is null and dis_id=?", shixun_id) @@ -119,18 +94,8 @@ namespace :sync do end end - task :board_count => :environment do - Course.find_each do |course| - puts course.id - - begin - messages_count = Message.find_by_sql("select count(*) as count from messages where board_id in (select id from boards where course_id=#{course.id})").first.try(:count) - - Board.update_column(messages_count: messages_count) - rescue - - end - - end + task :delete_boards => :environment do + course = Course.find(course_id) + course.boards.destroy end end