forked from Trustie/forgeplus
新增:专家智享站内信
This commit is contained in:
parent
8329bfe245
commit
8962cebd3a
|
|
@ -25,6 +25,7 @@ class Admins::ResidentExpertsController < Admins::BaseController
|
|||
@expert.resident_expert_actions.where.not(action_type: ResidentExpertAction::action_types[:approved]).destroy_all
|
||||
@expert.resident_expert_actions.create(action_type: ResidentExpertAction::action_types[:approved], action_name: '管理员审核通过' )
|
||||
@expert.resident_expert_actions.create(action_type: ResidentExpertAction::action_types[:approved], action_name: '专家主页上线' )
|
||||
SendTemplateMessageJob.perform_later('ResidentExpertApproved', @expert.user_id, @expert.id)
|
||||
redirect_to admins_resident_experts_path
|
||||
flash[:success] = "入驻通过成功"
|
||||
else
|
||||
|
|
@ -38,6 +39,7 @@ class Admins::ResidentExpertsController < Admins::BaseController
|
|||
@expert.resident_expert_actions.where.not(action_type: ResidentExpertAction::action_types[:approved]).destroy_all
|
||||
@expert.resident_expert_actions.create(action_type: ResidentExpertAction::action_types[:rejected], action_name: '管理员驳回', action_description: params[:rejection_reason] )
|
||||
@expert.resident_expert_actions.create(action_type: ResidentExpertAction::action_types[:todo], action_name: '展示上线', action_description: "待重新申请并通过审核" )
|
||||
SendTemplateMessageJob.perform_later('ResidentExpertRejected', @expert.user_id, @expert.id)
|
||||
redirect_to admins_resident_experts_path
|
||||
flash[:success] = "入驻驳回成功"
|
||||
else
|
||||
|
|
|
|||
|
|
@ -4,6 +4,22 @@ class SendTemplateMessageJob < ApplicationJob
|
|||
def perform(source, *args)
|
||||
Rails.logger.info "SendTemplateMessageJob [args] #{args}"
|
||||
case source
|
||||
when 'ResidentExpertApproved'
|
||||
receivers_id, resident_expert_id = args[0], args[1]
|
||||
resident_expert = ResidentExpert.find_by_id(resident_expert_id)
|
||||
return unless resident_expert.present?
|
||||
receivers = User.where("id in(?)", receivers_id).or(User.where(mail: receivers_id))
|
||||
not_exists_receivers = receivers_id - receivers.pluck(:id) - receivers.pluck(:mail)
|
||||
receivers_string, content, notification_url = MessageTemplate::ResidentExpertApproved.get_message_content(receivers, resident_expert)
|
||||
Notice::Write::CreateService.call(receivers_string, content, notification_url, source, {receivers_id: receivers_id, resident_expert_id: resident_expert_id})
|
||||
when 'ResidentExpertRejected'
|
||||
receivers_id, resident_expert_id = args[0], args[1]
|
||||
resident_expert = ResidentExpert.find_by_id(resident_expert_id)
|
||||
return unless resident_expert.present?
|
||||
receivers = User.where("id in(?)", receivers_id).or(User.where(mail: receivers_id))
|
||||
not_exists_receivers = receivers_id - receivers.pluck(:id) - receivers.pluck(:mail)
|
||||
receivers_string, content, notification_url = MessageTemplate::ResidentExpertRejected.get_message_content(receivers, resident_expert)
|
||||
Notice::Write::CreateService.call(receivers_string, content, notification_url, source, {receivers_id: receivers_id, resident_expert_id: resident_expert_id})
|
||||
when 'CustomTip'
|
||||
receivers_id, template_id, props = args[0], args[1], args[2]
|
||||
template = MessageTemplate.find_by_id(template_id)
|
||||
|
|
|
|||
|
|
@ -85,6 +85,8 @@ class MessageTemplate < ApplicationRecord
|
|||
self.create(type: 'MessageTemplate::CompetitionReview', sys_notice: '你报名的竞赛 <b>{competition_name}</b> 距作品提交结束日期仅剩3天,若尚未提交参赛作品,请尽快提交', notification_url: '{to_url}')
|
||||
# 用户提交审核通知
|
||||
self.create(type: 'MessageTemplate::ApplySignaturePassed', sys_notice: '您提交的 {nickname}/{repository} 仓库访问申请已审核通过,可正常访问受限仓库。{ifcdkey}软件激活码:{cdkey} {endcdkey}', notification_url: '{baseurl}/{owner}/{identifier}')
|
||||
self.create(type: 'MessageTemplate::ResidentExpertApproved', sys_notice: '您好,您提交的专家入驻申请已审核通过,欢迎加入红山开源专家智享社区!', notification_url: '{baseurl}/forums/expert/apply')
|
||||
self.create(type: 'MessageTemplate::ResidentExpertRejected', sys_notice: '您好,您提交的专家入驻申请未能通过审核,如有疑问或希望重新申请,请修改相关信息后再次提交。点击查看驳回理由→', notification_url: '{baseurl}/forums/expert/apply')
|
||||
end
|
||||
|
||||
def self.sys_notice
|
||||
|
|
|
|||
|
|
@ -0,0 +1,14 @@
|
|||
class MessageTemplate::ResidentExpertApproved < MessageTemplate
|
||||
|
||||
# MessageTemplate::ResidentExpertApproved.get_message_content(User.where(phone: 15386415121), ResidentExpert.last)
|
||||
def self.get_message_content(receivers, resident_expert)
|
||||
return '', '', '' if receivers.blank?
|
||||
content = sys_notice
|
||||
url = notification_url
|
||||
return receivers_string(receivers), content, url
|
||||
rescue => e
|
||||
Rails.logger.info("MessageTemplate::ResidentExpertApproved.get_message_content [ERROR] #{e}")
|
||||
|
||||
return '', '', ''
|
||||
end
|
||||
end
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
class MessageTemplate::ResidentExpertRejected < MessageTemplate
|
||||
|
||||
# MessageTemplate::ResidentExpertRejected.get_message_content(User.where(phone: 15386415121), ResidentExpert.last)
|
||||
def self.get_message_content(receivers, resident_expert)
|
||||
return '', '', '' if receivers.blank?
|
||||
content = sys_notice
|
||||
url = notification_url
|
||||
return receivers_string(receivers), content, url
|
||||
rescue => e
|
||||
Rails.logger.info("MessageTemplate::ResidentExpertRejected.get_message_content [ERROR] #{e}")
|
||||
|
||||
|
||||
return '', '', ''
|
||||
end
|
||||
end
|
||||
Loading…
Reference in New Issue