forked from jasder/forgeplus
23 lines
879 B
Ruby
23 lines
879 B
Ruby
|
# 毕设任务的交叉评阅分配
|
||
|
class GraduationTaskCrossCommentJob < ApplicationJob
|
||
|
queue_as :default
|
||
|
|
||
|
def perform(graduation_task_id)
|
||
|
task = GraduationTask.find_by(id: graduation_task_id)
|
||
|
return if task.blank?
|
||
|
|
||
|
task.graduation_task_group_assignations.includes(:graduation_group, :graduation_work).each do |assignation|
|
||
|
graduation_group = assignation.graduation_group
|
||
|
work = assignation.graduation_work
|
||
|
if graduation_group.present? && work.present?
|
||
|
member_ids = graduation_group.course_members.pluck(:user_id).uniq
|
||
|
member_ids.each do |user_id|
|
||
|
unless work.graduation_work_comment_assignations.exists?(user_id: user_id)
|
||
|
work.graduation_work_comment_assignations << GraduationWorkCommentAssignation.new(user_id: user_id, graduation_task_id: task.id)
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|