Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
app_push
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ikcrm_server
app_push
Commits
c390e57e
Commit
c390e57e
authored
Nov 10, 2021
by
胡强
Browse files
Options
Browse Files
Download
Plain Diff
fix conflict
parents
791723b6
8814ec1d
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
16 additions
and
7 deletions
+16
-7
Gemfile.lock
+3
-1
app/controllers/pushs_controller.rb
+2
-2
app/controllers/user_devices_controller.rb
+7
-4
app/models/user_device.rb
+4
-0
No files found.
Gemfile.lock
View file @
c390e57e
...
...
@@ -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)
...
...
app/controllers/pushs_controller.rb
View file @
c390e57e
...
...
@@ -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错误'
}
...
...
app/controllers/user_devices_controller.rb
View file @
c390e57e
...
...
@@ -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
app/models/user_device.rb
View file @
c390e57e
...
...
@@ -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
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment