2016-09-28 20:18:52 +08:00
|
|
|
class UserNotification < ActiveRecord::Base
|
|
|
|
belongs_to :user
|
|
|
|
belongs_to :notification
|
2016-09-28 22:03:52 +08:00
|
|
|
|
2016-09-29 20:49:58 +08:00
|
|
|
def self.recent_notifications(user)
|
|
|
|
Notification.joins(:user_notifications)
|
|
|
|
.where('user_notifications.user_id = ?', user.id)
|
|
|
|
.order(created_at: :DESC)
|
|
|
|
.limit(10)
|
2016-09-28 22:03:52 +08:00
|
|
|
end
|
|
|
|
|
2016-09-29 20:49:58 +08:00
|
|
|
def self.unseen_notification(user)
|
|
|
|
where('user_id = ? AND checked = false', user.id).count
|
2016-09-28 22:03:52 +08:00
|
|
|
end
|
2016-09-29 22:51:27 +08:00
|
|
|
|
|
|
|
def self.create_notification(user, title, message, type)
|
|
|
|
notification = Notification.new
|
|
|
|
notification.transaction do
|
|
|
|
notification.title = title
|
|
|
|
notification.message = message
|
|
|
|
notification.type_of = type
|
|
|
|
notification.save!
|
|
|
|
usernotification = UserNotification.new(user: user, notification: notification, checked: false)
|
|
|
|
usernotification.save!
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2016-09-28 20:18:52 +08:00
|
|
|
end
|