Commit 6e731a60 by liangyuzhe

init pusher

parent b3d25f2a
......@@ -36,10 +36,9 @@ class PushsController < ApplicationController
if token_array.blank?
return render json: { code: -1, message: 'token错误'}
end
byebug
if validate_token(params[:app_name], token_array.first)
push_sync(params[:sync_push], {user_ids: Array(params[:user_id]), message: message, app_type: params[:app_type], igetui_opts: igetui_opts.merge(pusher_type: 'push_message_to_single')})
render json: { code: 0, message: 'success', describe: '异步任务正在处理'}
else
......
......@@ -6,7 +6,7 @@ module Igetui
@template_data = opts[:message]
@igetui_opts = opts[:igetui_opts]
@user_device_ids = user_device_ids
@pusher = pusher(opts[:device_platform])
@pusher = pusher(opts[:device_platform], opts[:app_type])
@pusher_type = @igetui_opts[:pusher_type]
end
......@@ -22,12 +22,16 @@ module Igetui
end
private
def pusher(device_platform)
case device_platform
when 'android'
$android_pusher
when 'ios'
$ios_pusher
def pusher(device_platform, app_type)
case app_type
when 'lx_duli'
device_platform == 'android' ? $lx_duli_android_pusher : $lx_duli_ios_pusher
when 'lx_yun'
device_platform == 'android' ? $lx_yun_android_pusher : $lx_yun_ios_pusher
when 'aike_yun'
device_platform == 'android' ? $aike_yun_android_pusher : $aike_yun_ios_pusher
else 'ik_duli'
device_platform == 'android' ? $ik_duli_android_pusher : $ik_duli_ios_pusher
end
end
......
......@@ -12,21 +12,21 @@ class PushToolClient
@push_device_collections ||= UserDevice.where(user_id: @user_ids).group_by(&:platform)
@igetui_push_device_collections ||= @push_device_collections['igetui'].group_by(&:device_platform) if @push_device_collections['igetui'].is_a? Array
if @igetui_push_device_collections.is_a? Hash
igetui_android_device_ids = @igetui_push_device_collections['android'].map(&:device_id) if @igetui_push_device_collections['android'].is_a? Array
igetui_ios_device_ids = @igetui_push_device_collections['ios'].map(&:devendice_id) if @igetui_push_device_collections['ios'].is_a? Array
igetui_android_client_ids = @igetui_push_device_collections['android'].map(&:client_id) if @igetui_push_device_collections['android'].is_a? Array
igetui_ios_client_ids = @igetui_push_device_collections['ios'].map(&:client_id) if @igetui_push_device_collections['ios'].is_a? Array
end
Igetui::Pusher.new(igetui_android_device_ids, @opts.merge(device_platform: 'android')).perform if igetui_android_device_ids.present?
Igetui::Pusher.new(igetui_ios_device_ids, @opts.merge(device_platform: 'ios')).perform if igetui_ios_device_ids.present?
Igetui::Pusher.new(igetui_android_client_ids, @opts.merge(device_platform: 'android')).perform if igetui_android_client_ids.present?
Igetui::Pusher.new(igetui_ios_client_ids, @opts.merge(device_platform: 'ios')).perform if igetui_ios_client_ids.present?
#现在好像不用了
# Push::IgetuiIos.push(@push_collections[:igetui_ios], @opts) if @push_collections[:apns].present?
# Push::IgetuiAndroid.push(@push_collections[:igetui_android], @opts) if @push_collections[:apns].present?
xiaomi_device_ids = @push_device_collections['xiaomi'].map(&:device_id) if @push_device_collections['xiaomi'].is_a? Array
huawei_device_ids = @push_device_collections['huawei'].map(&:device_id) if @push_device_collections['huawei'].is_a? Array
xiaomi_client_ids = @push_device_collections['xiaomi'].map(&:client_id) if @push_device_collections['xiaomi'].is_a? Array
huawei_client_ids = @push_device_collections['huawei'].map(&:client_id) if @push_device_collections['huawei'].is_a? Array
Xiaomi::Pusher.new(xiaomi_device_ids, @opts[:message]).perform if xiaomi_device_ids.present?
Huawei::Pusher.new(huawei_device_ids, @opts[:message]).perform if huawei_device_ids.present?
Xiaomi::Pusher.new(xiaomi_client_ids, @opts[:message]).perform if xiaomi_client_ids.present?
Huawei::Pusher.new(huawei_client_ids, @opts[:message]).perform if huawei_client_ids.present?
end
end
\ No newline at end of file
......@@ -8,7 +8,8 @@ default: &default
adapter: mysql2
encoding: utf8
pool: 10
host: rdscbq34656z0ix59br0.mysql.rds.aliyuncs.com
host: rm-m5eu4m6a4rugr22fcno.mysql.rds.aliyuncs.com
development:
<<: *default
......@@ -16,9 +17,9 @@ development:
#host: 10.140.235.122
#username: vcooline_ikcrm_testing
#password: ikcrm_123
database: crm_test
username: lx_duli_test
password: '@NshoftqW!$%0eFQ'
database: crm_staging
username: crm_staging
password: rCxWfEbdJrEp3Mff
# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
......@@ -30,3 +31,4 @@ test:
production:
<<: *default
database: db/production.sqlite3
$android_pusher ||=
$ik_duli_android_pusher ||=
IGeTui.pusher(
Settings.platform_settings.igetui.android['app_id'],
Settings.platform_settings.igetui.android['app_key'],
Settings.platform_settings.igetui.android['master_secret']
Settings.ik_duli.igetui.android['app_id'],
Settings.ik_duli.igetui.android['app_key'],
Settings.ik_duli.igetui.android['master_secret']
)
$ios_pusher ||=
$ik_duli_ios_pusher ||=
IGeTui.pusher(
Settings.platform_settings.igetui.ios['app_id'],
Settings.platform_settings.igetui.ios['app_key'],
Settings.platform_settings.igetui.ios['master_secret']
)
\ No newline at end of file
Settings.ik_duli.igetui.ios['app_id'],
Settings.ik_duli.igetui.ios['app_key'],
Settings.ik_duli.igetui.ios['master_secret']
)
$lx_duli_android_pusher ||=
IGeTui.pusher(
Settings.lx_duli.igetui.android['app_id'],
Settings.lx_duli.igetui.android['app_key'],
Settings.lx_duli.igetui.android['master_secret']
)
$lx_duli_ios_pusher ||=
IGeTui.pusher(
Settings.lx_duli.igetui.ios['app_id'],
Settings.lx_duli.igetui.ios['app_key'],
Settings.lx_duli.igetui.ios['master_secret']
)
$lx_yun_android_pusher ||=
IGeTui.pusher(
Settings.lx_yun.igetui.android['app_id'],
Settings.lx_yun.igetui.android['app_key'],
Settings.lx_yun.igetui.android['master_secret']
)
$lx_yun_ios_pusher ||=
IGeTui.pusher(
Settings.lx_yun.igetui.ios['app_id'],
Settings.lx_yun.igetui.ios['app_key'],
Settings.lx_yun.igetui.ios['master_secret']
)
$aike_yun_android_pusher ||=
IGeTui.pusher(
Settings.aike_yun.igetui.android['app_id'],
Settings.aike_yun.igetui.android['app_key'],
Settings.aike_yun.igetui.android['master_secret']
)
$aike_yun_ios_pusher ||=
IGeTui.pusher(
Settings.aike_yun.igetui.ios['app_id'],
Settings.aike_yun.igetui.ios['app_key'],
Settings.aike_yun.igetui.ios['master_secret']
)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment