diff --git a/app/services/api/v1/issues/create_service.rb b/app/services/api/v1/issues/create_service.rb index ec4aeac0b..a7ddf7e77 100644 --- a/app/services/api/v1/issues/create_service.rb +++ b/app/services/api/v1/issues/create_service.rb @@ -60,7 +60,7 @@ class Api::V1::Issues::CreateService < ApplicationService project.del_project_issue_cache_delete_count # 把缓存里存储项目删除issue的个数清除掉 # @信息发送 - AtmeService.call(current_user, @atme_receivers, @issue) unless receivers_login.blank? + AtmeService.call(current_user, @atme_receivers, @created_issue) unless receivers_login.blank? # 发消息 if Site.has_notice_menu? diff --git a/app/services/api/v1/issues/journals/create_service.rb b/app/services/api/v1/issues/journals/create_service.rb index 0fd7b3760..82a279d45 100644 --- a/app/services/api/v1/issues/journals/create_service.rb +++ b/app/services/api/v1/issues/journals/create_service.rb @@ -4,7 +4,7 @@ class Api::V1::Issues::Journals::CreateService < ApplicationService include Api::V1::Issues::Concerns::Loadable attr_reader :issue, :current_user, :notes, :parent_id, :reply_id, :attachment_ids, :receivers_login - attr_accessor :created_journal + attr_accessor :created_journal, :atme_receivers validates :notes, :issue, :current_user, presence: true @@ -39,7 +39,7 @@ class Api::V1::Issues::Journals::CreateService < ApplicationService @created_journal.save! # @信息发送 - AtmeService.call(current_user, @atme_receivers, @issue) unless receivers_login.blank? + AtmeService.call(current_user, @atme_receivers, @created_journal) unless receivers_login.blank? unlock("Api::V1::Issues::Journals::CreateService:#{@issue.id}") @@ -67,6 +67,7 @@ class Api::V1::Issues::Journals::CreateService < ApplicationService def build_atme_participants @atme_receivers.each do |receiver| + next if @issue.issue_participants.exists?(participant_type: "atme", participant_id: receiver.id) @issue.issue_participants.new({participant_type: "atme", participant_id: receiver.id}) end end diff --git a/app/services/api/v1/issues/journals/update_service.rb b/app/services/api/v1/issues/journals/update_service.rb index 3ac35b519..70c6fe4d5 100644 --- a/app/services/api/v1/issues/journals/update_service.rb +++ b/app/services/api/v1/issues/journals/update_service.rb @@ -4,7 +4,7 @@ class Api::V1::Issues::Journals::UpdateService < ApplicationService include Api::V1::Issues::Concerns::Loadable attr_reader :issue, :journal, :current_user, :notes, :attachment_ids, :receivers_login - attr_accessor :updated_journal + attr_accessor :updated_journal, :atme_receivers validates :notes, :issue, :journal, :current_user, presence: true @@ -36,7 +36,7 @@ class Api::V1::Issues::Journals::UpdateService < ApplicationService @updated_journal.save! # @信息发送 - AtmeService.call(current_user, @atme_receivers, @issue) unless receivers_login.blank? + AtmeService.call(current_user, @atme_receivers, @created_journal) unless receivers_login.blank? unlock("Api::V1::Issues::Journals::UpdateService:#{@issue.id}:#{@journal.id}") @@ -48,6 +48,7 @@ class Api::V1::Issues::Journals::UpdateService < ApplicationService def build_atme_participants @atme_receivers.each do |receiver| + next if @issue.issue_participants.exists?(participant_type: "atme", participant_id: receiver.id) @issue.issue_participants.new({participant_type: "atme", participant_id: receiver.id}) end end