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
ebbe4438
...
ebbe4438e58457ca7cbc0bb6e3af45e346427ea0
authored
2021-08-12 12:32:31 +0800
by
lemon
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
*
1 parent
f925b825
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
97 additions
and
1 deletions
app/Console/Commands/DealSongIp.php
app/Console/Kernel.php
app/Models/Legal/Company.php
config/database.php
app/Console/Commands/DealSongIp.php
0 → 100644
View file @
ebbe443
<?php
namespace
App\Console\Commands
;
use
App\Helper\RedisClient
;
use
App\Models\Legal\Company
;
use
App\Models\Legal\SongsIp
;
use
Illuminate\Console\Command
;
use
Illuminate\Support\Facades\Redis
;
class
DealSongIp
extends
Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected
$signature
=
'command:name'
;
/**
* The console command description.
*
* @var string
*/
protected
$description
=
'Command description'
;
/**
* Create a new command instance.
*
* @return void
*/
public
function
__construct
()
{
parent
::
__construct
();
}
/**
* Execute the console command.
*
* @return int
*/
public
function
handle
()
{
$redis
=
RedisClient
::
instance
(
'songip'
);
$company_ids
=
Company
::
query
()
->
pluck
(
'company_id'
)
->
toArray
();
foreach
(
$company_ids
as
$company_id
)
{
$key1
=
"company:#company_id#:channel:#channel#:month:#month#:songip"
;
$key2
=
"company:#company_id#:channel:#channel#:songip"
;
$key1
=
str_replace
([
'#company_id#'
,
'#channel#'
],
[
$company_id
,
1
],
$key1
);
$key2
=
str_replace
([
'#company_id#'
,
'#channel#'
],
[
$company_id
,
1
],
$key2
);
$redis
->
del
(
$key1
);
$redis
->
del
(
$key2
);
}
SongsIp
::
query
()
->
chunk
(
5000
,
function
(
$res
)
use
(
$redis
)
{
foreach
(
$res
as
$item
)
{
$key
=
"company:#company_id#:channel:#channel#:month:#month#:songip"
;
$key
=
str_replace
([
'#company_id#'
,
'#channel#'
],
[
$item
->
company_id
,
1
],
$key
);
$redis
->
sadd
(
$key
,
$item
->
custom_id
);
}
});
}
}
app/Console/Kernel.php
View file @
ebbe443
...
...
@@ -2,6 +2,7 @@
namespace
App\Console
;
use
App\Console\Commands\DealSongIp
;
use
Illuminate\Console\Scheduling\Schedule
;
use
Illuminate\Foundation\Console\Kernel
as
ConsoleKernel
;
...
...
@@ -13,7 +14,7 @@ class Kernel extends ConsoleKernel
* @var array
*/
protected
$commands
=
[
//
DealSongIp
::
class
,
];
/**
...
...
app/Models/Legal/Company.php
0 → 100644
View file @
ebbe443
<?php
namespace
App\Models\Legal
;
use
App\Models\BaseModel
;
use
Illuminate\Database\Eloquent\SoftDeletes
;
class
Company
extends
BaseModel
{
use
SoftDeletes
;
protected
$table
=
'company'
;
protected
$primaryKey
=
'company_id'
;
protected
$guarded
=
[];
}
config/database.php
View file @
ebbe443
...
...
@@ -161,6 +161,14 @@ return [
'database'
=>
env
(
'REDIS_CACHE_DB'
,
'1'
),
],
'songip'
=>
[
'url'
=>
env
(
'REDIS_URL'
),
'host'
=>
env
(
'REDIS_HOST'
,
'127.0.0.1'
),
'password'
=>
env
(
'REDIS_PASSWORD'
,
null
),
'port'
=>
env
(
'REDIS_PORT'
,
'6379'
),
'database'
=>
0
,
]
],
];
...
...
Please
register
or
sign in
to post a comment