diff --git a/app/models/journals_for_message.rb b/app/models/journals_for_message.rb index 6f775e7a2..c44b1aeee 100644 --- a/app/models/journals_for_message.rb +++ b/app/models/journals_for_message.rb @@ -202,24 +202,24 @@ class JournalsForMessage < ActiveRecord::Base # 用户留言消息通知 def act_as_user_feedback_message # 主留言 - receivers = [] - if self.reply_id == 0 - if self.user_id != self.jour_id # 过滤自己给自己的留言消息 - receivers << self.jour - end - else # 留言回复 - reply_to = User.find(self.reply_id) - if self.user_id != self.reply_id # 添加我回复的那个人 - receivers << reply_to - end - if self.user_id != self.parent.jour_id && self.reply_id != self.parent.jour_id # 给东家发信息,如果回复的对象是东家则不发 - receivers << self.parent.jour - end - end if self.jour_type == 'Principal' - receivers.each do |r| - self.user_feedback_messages << UserFeedbackMessage.new(:user_id => r.id, :journals_for_message_id => self.id, :journals_for_message_type => "Principal", :viewed => false) + receivers = [] + if self.reply_id == 0 + if self.user_id != self.jour_id # 过滤自己给自己的留言消息 + receivers << self.jour end + else # 留言回复 + reply_to = User.find(self.reply_id) + if self.user_id != self.reply_id # 添加我回复的那个人 + receivers << reply_to + end + if self.user_id != self.parent.jour_id && self.reply_id != self.parent.jour_id # 给东家发信息,如果回复的对象是东家则不发 + receivers << self.parent.jour + end + end + receivers.each do |r| + self.user_feedback_messages << UserFeedbackMessage.new(:user_id => r.id, :journals_for_message_id => self.id, :journals_for_message_type => "Principal", :viewed => false) + end end end diff --git a/app/views/users/user_messages.html.erb b/app/views/users/user_messages.html.erb index 207572a1c..1fde154bd 100644 --- a/app/views/users/user_messages.html.erb +++ b/app/views/users/user_messages.html.erb @@ -20,9 +20,9 @@ <%# 项目相关消息 %> - +
  • <%= link_to "贴吧帖子", user_message_path(User.current, :type => 'forum'), :class => "resourcesGrey" %>
  • <%# 系统贴吧 %> - +
  • <%= link_to "用户留言",user_message_path(User.current, :type => 'user_feedback'), :class => "resourcesGrey" %>
  • diff --git a/db/migrate/20150831030041_user_feedback_message.rb b/db/migrate/20150831030041_user_feedback_message.rb new file mode 100644 index 000000000..24723fc0a --- /dev/null +++ b/db/migrate/20150831030041_user_feedback_message.rb @@ -0,0 +1,36 @@ +# encoding: UTF-8 +class UserFeedbackMessage < ActiveRecord::Migration + def up + JournalsForMessage.all.each do |jour_for_message| + transaction do + # 主留言 + if jour_for_message.jour_type == 'Principal' + receivers = [] + if jour_for_message.reply_id == 0 + if jour_for_message.user_id != jour_for_message.jour_id # 过滤自己给自己的留言消息 + receivers << jour_for_message.jour + end + else # 留言回复 + reply_to = User.find(jour_for_message.reply_id) + if jour_for_message.user_id != jour_for_message.reply_id # 添加我回复的那个人 + receivers << reply_to + end + unless jour_for_message.parent.nil? + if jour_for_message.user_id != jour_for_message.parent.jour_id && jour_for_message.reply_id != jour_for_message.parent.jour_id # 给东家发信息,如果回复的对象是东家则不发 + receivers << jour_for_message.parent.jour + end + end + end + unless receivers.blank? + receivers.each do |r| + jour_for_message.user_feedback_messages << UserFeedbackMessage.new(:user_id => r.id, :journals_for_message_id => jour_for_message.id, :journals_for_message_type => "Principal", :viewed => false) + end + end + end + end + end + end + + def down + end +end diff --git a/db/migrate/20150831070611_about_memo_message.rb b/db/migrate/20150831070611_about_memo_message.rb new file mode 100644 index 000000000..26551d4a1 --- /dev/null +++ b/db/migrate/20150831070611_about_memo_message.rb @@ -0,0 +1,36 @@ +class AboutMemoMessage < ActiveRecord::Migration + def up + Memo.all.each do |memo| + transaction do + # 贴吧帖子 + receivers = [] + u = User.find(6) + receivers << u + # 主贴 + if memo.parent_id.nil? + if memo.author_id != memo.forum.creator_id # 发帖人不是吧主 + receivers << memo.forum.creator + end + else # 回帖 + # 添加吧主 + if memo.author_id != memo.forum.creator_id + receivers << memo.forum.creator + end + # 添加发帖人 + unless memo.parent.nil? + if memo.author_id != memo.parent.author_id + receivers << memo.parent.author + puts memo.id + end + end + end + receivers.each do |r| + memo.memo_messages << MemoMessage.new(:user_id => r.id, :forum_id => memo.forum_id, :memo_id => memo.id, :memo_type => "Memo", :viewed => false) + end + end + end + end + + def down + end +end