Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
Cong.Zhao
/
musician-api.hikoon.com
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
Commit
cc78c034
...
cc78c03457bf803c806e8af256c224348f0ff317
authored
2021-09-18 14:45:14 +0800
by
lemon
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
*
1 parent
1fa2e7ec
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
24 additions
and
1 deletions
app/Console/Commands/DealSongIp.php
app/Console/Commands/DealSongIp.php
View file @
cc78c03
...
...
@@ -4,6 +4,7 @@ namespace App\Console\Commands;
use
App\Helper\RedisClient
;
use
App\Models\Legal\Company
;
use
App\Models\Legal\Song
;
use
App\Models\Legal\SongsIp
;
use
Illuminate\Console\Command
;
use
Illuminate\Support\Facades\Redis
;
...
...
@@ -49,6 +50,29 @@ class DealSongIp extends Command
$company_ids
=
Company
::
query
()
->
pluck
(
'company_id'
)
->
toArray
();
foreach
(
$company_ids
as
$company_id
)
{
SongsIp
::
query
()
->
select
([
'id'
,
'song_id'
,
'custom_id'
])
->
chunk
(
5000
,
function
(
$res
)
{
$res
=
$res
->
toArray
();
$custom_ids
=
array_column
(
$res
,
'custom_id'
);
if
(
!
empty
(
$custom_ids
))
{
$songs
=
Song
::
query
()
->
whereIn
(
'custom_id'
,
$custom_ids
)
->
select
([])
->
get
()
->
keyBy
(
'custom_id'
)
->
toArray
();
foreach
(
$res
as
$item
)
{
if
(
isset
(
$songs
[
$item
[
'custom_id'
]]))
{
SongsIp
::
query
()
->
where
([
'id'
=>
$item
[
'id'
]])
->
update
([
'song_id'
=>
$item
[
'id'
]]);
}
else
{
SongsIp
::
query
()
->
where
([
'id'
=>
$item
[
'id'
]])
->
update
([
'song_id'
=>
0
]);
}
}
}
});
}
//2.修复缓存
foreach
(
$company_ids
as
$company_id
)
{
$key1
=
"company:#company_id#:channel:#channel#:month:#month#:songip"
;
$key2
=
"company:#company_id#:channel:#channel#:songip"
;
...
...
@@ -59,7 +83,6 @@ class DealSongIp extends Command
$redis
->
del
(
$key2
);
}
SongsIp
::
query
()
->
chunk
(
5000
,
function
(
$res
)
use
(
$redis
)
{
foreach
(
$res
as
$item
)
{
$key
=
"company:#company_id#:channel:#channel#:songip"
;
...
...
Please
register
or
sign in
to post a comment