Commit c390e57e by 胡强

fix conflict

parents 791723b6 8814ec1d
......@@ -140,7 +140,9 @@ GEM
marcel (0.3.3)
mimemagic (~> 0.3.2)
method_source (0.9.2)
mimemagic (0.3.3)
mimemagic (0.3.10)
nokogiri (~> 1)
rake
mini_mime (1.0.2)
mini_portile2 (2.4.0)
minitest (5.13.0)
......
......@@ -21,17 +21,17 @@ class PushsController < ApplicationController
# param! :igetui_opts, String
param! :sync_push, :boolean
param! :user_ids, Array, required: true
param! :user_platform, String, required: true, in: UserDevice::user_platforms.keys
message = JSON.parse(params[:message]) rescue {}
igetui_opts = message
user_ids = params[:user_ids] rescue []
user_devices = UserDevice.where(user_id: user_ids)
user_devices = UserDevice.where(user_id: user_ids,user_platform: params[:user_platform])
client_id = message.dig('transmission_content', 'extras', 'extra', 'client_id')
user_devices = user_devices.where.not(client_id: client_id) if client_id
user_device_exist = user_devices.exists?
Rails.logger.info "message: #{message} client_id: #{client_id} user_devices #{user_devices.map{ |d| {id: d.id, user_id: d.user_id, client_id: d.client_id, platform: d.platform} }}"
unless user_device_exist
return render json: { code: -1, message: 'user_device找不到,user_ids错误'}
......
......@@ -4,6 +4,7 @@ class UserDevicesController < ApplicationController
param! :app_type, String, required: true, in: UserDevice::app_types.keys
param! :client_id, String, required: true
param! :user_id, Integer, required: true
param! :user_platform, String, required: true, in: UserDevice::user_platforms.keys
_user_device_params = permit_user_device_params
......@@ -11,7 +12,7 @@ class UserDevicesController < ApplicationController
user_id = _user_device_params[:user_id]
UserDevice.where(user_id: user_id).delete_all
UserDevice.where(user_id: user_id,user_platform: _user_device_params[:user_platform]).delete_all
UserDevice.where(client_id: _user_device_params[:client_id]).delete_all
user_device = UserDevice.create!(_user_device_params)
......@@ -23,10 +24,11 @@ class UserDevicesController < ApplicationController
param! :old_user_id, Integer, required: true
param! :user_id, Integer, required: true
param! :organization_id, Integer, required: true
param! :user_platform, String, required: true, in: UserDevice::user_platforms.keys
user_id = params[:user_id]
old_user_id = params[:old_user_id]
user_device = UserDevice.where(user_id: old_user_id).last
user_device = UserDevice.where(user_id: old_user_id,user_platform: params[:user_platform]).last
if user_device.present?
UserDevice.where(user_id: user_id).delete_all
UserDevice.where(user_id: old_user_id).delete_all
......@@ -46,9 +48,10 @@ class UserDevicesController < ApplicationController
def destroy_by_user_id
param! :user_id, Integer, required: true
param! :user_platform, String, required: true, in: UserDevice::user_platforms.keys
user_id = params[:user_id]
UserDevice.where(user_id: user_id).delete_all
UserDevice.where(user_id: user_id,user_platform: params[:user_platform]).delete_all
render json: { code: 0, message: "success" }
end
......@@ -57,7 +60,7 @@ class UserDevicesController < ApplicationController
def permit_user_device_params
params.permit(:platform, :device_token, :client_id, :device_model, :device_platform,
:device_id, :device_version, :device_phone, :app_type, :user_id, :organization_id, :ip)
:device_id, :device_version, :device_phone, :app_type, :user_id, :organization_id, :ip, :user_platform)
end
end
......@@ -9,4 +9,7 @@ class UserDevice < ApplicationRecord
# 用于区分当前的应用,为了推送准备, 因为推送需要根据不同的应用使用不同的 id,secret等。
enum app_type: %i[ik_duli lx_duli lx_yun aike_yun]
# 用户区分用户所在平台,0-ikcrm:默认值,独立版用户,1-wxwork: 企微版用户,2-dingtalk: 钉钉版用户
enum user_platform: %i[ikcrm wxwork dingtalk]
end
\ No newline at end of file
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