|
|
|
@ -25,6 +25,8 @@ class JournalsForMessage < ApplicationRecord
|
|
|
|
|
# "is_comprehensive_evaluation", # 1 教师评论、2 匿评、3 留言
|
|
|
|
|
# "hidden", 隐藏
|
|
|
|
|
|
|
|
|
|
after_create :send_tiding
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# course_identity 课堂用户身份
|
|
|
|
|
def contents_show course_identity
|
|
|
|
@ -47,4 +49,29 @@ class JournalsForMessage < ApplicationRecord
|
|
|
|
|
JournalsForMessage.includes(:user).where(m_parent_id: self.id).page(page).per(limit).reorder("created_on asc")
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def send_tiding
|
|
|
|
|
# 回复和@同一个人时:只发@的消息(因@的消息先创建)
|
|
|
|
|
case self.jour_type
|
|
|
|
|
# 用户留言当做私信处理 不发消息
|
|
|
|
|
when "Principal"
|
|
|
|
|
=begin
|
|
|
|
|
user_id = self.m_parent_id.present? ? JournalsForMessage.find(self.m_parent_id).user_id : self.jour_id
|
|
|
|
|
if user_id != self.user_id && !self.tidings.where(:user_id => user_id, :trigger_user_id => self.user_id, :tiding_type => "Mentioned").first.present?
|
|
|
|
|
self.tidings << Tiding.new(:trigger_user_id => self.user_id, :user_id => user_id, :parent_container_id => self.jour_id, :parent_container_type => self.jour_type, :belong_container_id => self.jour_id, :belong_container_type => "User", :viewed => 0, :tiding_type => self.m_parent_id.present? ? "Comment" : "Journal")
|
|
|
|
|
end
|
|
|
|
|
=end
|
|
|
|
|
when "HomeworkCommon", "GraduationTopic"
|
|
|
|
|
user_id = self.m_parent_id.present? ? JournalsForMessage.find(self.m_parent_id).user_id : (self.jour_type == "HomeworkCommon" ? self.jour.user_id : self.jour.tea_id)
|
|
|
|
|
if user_id != self.user_id && !self.tidings.where(:user_id => user_id, :trigger_user_id => self.user_id, :tiding_type => "Mentioned").first.present?
|
|
|
|
|
self.tidings << Tiding.new(:trigger_user_id => self.user_id, :user_id => user_id, :parent_container_id => self.jour_id, :parent_container_type => self.jour_type, :belong_container_id => self.jour.course_id, :belong_container_type => "Course", :viewed => 0, :tiding_type => "Comment")
|
|
|
|
|
end
|
|
|
|
|
when "StudentWorksScore"
|
|
|
|
|
course_id = self.jour.try(:student_work).try(:homework_common).try(:course_id)
|
|
|
|
|
user_id = self.m_parent_id.present? ? JournalsForMessage.find(self.m_parent_id).user_id : self.jour.user_id
|
|
|
|
|
if user_id != self.user_id && !self.tidings.where(:user_id => user_id, :trigger_user_id => self.user_id, :tiding_type => "Mentioned").first.present?
|
|
|
|
|
self.tidings << Tiding.new(:trigger_user_id => self.user_id, :user_id => user_id, :parent_container_id => self.jour_id, :parent_container_type => self.jour_type, :belong_container_id => course_id, :belong_container_type => "Course", :viewed => 0, :tiding_type => "Comment")
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|