讨论区发帖delay 模式优化
This commit is contained in:
parent
9a6a4a5203
commit
cb33bec7db
|
@ -328,19 +328,29 @@ class Message < ActiveRecord::Base
|
||||||
def delay_message_send
|
def delay_message_send
|
||||||
if self.course
|
if self.course
|
||||||
if self.parent_id.nil? # 发帖
|
if self.parent_id.nil? # 发帖
|
||||||
self.delay.contain_messages_message
|
dm = []
|
||||||
|
self.course.members.includes(:user).each do |m|
|
||||||
|
if self.author.allowed_to?(:as_teacher, self.course) && m.user_id != self.author_id # 老师 自己的帖子不给自己发送消息
|
||||||
|
dm << {course_message_type:'Message',course_message_id:self.id, :user_id => m.user_id,
|
||||||
|
:course_id => self.board.course_id, :viewed => false}
|
||||||
|
if dm.size >= 30
|
||||||
|
self.delay.contain_messages_message(dm)
|
||||||
|
dm.clear
|
||||||
|
end
|
||||||
|
unless dm.empty?
|
||||||
|
self.delay.contain_messages_message(dm)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def contain_messages_message
|
|
||||||
self.course.members.includes(:user).each do |m|
|
|
||||||
if self.author.allowed_to?(:as_teacher, self.course) && m.user_id != self.author_id # 老师 自己的帖子不给自己发送消息
|
|
||||||
self.course_messages << CourseMessage.new(:user_id => m.user_id, :course_id => self.board.course_id, :viewed => false)
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def contain_messages_message vs
|
||||||
|
CourseMessage.create(vs)
|
||||||
|
end
|
||||||
|
|
||||||
#更新用户分数 -by zjc
|
#更新用户分数 -by zjc
|
||||||
def be_user_score
|
def be_user_score
|
||||||
#新建message且无parent的为发帖
|
#新建message且无parent的为发帖
|
||||||
|
|
Loading…
Reference in New Issue