|
|
|
@@ -56,13 +56,21 @@ class SendTemplateMessageJob < ApplicationJob |
|
|
|
operator = User.find_by_id(operator_id) |
|
|
|
issue = Issue.find_by_id(issue_id) |
|
|
|
return unless operator.present? && issue.present? |
|
|
|
receivers = User.where(id: issue.assigners.pluck(:id).append(issue&.author_id)).where.not(id: operator&.id) |
|
|
|
receivers = User.where(id: (issue.assigners.pluck(:id).append(issue&.author_id) + issue.claim_users.pluck(:id)).uniq).where.not(id: operator&.id) |
|
|
|
receivers_string, content, notification_url = MessageTemplate::IssueChanged.get_message_content(receivers, operator, issue, change_params.symbolize_keys) |
|
|
|
Notice::Write::CreateService.call(receivers_string, content, notification_url, source, {operator_id: operator.id, issue_id: issue.id, change_params: change_params.symbolize_keys}) |
|
|
|
receivers.find_each do |receiver| |
|
|
|
receivers_email_string, email_title, email_content = MessageTemplate::IssueChanged.get_email_message_content(receiver, operator, issue, change_params) |
|
|
|
Notice::Write::EmailCreateService.call(receivers_email_string, email_title, email_content) |
|
|
|
end |
|
|
|
when 'IssueClaim' |
|
|
|
operator_id, issue_id = args[0], args[1] |
|
|
|
operator = User.find_by_id(operator_id) |
|
|
|
issue = Issue.find_by_id(issue_id) |
|
|
|
return unless operator.present? && issue.present? |
|
|
|
receivers = User.where(id: issue.author_id).where.not(id: operator&.id) |
|
|
|
receivers_string, content, notification_url = MessageTemplate::IssueClaim.get_message_content(receivers, operator, issue) |
|
|
|
Notice::Write::CreateService.call(receivers_string, content, notification_url, source, {operator_id: operator.id, issue_id: issue.id}) |
|
|
|
when 'IssueExpire' |
|
|
|
issue_id = args[0] |
|
|
|
issue = Issue.find_by_id(issue_id) |
|
|
|
|