71 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Ruby
		
	
	
	
# == Schema Information
 | 
						|
#
 | 
						|
# Table name: message_templates
 | 
						|
#
 | 
						|
#  id               :integer          not null, primary key
 | 
						|
#  type             :string(255)
 | 
						|
#  sys_notice       :text(65535)
 | 
						|
#  email            :text(65535)
 | 
						|
#  created_at       :datetime         not null
 | 
						|
#  updated_at       :datetime         not null
 | 
						|
#  notification_url :string(255)
 | 
						|
#  email_title      :string(255)
 | 
						|
#
 | 
						|
 | 
						|
# 统一模板(
 | 
						|
 | 
						|
class MessageTemplate::CustomTip < MessageTemplate 
 | 
						|
  
 | 
						|
  # MessageTemplate::CustomTip.get_message_content(User.where(login: 'yystopf'), "hahah")
 | 
						|
  def self.get_message_content(receivers, template, props={})
 | 
						|
   return '', '', '' if receivers.blank? || template.blank?
 | 
						|
   content = template.sys_notice
 | 
						|
   notification_url = template.notification_url
 | 
						|
   props.each do |k, v|
 | 
						|
    content.gsub!("{#{k}}", v)
 | 
						|
    notification_url.gsub!("{#{k}}", v)
 | 
						|
   end
 | 
						|
   notification_url.gsub!('{baseurl}', base_url)
 | 
						|
   return receivers_string(receivers), content, notification_url
 | 
						|
 rescue => e
 | 
						|
   Rails.logger.info("MessageTemplate::CustomTip.get_message_content [ERROR] #{e}")
 | 
						|
   return '', '', ''
 | 
						|
 end
 | 
						|
 | 
						|
 def self.get_email_message_content(receiver, template, props={})
 | 
						|
    return '', '', '' if receiver.blank? || template.blank?
 | 
						|
    title = template.email_title
 | 
						|
    content = template.email
 | 
						|
    props.each do |k, v|
 | 
						|
      title.gsub!("{#{k}}", v)
 | 
						|
      content.gsub!("{#{k}}", v)
 | 
						|
    end
 | 
						|
    content.gsub!('{receiver}', receiver&.real_name)
 | 
						|
    title.gsub!('{platform}', PLATFORM)
 | 
						|
    content.gsub!('{platform}', PLATFORM)
 | 
						|
    content.gsub!('{baseurl}', base_url)
 | 
						|
 | 
						|
    return receiver&.mail, title, content
 | 
						|
 rescue => e
 | 
						|
   Rails.logger.info("MessageTemplate::CustomTip.get_email_message_content [ERROR] #{e}")
 | 
						|
   return '', '', ''
 | 
						|
 end
 | 
						|
 | 
						|
  def self.get_email_content(template, props = {})
 | 
						|
    return '', '', '' if template.blank?
 | 
						|
    title = template.email_title
 | 
						|
    content = template.email
 | 
						|
    props.each do |k, v|
 | 
						|
      title.gsub!("{#{k}}", v)
 | 
						|
      content.gsub!("{#{k}}", v)
 | 
						|
    end
 | 
						|
    title.gsub!('{platform}', PLATFORM)
 | 
						|
    content.gsub!('{platform}', PLATFORM)
 | 
						|
    content.gsub!('{baseurl}', base_url)
 | 
						|
 | 
						|
    return title, content
 | 
						|
  rescue => e
 | 
						|
    Rails.logger.info("MessageTemplate::CustomTip.get_email_content [ERROR] #{e}")
 | 
						|
    return '', ''
 | 
						|
  end
 | 
						|
end |