Merge branch 'dev_cxt' into dev_aliyun

dev_ec
cxt 5 years ago
commit b6da84590c

@ -1,13 +1,16 @@
class GraduationTasksController < ApplicationController
before_action :require_login, :check_auth, except: [:index]
before_action :find_course, except: [:edit, :update, :settings, :update_settings, :tasks_list, :show, :show_comment]
before_action :find_task, only: [:edit, :update, :settings, :update_settings, :tasks_list, :show, :show_comment]
before_action :find_course, except: [:edit, :update, :settings, :update_settings, :tasks_list, :show, :show_comment,
:cross_comment_setting, :assign_works, :commit_comment_setting]
before_action :find_task, only: [:edit, :update, :settings, :update_settings, :tasks_list, :show, :show_comment,
:cross_comment_setting, :assign_works, :commit_comment_setting]
before_action :user_course_identity
before_action :task_publish, only: [:show, :show_comment, :tasks_list, :settings]
before_action :teacher_allowed, only: [:new, :create, :edit, :update, :set_public,:multi_destroy, :publish_task, :end_task,
:update_settings, :add_to_bank]
:update_settings, :add_to_bank, :cross_comment_setting, :assign_works, :commit_comment_setting]
before_action :require_id_params, only: [:set_public ,:multi_destroy, :publish_task, :end_task, :add_to_bank]
before_action :valid_params, only: [:update_settings]
before_action :allow_cross_comment, only: [:cross_comment_setting, :assign_works, :commit_comment_setting]
include ExportHelper
def index
@ -104,6 +107,15 @@ class GraduationTasksController < ApplicationController
@work_list = @task.graduation_works.where(id: graduation_work_id)
end
# 组员、组长作品的筛选
if @task.task_type == 2 && !params[:member_work].blank?
if params[:member_work].to_i == 1
@work_list = @work_list.where("user_id = commit_user_id")
elsif params[:member_work].to_i == 0
@work_list = @work_list.where("user_id != commit_user_id")
end
end
# 输入姓名和学号搜索
# TODO user_extension 如果修改 请调整
unless params[:search].blank?
@ -453,22 +465,27 @@ class GraduationTasksController < ApplicationController
tip_exception("评阅时间应当大于截止时间") if @task.cross_comment && params[:comment_time] <= @task.end_time
@task.comment_time = @task.cross_comment ? params[:comment_time] : nil
@task.comment_num = @task.cross_comment ? params[:comment_num].to_i : 3
@task.comment_status = @task.cross_comment ? params[:comment_status] : 0
if @task.cross_comment && params[:comment_status].to_i == 4
tip_exception("评阅数不能为空") if params[:comment_num].blank?
tip_exception("评阅数应大于0") if params[:comment_num].to_i < 1
@course.graduation_groups.each_with_index do |group, index|
ass_group = @task.graduation_task_group_assignations.find_by(graduation_group_id: group.id)
if ass_group.present? && params[:comment_group][index].present? && params[:comment_group][index] != "0"
ass_group.update_attributes(assign_graduation_group_id: params[:comment_group][index])
else
@task.graduation_task_group_assignations << GraduationTaskGroupAssignation.new(graduation_group_id: group.id,
assign_graduation_group_id: params[:comment_group][index])
end
end
end
@task.comment_status = 2 if @task.cross_comment && @task.comment_status == 0
@task.graduation_work_comment_assignations.destroy_all if !@task.cross_comment
# 去掉评阅设置
# @task.comment_num = @task.cross_comment ? params[:comment_num].to_i : 3
# @task.comment_status = @task.cross_comment ? params[:comment_status] : 0
# if @task.cross_comment && params[:comment_status].to_i == 4
# tip_exception("评阅数不能为空") if params[:comment_num].blank?
# tip_exception("评阅数应大于0") if params[:comment_num].to_i < 1
#
# @course.graduation_groups.each_with_index do |group, index|
# ass_group = @task.graduation_task_group_assignations.find_by(graduation_group_id: group.id)
# if ass_group.present? && params[:comment_group][index].present? && params[:comment_group][index] != "0"
# ass_group.update_attributes(assign_graduation_group_id: params[:comment_group][index])
# else
# @task.graduation_task_group_assignations << GraduationTaskGroupAssignation.new(graduation_group_id: group.id,
# assign_graduation_group_id: params[:comment_group][index])
# end
# end
# end
end
# 公开设置
@ -493,6 +510,107 @@ class GraduationTasksController < ApplicationController
end
end
def cross_comment_setting
@comment_status = params[:comment_status] || (@task.cross_comment ? @task.comment_status : 2)
group_ids = @course.charge_group_ids(current_user)
@course_groups = @course.course_groups.where(id: group_ids)
# 如果传了分班id则取合集
group_ids = group_ids & params[:group_ids].map(&:to_i) unless params[:group_ids].blank?
page = params[:page] ? params[:page].to_i : 1
limit = params[:limit] ? params[:limit].to_i : 10
# 取所有课堂的作品
if group_ids.sort == @course.course_groups.pluck(:id).sort
@work_list = @task.graduation_works
else
@work_list = @task.graduation_works.joins("join course_members on graduation_works.user_id=course_members.user_id").
where(course_members: {course_group_id: group_ids})
end
@user_count = @work_list.size
@work_list = @work_list.page(page).per(limit).includes(user: [:user_extension])
@students = @course.students.where(user_id: @work_list.pluck(:user_id))
end
def assign_works
tip_exception("请先选择作品") if params[:work_ids].blank?
tip_exception("请指定要分配的老师或答辩组") if params[:user_ids].blank? && params[:graduation_group_ids].blank?
ActiveRecord::Base.transaction do
begin
works = @task.graduation_works.where(id: params[:work_ids])
# 手动分配:分配给老师
if !params[:user_ids].blank?
@task.update_attributes(comment_status: 2)
works.each do |work|
# 之前分配的老师但现在未分配时需要删除
work.graduation_work_comment_assignations.where.not(user_id: params[:user_ids]).destroy_all
@course.teachers.where(user_id: params[:user_ids]).pluck(:user_id).uniq.each do |user_id|
unless work.graduation_work_comment_assignations.exists?(user_id: user_id)
GraduationWorkCommentAssignation.create!(graduation_task_id: @task.id, graduation_work_id: work.id,
user_id: user_id)
end
end
end
# 答辩组分配:分配答辩组
elsif !params[:graduation_group_ids].blank?
@task.update_attributes(comment_status: 4)
works.each do |work|
work.graduation_task_group_assignations.where.not(graduation_group_id: params[:graduation_group_ids]).destroy_all
@course.graduation_groups.where(id: params[:graduation_group_ids]).pluck(:id).uniq.each do |graduation_group_id|
unless work.graduation_task_group_assignations.exists?(graduation_group_id: graduation_group_id)
GraduationTaskGroupAssignation.create!(graduation_task_id: @task.id, graduation_work_id: work.id,
graduation_group_id: graduation_group_id)
end
end
end
end
normal_status("分配成功")
rescue Exception => e
uid_logger(e.message)
tip_exception(e.message)
raise ActiveRecord::Rollback
end
end
end
def commit_comment_setting
tip_exception("type参数有误") if params[:type].blank? || !["commit", "cancel"].include?(params[:type])
ActiveRecord::Base.transaction do
begin
# 提交弹框
# if params[:type] == "commit"
# tip_exception("comment_status参数有误") if params[:comment_status].blank? || ![2, 4].include?(params[:comment_status].to_i)
# @task.update_attributes(comment_status: params[:comment_status])
# if params[:comment_status].to_i == 2
# @task.temporary_graduation_work_comment_assignations.update_all(temporary: 0) # 临时数据转正
# @task.delete_graduation_work_comment_assignations.destroy_all # 删除置了删除位的数据
# @task.graduation_task_group_assignations.destroy_all # 删除答辩组分配数据
# else
# @task.temporary_graduation_task_group_assignations.update_all(temporary: 0)
# @task.delete_graduation_task_group_assignations.destroy_all
# @task.graduation_work_comment_assignations.destroy_all
#
# GraduationTaskCrossCommentJob.perform_later(@task.id)
# end
# else
# # 取消时删除临时数据,恢复删除位数据
# @task.temporary_graduation_work_comment_assignations.destroy_all # 删除临时数据
# @task.delete_graduation_work_comment_assignations.update_all(temporary: 0) # 恢复置了删除位的数据
#
# @task.temporary_graduation_task_group_assignations.destroy_all # 删除临时数据
# @task.delete_graduation_task_group_assignations.update_all(temporary: 0) # 恢复置了删除位的数据
# end
normal_status("操作成功")
rescue Exception => e
uid_logger(e.message)
tip_exception(e.message)
raise ActiveRecord::Rollback
end
end
end
private
def find_task
begin
@ -533,6 +651,11 @@ class GraduationTasksController < ApplicationController
tip_exception("最大人数不能小于最小人数要求") if params[:min_num].to_i > params[:max_num].to_i
end
end
def allow_cross_comment
tip_exception("请先开启交叉评阅再设置") unless @task.cross_comment
end
#
# def graduation_work_to_xls items
# xls_report = StringIO.new

@ -160,6 +160,7 @@ class GraduationWorksController < ApplicationController
graduation_work.commit_time = Time.now
graduation_work.update_time = Time.now
graduation_work.commit_user_id = current_user.id
graduation_work.update_user_id = current_user.id
graduation_work.course_id = @course.id
graduation_work.group_id = @task.task_type == 2 ? @task.graduation_works.where("work_status != 0").map(&:group_id).max.to_i + 1 : 0
@ -180,7 +181,7 @@ class GraduationWorksController < ApplicationController
graduation_task_id: @task.id, project_id: graduation_work.project_id,
late_penalty: graduation_work.late_penalty, work_status: graduation_work.work_status,
commit_time: Time.now, update_time: Time.now, group_id: graduation_work.group_id,
commit_user_id: current_user.id)
commit_user_id: current_user.id, update_user_id: current_user.id)
stu_work.save!
graduation_work.attachments.each do |attachment|
att = attachment.copy
@ -208,8 +209,9 @@ class GraduationWorksController < ApplicationController
def edit
@task_user = current_user
if @task.task_type == 2
@commit_user_id = @work.commit_user_id
@work_members = @course.students.where(user_id: @task.graduation_works.where(group_id: @work.group_id).pluck(:user_id)).
order("course_members.id=#{@work.user_id} desc").includes(:course_group, user: :user_extension)
order("course_members.id=#{@work.commit_user_id} desc").includes(:course_group, user: :user_extension)
end
end
@ -221,7 +223,8 @@ class GraduationWorksController < ApplicationController
begin
@work.description = params[:description]
@work.update_time = Time.now
@work.commit_user_id = current_user.id
@work.update_user_id = current_user.id
# @work.commit_user_id = current_user.id
if @work.save!
Attachment.associate_container(params[:attachment_ids], @work.id, @work.class)
@ -235,7 +238,7 @@ class GraduationWorksController < ApplicationController
# 原成员更新描述、更新时间以及附件
@task.graduation_works.where(group_id: @work.group_id, user_id: (work_user_ids & params_user_ids)).each do |work|
work.update_attributes(update_time: Time.now, description: @work.description, commit_user_id: current_user.id)
work.update_attributes(update_time: Time.now, description: @work.description, update_user_id: current_user.id)
work.attachments.destroy_all
@work.attachments.each do |attachment|
att = attachment.copy
@ -255,7 +258,7 @@ class GraduationWorksController < ApplicationController
@task.graduation_works.where(group_id: @work.group_id, user_id: delete_user_ids).
update_all(work_status: 0, description: nil, late_penalty: 0, commit_time: nil, update_time: nil,
final_score: nil, teacher_score: nil, work_score: nil, project_id: 0, group_id: 0,
commit_user_id: nil)
commit_user_id: nil, update_user_id: nil)
# 新增加的成员
(params_user_ids - work_user_ids).each do |user_id|
@ -264,7 +267,7 @@ class GraduationWorksController < ApplicationController
stu_work.update_attributes(user_id: user_id, description: @work.description, graduation_task_id: @task.id,
project_id: @work.project_id, late_penalty: @work.late_penalty,
work_status: @work.work_status, commit_time: Time.now, update_time: Time.now,
group_id: @work.group_id, commit_user_id: current_user.id)
group_id: @work.group_id, commit_user_id: @work.commit_user_id, update_user_id: current_user.id)
@work.attachments.each do |attachment|
att = attachment.copy
att.author_id = attachment.author_id
@ -326,7 +329,7 @@ class GraduationWorksController < ApplicationController
end
end
if @task.status == 3 && @task.graduation_work_comment_assignations.where(graduation_work_id: @work.id, user_id: current_user.id).count > 0
if @task.cross_comment && @work.graduation_work_comment_assignations.where(user_id: current_user.id).count > 0
new_score.reviewer_role = 2
else
new_score.reviewer_role = 1

@ -6,31 +6,14 @@ class GraduationTaskCrossCommentJob < ApplicationJob
task = GraduationTask.find_by(id: graduation_task_id)
return if task.blank?
course = task.course
task.graduation_task_group_assignations.each do |assignation|
task.graduation_task_group_assignations.includes(:graduation_group, :graduation_work).each do |assignation|
graduation_group = assignation.graduation_group
assign_group = assignation.assign_group
if graduation_group.present? && assign_group.present?
course_group_ids = course.teacher_course_groups.where(course_member_id: graduation_group.course_members.pluck(:id)).pluck(:course_group_id)
graduation_works = task.graduation_works.where(user_id: course.course_members.where(:course_group_id => course_group_ids).map(&:user_id),
work_status: [1, 2])
if assign_group.course_members.count <= task.comment_num
graduation_works.each do |work|
assign_group.course_members.each do |member|
work.graduation_work_comment_assignations << GraduationWorkCommentAssignation.new(
graduation_group_id: assign_group.id, user_id: member.user_id, graduation_task_id: task.id)
end
end
else
member_user_ids = assign_group.course_members.pluck(:user_id)
count = 0
graduation_works.each do |work|
for i in 1 .. task.comment_num
assign_user_id = member_user_ids[count % member_user_ids.size]
work.graduation_work_comment_assignations << GraduationWorkCommentAssignation.new(
graduation_group_id: assign_group.id, user_id: assign_user_id, graduation_task_id: task.id)
count += 1
end
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

@ -13,8 +13,15 @@ class GraduationTask < ApplicationRecord
has_many :attachments, as: :container, dependent: :destroy
has_many :graduation_task_group_assignations, dependent: :destroy
has_many :graduation_work_comment_assignations, dependent: :destroy
# has_many :formal_graduation_work_comment_assignations, -> { formal }, class_name: "GraduationWorkCommentAssignation"
# has_many :temporary_graduation_work_comment_assignations, -> { temporary }, class_name: "GraduationWorkCommentAssignation"
# has_many :delete_graduation_work_comment_assignations, -> { temporary_delete }, class_name: "GraduationWorkCommentAssignation"
#
has_many :graduation_task_group_assignations, dependent: :destroy
# has_many :formal_graduation_task_group_assignations, -> { formal }, class_name: "GraduationTaskGroupAssignation"
# has_many :temporary_graduation_task_group_assignations, -> { temporary }, class_name: "GraduationTaskGroupAssignation"
# has_many :delete_graduation_task_group_assignations, -> { temporary_delete }, class_name: "GraduationTaskGroupAssignation"
has_many :graduation_works, -> { where("is_delete = 0") }
has_many :score_graduation_works, -> { where("is_delete = 0 and work_status != 0").order("work_score desc") }, class_name: "GraduationWork"

@ -1,6 +1,12 @@
class GraduationTaskGroupAssignation < ApplicationRecord
# temporary 0: 正式分配 1临时分配交叉评阅设置中临时分配的作品点取消时会删除 2: 删除标志
belongs_to :graduation_task
belongs_to :graduation_group
belongs_to :assign_group, class_name: 'GraduationGroup', foreign_key: :assign_graduation_group_id # 分配的互评组
belongs_to :assign_group, class_name: 'GraduationGroup', foreign_key: :assign_graduation_group_id, optional: true # 分配的互评组
belongs_to :graduation_work, optional: true
scope :temporary, -> {where(temporary: 1)}
scope :formal, -> {where(temporary: 0)}
scope :temporary_delete, -> {where(temporary: 2)}
scope :temporary_formal, -> {where(temporary: [0, 1])}
end

@ -6,10 +6,18 @@ class GraduationWork < ApplicationRecord
belongs_to :graduation_task, optional: true
belongs_to :commit_user, class_name: 'User', foreign_key: :commit_user_id, optional: true
belongs_to :update_user, class_name: 'User', foreign_key: :update_user_id, optional: true
has_many :attachments, as: :container, dependent: :destroy
has_many :tidings, as: :container, dependent: :destroy
has_many :graduation_work_scores, dependent: :destroy
has_many :graduation_work_comment_assignations, dependent: :destroy
# has_many :formal_graduation_work_comment_assignations, -> { formal }, class_name: "GraduationWorkCommentAssignation"
# has_many :temporary_graduation_work_comment_assignations, -> { temporary }, class_name: "GraduationWorkCommentAssignation"
has_many :graduation_task_group_assignations, dependent: :destroy
# has_many :formal_graduation_task_group_assignations, -> { formal }, class_name: "GraduationTaskGroupAssignation"
# has_many :temporary_graduation_task_group_assignations, -> { temporary }, class_name: "GraduationTaskGroupAssignation"
validates :description, length: { maximum: 5000 }
@ -108,11 +116,29 @@ class GraduationWork < ApplicationRecord
end
end
# 作品被交叉评阅的次数
def cross_comment_num
graduation_work_scores.where(reviewer_role: 2).group_by(&:user_id).count
end
# 作品是否被评阅过
def scored?
graduation_work_scores.where.not(reviewer_role: 3).exists?
graduation_work_scores.where.not(core: nil).exists?
end
def work_cross_teacher_ids
graduation_work_comment_assignations.temporary_formal.pluck(:user_id)
end
def work_cross_teachers
User.where(id: work_cross_teacher_ids).map(&:real_name).join("")
end
def work_cross_group_ids
graduation_task_group_assignations.temporary_formal.pluck(:graduation_group_id)
end
def work_cross_groups
course.graduation_groups.where(id: work_cross_group_ids).pluck(:name).join("")
end
end

@ -1,8 +1,13 @@
class GraduationWorkCommentAssignation < ApplicationRecord
# temporary 0: 正式分配 1临时分配交叉评阅设置中临时分配的作品点取消时会删除 2: 删除标志
belongs_to :graduation_work
belongs_to :graduation_task
belongs_to :user
belongs_to :graduation_group
belongs_to :graduation_group, optional: true
scope :temporary, -> {where(temporary: 1)}
scope :formal, -> {where(temporary: 0)}
scope :temporary_delete, -> {where(temporary: 2)}
scope :temporary_formal, -> {where(temporary: [0, 1])}
scope :myself, ->(user_id) {where(user_id: user_id)}
end

@ -1,4 +1,5 @@
class GraduationWorkScore < ApplicationRecord
# reviewer_role 1 老师评分 2 交叉评分
belongs_to :graduation_work
belongs_to :user
belongs_to :graduation_task

@ -193,7 +193,7 @@ class StudentWork < ApplicationRecord
end
def scored?
student_works_scores.where.not(reviewer_role: 3).exists?
student_works_scores.where.not(reviewer_role: 3, score: nil).exists?
end
def work_challenge_score game, score
@ -202,7 +202,7 @@ class StudentWork < ApplicationRecord
if adjust_score.present?
game_score = adjust_score.score
else
setting = homework_common.homework_group_setting user_id
setting = homework_common.homework_group_setting game.user_id
if game.status == 2 && ((game.end_time && game.end_time < setting.end_time) || (homework_common.allow_late && game.end_time && game.end_time < homework_common.late_time))
answer_open_evaluation = homework_common.homework_detail_manual.answer_open_evaluation
game_score = answer_open_evaluation ? score : (game.final_score > 0 ? game.real_score(score) : 0)

@ -38,11 +38,11 @@ class Users::ApplyProfessionalAuthService < ApplicationService
move_image_file! unless params[:upload_image].to_s == 'false'
# sms_cache = Rails.cache.read("apply_pro_certification")
# if sms_cache.nil?
sms_cache = Rails.cache.read("apply_pro_certification")
if sms_cache.nil?
sms_notify_admin
# Rails.cache.write("apply_pro_certification", 1)
# end
Rails.cache.write("apply_pro_certification", 1, expires_in: 5.minutes)
end
end
end

@ -24,7 +24,11 @@ class Users::ApplyTrailService < ApplicationService
apply.status = 1
else
sms_cache = Rails.cache.read("apply_auth")
if sms_cache.nil?
send_trial_apply_notify!
Rails.cache.write("apply_auth", 1, expires_in: 5.minutes)
end
end
apply.save!
end

@ -0,0 +1,30 @@
json.work_users @work_list do |work|
json.work_id work.id
json.user_name work.user&.real_name
json.student_id work.user&.student_id
json.course_group_name @students.select{|member| member.user_id == work.user_id}.first.try(:course_group_name)
if @comment_status.to_i == 2
json.cross_teachers work.work_cross_teachers
json.cross_teacher_ids work.work_cross_teacher_ids
elsif @comment_status.to_i == 4
json.cross_groups work.work_cross_groups
json.cross_group_ids work.work_cross_group_ids
end
end
json.user_count @user_count
json.course_groups @course_groups do |group|
json.(group, :id, :name)
end
if @comment_status.to_i == 2
json.teachers @course.teachers.includes(:user) do |teacher|
json.user_id teacher.user_id
json.user_name teacher.user&.real_name
end
elsif @comment_status.to_i == 4
json.graduation_groups @course.graduation_groups do |group|
json.(group, :id, :name)
end
end

@ -2,6 +2,7 @@ json.partial! "public_navigation", locals: {graduation: @task, course: @course}
json.user_course_identity @user_course_identity
json.course_group_count @course.course_groups_count
json.cross_comment @task.cross_comment
json.comment_status @task.comment_status
# 课程发布才有数据
if @task.published? || @user_course_identity < Course::STUDENT
# 老师身份才有的分类信息
@ -48,6 +49,7 @@ if @task.published? || @user_course_identity < Course::STUDENT
json.class_grouping_name @students.select{|student| student.user_id == work.user_id}.first.try(:course_group_name)
json.ultimate_score work.ultimate_score
if @task.have_grouping?
json.is_leader work.user_id == work.commit_user_id
json.grouping_name work.grouping_name
if @task.base_on_project
json.project_info project_info work, @current_user, @user_course_identity

@ -10,9 +10,13 @@ json.attachments @work.attachments do |atta|
json.partial! "attachments/attachment_simple", locals: {attachment: atta, delete: @work.delete_atta(atta)}
end
json.members @work_members do |member|
json.user_id member.user_id
if @task.task_type == 2
json.is_leader_work @work.user_id == @commit_user_id
json.members @work_members do |member|
json.is_leader_work @work.user_id == @commit_user_id
json.user_name member.user.real_name
json.group_name member.course_group_name
json.student_id member.user.student_id
json.is_leader member.user_id == @commit_user_id
end
end

@ -2,9 +2,12 @@ json.partial! "graduation_tasks/public_navigation", locals: {course: @course, gr
json.task_type @task.task_type
json.(@work, :description, :commit_time, :update_time)
json.is_leader_work @work.user_id == @work.commit_user_id if @task.task_type == 2
json.author_name @work.user.real_name
json.is_author @is_author
json.update_user_name @work.commit_user.try(:real_name)
json.commit_user_name @work.commit_user.try(:real_name)
json.update_user_name @work.update_user.try(:real_name)
json.task_status @task.status #6.12 -hs
json.status task_curr_status(@task, @course)[:status]
json.update_atta (!@course.is_end && @task.end_time < Time.now && @task.allow_late && (@task.late_time.nil? || @task.late_time > Time.now) && @is_author)
@ -17,9 +20,11 @@ if @task.task_type == 2 && @task.base_on_project
json.project_info project_info @work, @current_user, @user_course_identity
end
json.work_members @work_members.each do |member|
json.user_name member.user.real_name
json.user_login member.user.login
json.work_members @work_members.each do |work|
json.user_name work.user.real_name
json.user_login work.user.login
json.work_id work.id
json.is_leader work.user_id == work.commit_user_id
end

@ -558,6 +558,9 @@ Rails.application.routes.draw do
post 'update_settings'
get 'tasks_list'
get :show_comment
get :cross_comment_setting
post :assign_works
post :commit_comment_setting
end
collection do

@ -0,0 +1,7 @@
class AddGraduationWorkIdToGroupAssignations < ActiveRecord::Migration[5.2]
def change
add_column :graduation_task_group_assignations, :graduation_work_id, :integer, default: 0
add_index :graduation_task_group_assignations, :graduation_work_id
end
end

@ -0,0 +1,6 @@
class AddTemporaryToGraduation < ActiveRecord::Migration[5.2]
def change
add_column :graduation_task_group_assignations, :temporary, :integer, default: 0
add_column :graduation_work_comment_assignations, :temporary, :integer, default: 0
end
end

@ -0,0 +1,5 @@
class MigrateGraduationTaskCommentStatus < ActiveRecord::Migration[5.2]
def change
GraduationTask.where(cross_comment: true, comment_status: 0).update_all(comment_status: 2)
end
end

@ -0,0 +1,6 @@
class AddUpdateUserIdToGraduationWorks < ActiveRecord::Migration[5.2]
def change
add_column :graduation_works, :update_user_id, :integer
GraduationWork.update_all("update_user_id = commit_user_id")
end
end

@ -43,6 +43,7 @@ namespace :graduation_task do
task :cross_comment_start => :environment do
tasks = GraduationTask.where("cross_comment = 1 and comment_time is not null and comment_time <= '#{Time.now}' and status = 2")
tasks.each do |task|
# 改成设置时都实时分配
if task.comment_status == 4
GraduationTaskCrossCommentJob.perform_later(task.id)
end

Loading…
Cancel
Save