|
- class Notice::Write::CreateService < Notice::Write::ClientService
- attr_accessor :receivers, :sender, :content, :notification_url, :source, :extra, :type
-
- def initialize(receivers, content, notification_url, source, extra={}, type=1, sender=-1)
- @receivers = receivers
- @sender = sender
- @content = content
- @notification_url = notification_url
- @source = source
- @extra = extra
- @type = type
- end
-
- def call
- return nil if request_receivers.blank?
- result = post(url, request_params)
- response = render_response(result)
- end
-
- private
-
- def request_receivers
- receivers.is_a?(Array) ? receivers.join(",") : receivers
- end
-
- def request_params
- Hash.new.merge(data: {
- receivers: request_receivers,
- sender: sender,
- content: content,
- notification_url: notification_url,
- source: source,
- extra: extra.to_json.to_s,
- type: type
- }.stringify_keys)
- end
-
- def url
- "/notification/#{platform}".freeze
- end
-
- end
|