|
|
|
@ -1006,28 +1006,18 @@ class BidsController < ApplicationController
|
|
|
|
|
@bid = Bid.find(params[:id])
|
|
|
|
|
if(@bid.comment_status == 0)
|
|
|
|
|
homeworks = @bid.homeworks
|
|
|
|
|
if(homeworks && homeworks.count >= 4)
|
|
|
|
|
@bid.update_column('comment_status', 1)
|
|
|
|
|
users = homeworks.map { |h| h.user }
|
|
|
|
|
|
|
|
|
|
@start_index = rand(homeworks.size)
|
|
|
|
|
while users[0] == homeworks[@start_index].user
|
|
|
|
|
@start_index = rand(homeworks.size)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
3.times do |i|
|
|
|
|
|
homework_start_index = @start_index + i
|
|
|
|
|
users.each_with_index do |user, index|
|
|
|
|
|
actual_index = homework_start_index + index
|
|
|
|
|
actual_index = (actual_index < homeworks.size ? actual_index : actual_index - homeworks.size)
|
|
|
|
|
if user != homeworks[actual_index]
|
|
|
|
|
@homework_evaluation = HomeworkEvaluation.new(user_id: user.id, homework_attach_id: homeworks[actual_index].id)
|
|
|
|
|
if(homeworks && homeworks.size > 2)
|
|
|
|
|
homeworks.each_with_index do |homework, index|
|
|
|
|
|
user = homework.user
|
|
|
|
|
n = 3 # TODO: this value should get from params, (老师设置)
|
|
|
|
|
n = n < homeworks.size ? n : homeworks.size - 1
|
|
|
|
|
assigned_homeworks = get_assigned_homeworks(homeworks, n, index)
|
|
|
|
|
assigned_homeworks.each do |h|
|
|
|
|
|
@homework_evaluation = HomeworkEvaluation.new(user_id: user.id, homework_attach_id: h.id)
|
|
|
|
|
@homework_evaluation.save
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
# 修改状态为 '启动匿评'
|
|
|
|
|
#@bid.update_column('comment_status', 1)
|
|
|
|
|
@bid.update_column('comment_status', 1)
|
|
|
|
|
@statue = 1
|
|
|
|
|
else
|
|
|
|
|
@statue = 2
|
|
|
|
@ -1053,6 +1043,11 @@ class BidsController < ApplicationController
|
|
|
|
|
|
|
|
|
|
private
|
|
|
|
|
|
|
|
|
|
def get_assigned_homeworks(homeworks, n, index)
|
|
|
|
|
homeworks += homeworks
|
|
|
|
|
homeworks[index + 1 .. index + n]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def find_bid
|
|
|
|
|
if params[:id]
|
|
|
|
|
@bid = Bid.find(params[:id], :include => [{:homeworks => :user}])
|
|
|
|
|