Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
crawler.vmusicchart.vn
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Phạm Văn Đoan
crawler.vmusicchart.vn
Commits
61319a58
Commit
61319a58
authored
Apr 03, 2020
by
Phạm Văn Đoan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
cập nhật xử lý BXH ngày
parent
e2802129
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
90 additions
and
57 deletions
+90
-57
CalculateReportCommand.php
app/Console/Commands/CalculateReportCommand.php
+80
-57
Constants.php
app/Helpers/Constants.php
+7
-0
CrawlerListenHistory.php
app/Models/CrawlerListenHistory.php
+2
-0
DailyReportView.php
app/Models/View/DailyReportView.php
+1
-0
No files found.
app/Console/Commands/CalculateReportCommand.php
View file @
61319a58
...
@@ -3,6 +3,7 @@
...
@@ -3,6 +3,7 @@
namespace
App\Console\Commands
;
namespace
App\Console\Commands
;
use
App\Helpers\Constants
;
use
App\Helpers\Constants
;
use
App\Models\CrawlerListenHistory
;
use
App\Models\Crontjob
;
use
App\Models\Crontjob
;
use
App\Models\Report\DailyReport
;
use
App\Models\Report\DailyReport
;
use
App\Models\Report\MonthlyReport
;
use
App\Models\Report\MonthlyReport
;
...
@@ -58,76 +59,98 @@ class CalculateReportCommand extends Command
...
@@ -58,76 +59,98 @@ class CalculateReportCommand extends Command
Crontjob
::
create
([
'message'
=>
'CalculateReportCommand is called ('
.
$type
.
')'
]);
Crontjob
::
create
([
'message'
=>
'CalculateReportCommand is called ('
.
$type
.
')'
]);
// Xử lý di chuyển
// Xử lý di chuyển
echo
"
\n
Bắt đầu xử lý tính toán
báo cáo
: "
.
$type
;
echo
"
\n
Bắt đầu xử lý tính toán
BXH
: "
.
$type
;
switch
(
$type
)
{
switch
(
$type
)
{
case
'daily'
:
case
'daily'
:
// Lấy ngày tạo BXH ngày từ cấu hình, nếu xử lý BXH ngày hôm sau thì ngày của BXH là ngày hôm trước.
if
(
Constants
::
IS_CREATE_DAILY_RANKING_SAME_DAY
)
{
$date_daily_ranking
=
date
(
'Y-m-d'
);
}
else
{
$date_daily_ranking
=
date
(
'Y-m-d'
,
time
()
-
86400
);
}
// Check xem đã insert vào report_views_daily chưa
// Check xem đã insert vào report_views_daily chưa
$check
=
DailyReport
::
where
(
'date'
,
date
(
'Y-m-d'
)
)
->
count
();
$check
=
DailyReport
::
where
(
'date'
,
$date_daily_ranking
)
->
count
();
if
(
$check
>=
100
){
if
(
$check
>=
100
){
echo
"
\n
Báo cáo đã được tổng hợp trước đó."
;
echo
"
\n
- BXH Ngày đã được tạo trước đó."
;
return
false
;
}
else
{
echo
"
\n
- Bắt đầu xử lý BXH Ngày..."
;
$daily_data
=
DailyReportView
::
select
(
'*'
)
->
take
(
100
)
->
get
()
->
toArray
();
if
(
count
(
$daily_data
)
>
0
)
{
$daily_report
=
[];
foreach
(
$daily_data
as
$key
=>
$daily
)
{
$daily_report
[
$key
][
'date'
]
=
$date_daily_ranking
;
$daily_report
[
$key
][
'track_id'
]
=
$daily
[
'track_id'
];
$daily_report
[
$key
][
'views_zing'
]
=
$daily
[
'date_zing'
];
$daily_report
[
$key
][
'views_nct'
]
=
$daily
[
'date_nct'
];
$daily_report
[
$key
][
'views_keeng'
]
=
$daily
[
'date_keeng'
];
$daily_report
[
$key
][
'point_zing'
]
=
$daily
[
'point_zing'
];
$daily_report
[
$key
][
'point_nct'
]
=
$daily
[
'point_nct'
];
$daily_report
[
$key
][
'point_keeng'
]
=
$daily
[
'point_keeng'
];
$daily_report
[
$key
][
'total_point'
]
=
$daily
[
'total_point'
];
$daily_report
[
$key
][
'ranking'
]
=
$key
+
1
;
$daily_report
[
$key
][
'created_at'
]
=
Carbon
::
now
();
$daily_report
[
$key
][
'updated_at'
]
=
Carbon
::
now
();
}
if
(
count
(
$daily_report
)
>
0
)
{
DB
::
table
(
Constants
::
TABLE_REPORT_VIEWS_DAILY
)
->
insert
(
$daily_report
);
}
}
echo
"
\n
- Xử lý xong BXH Ngày."
;
}
}
$daily_data
=
DailyReportView
::
select
(
'*'
)
->
take
(
100
)
->
get
()
->
toArray
();
// Lấy ngày ghi log từ cấu hình, nếu xử lý log ngày hôm sau thì ngày của log là ngày hôm trước.
if
(
count
(
$daily_data
)
>
0
)
{
if
(
Constants
::
IS_SAVE_LISTEN_LOG_SAME_DAY
)
{
$daily_report
=
[];
$date_log
=
date
(
'Y-m-d'
);
foreach
(
$daily_data
as
$key
=>
$daily
)
{
}
else
{
$daily_report
[
$key
][
'date'
]
=
date
(
'Y-m-d'
);
$date_log
=
date
(
'Y-m-d'
,
time
()
-
86400
);
$daily_report
[
$key
][
'track_id'
]
=
$daily
[
'track_id'
];
}
$daily_report
[
$key
][
'views_zing'
]
=
$daily
[
'date_zing'
];
$daily_report
[
$key
][
'views_nct'
]
=
$daily
[
'date_nct'
];
$daily_report
[
$key
][
'views_keeng'
]
=
$daily
[
'date_keeng'
];
$daily_report
[
$key
][
'point_zing'
]
=
$daily
[
'point_zing'
];
$daily_report
[
$key
][
'point_nct'
]
=
$daily
[
'point_nct'
];
$daily_report
[
$key
][
'point_keeng'
]
=
$daily
[
'point_keeng'
];
$daily_report
[
$key
][
'total_point'
]
=
$daily
[
'total_point'
];
// Check xem đã insert vào report_views_daily chưa
$daily_report
[
$key
][
'ranking'
]
=
$key
+
1
;
$check_log
=
CrawlerListenHistory
::
where
(
'date_log'
,
$date_daily_ranking
)
->
count
()
;
$daily_report
[
$key
][
'created_at'
]
=
Carbon
::
now
();
if
(
$check_log
>=
100
){
$daily_report
[
$key
][
'updated_at'
]
=
Carbon
::
now
();
echo
"
\n
- Log ngày đã được tạo trước đó."
;
}
}
else
{
if
(
count
(
$daily_report
)
>
0
)
{
echo
"
\n
- Bắt đầu xử lý Log ngày..."
;
DB
::
table
(
Constants
::
TABLE_REPORT_VIEWS_DAILY
)
->
insert
(
$daily_report
);
// Lưu log lượt nghe theo ngày
$daily_data_all
=
DailyReportView
::
select
(
'*'
)
->
get
()
->
toArray
();
if
(
count
(
$daily_data_all
)
>
0
)
{
$daily_report
=
[];
foreach
(
$daily_data_all
as
$key
=>
$daily
)
{
$daily_report
[
$key
][
'date_log'
]
=
$date_log
;
$daily_report
[
$key
][
'track_id'
]
=
$daily
[
'track_id'
];
// Lượt nghe cộng dồn đến ngày
$daily_report
[
$key
][
'alltime_zing'
]
=
$daily
[
'alltime_zing'
];
$daily_report
[
$key
][
'alltime_nct'
]
=
$daily
[
'alltime_nct'
];
$daily_report
[
$key
][
'alltime_nhacvn'
]
=
0
;
$daily_report
[
$key
][
'alltime_keeng'
]
=
$daily
[
'alltime_keeng'
];
// Lượt nghe so với ngày hôm qua
$daily_report
[
$key
][
'zing_count'
]
=
$daily
[
'date_zing'
];
$daily_report
[
$key
][
'nct_count'
]
=
$daily
[
'date_nct'
];
$daily_report
[
$key
][
'nhacvn_count'
]
=
0
;
$daily_report
[
$key
][
'keeng_count'
]
=
$daily
[
'date_keeng'
];
$daily_report
[
$key
][
'total_listen'
]
=
$daily
[
'total_listen'
];
$daily_report
[
$key
][
'created_at'
]
=
Carbon
::
now
();
$daily_report
[
$key
][
'updated_at'
]
=
Carbon
::
now
();
}
if
(
count
(
$daily_report
)
>
0
)
{
DB
::
table
(
Constants
::
TABLE_CRAWLER_LISTEN_HISTORIES
)
->
insert
(
$daily_report
);
}
}
}
echo
"
\n
- Kết thúc xử lý Log ngày."
;
}
}
// Lưu log lượt nghe theo ngày
$daily_data_all
=
DailyReportView
::
select
(
'*'
)
->
get
()
->
toArray
();
if
(
count
(
$daily_data_all
)
>
0
)
{
$daily_report
=
[];
foreach
(
$daily_data_all
as
$key
=>
$daily
)
{
$daily_report
[
$key
][
'track_id'
]
=
$daily
[
'track_id'
];
$daily_report
[
$key
][
'alltime_zing'
]
=
$daily
[
'alltime_zing'
];
$daily_report
[
$key
][
'alltime_nct'
]
=
$daily
[
'alltime_nct'
];
$daily_report
[
$key
][
'alltime_nhacvn'
]
=
0
;
$daily_report
[
$key
][
'alltime_keeng'
]
=
$daily
[
'alltime_keeng'
];
$daily_report
[
$key
][
'zing_count'
]
=
$daily
[
'date_zing'
];
$daily_report
[
$key
][
'nct_count'
]
=
$daily
[
'date_nct'
];
$daily_report
[
$key
][
'nhacvn_count'
]
=
0
;
$daily_report
[
$key
][
'keeng_count'
]
=
$daily
[
'date_keeng'
];
$daily_report
[
$key
][
'total_listen'
]
=
$daily
[
'total_listen'
];
$daily_report
[
$key
][
'point_zing'
]
=
$daily
[
'point_zing'
];
$daily_report
[
$key
][
'point_nct'
]
=
$daily
[
'point_nct'
];
$daily_report
[
$key
][
'point_nhacvn'
]
=
0
;
$daily_report
[
$key
][
'point_keeng'
]
=
$daily
[
'point_keeng'
];
$daily_report
[
$key
][
'total_point'
]
=
$daily
[
'total_point'
];
$daily_report
[
$key
][
'created_at'
]
=
Carbon
::
now
();
$daily_report
[
$key
][
'updated_at'
]
=
Carbon
::
now
();
}
if
(
count
(
$daily_report
)
>
0
)
{
DB
::
table
(
Constants
::
TABLE_CRAWLER_LISTEN_HISTORIES
)
->
insert
(
$daily_report
);
}
}
break
;
break
;
case
'weekly'
:
case
'weekly'
:
// Check xem đã insert vào report_views_weekly chưa
// Check xem đã insert vào report_views_weekly chưa
$check
=
WeeklyReport
::
where
(
'week'
,
date
(
'W'
))
$check
=
WeeklyReport
::
where
(
'week'
,
date
(
'W'
))
...
@@ -254,6 +277,6 @@ class CalculateReportCommand extends Command
...
@@ -254,6 +277,6 @@ class CalculateReportCommand extends Command
break
;
break
;
}
}
echo
"
\n
Kết thúc xử lý tính toán
báo cáo
: "
.
$type
.
"
\n
"
;
echo
"
\n
Kết thúc xử lý tính toán
BXH
: "
.
$type
.
"
\n
"
;
}
}
}
}
app/Helpers/Constants.php
View file @
61319a58
...
@@ -68,4 +68,10 @@ class Constants
...
@@ -68,4 +68,10 @@ class Constants
const
CRAWLER_LISTEN_LIMIT
=
500
;
const
CRAWLER_LISTEN_LIMIT
=
500
;
/* Sang ngày hôm sau mới tạo BXH ngày của lượt nghe của ngày hôm trước nên giá trị false */
const
IS_CREATE_DAILY_RANKING_SAME_DAY
=
false
;
/* Sang ngày hôm sau mới lưu log lượt nghe của ngày hôm trước nên giá trị false */
const
IS_SAVE_LISTEN_LOG_SAME_DAY
=
false
;
}
}
\ No newline at end of file
app/Models/CrawlerListenHistory.php
View file @
61319a58
...
@@ -12,7 +12,9 @@ class CrawlerListenHistory extends Model
...
@@ -12,7 +12,9 @@ class CrawlerListenHistory extends Model
public
$timestamps
=
true
;
public
$timestamps
=
true
;
protected
$fillable
=
[
protected
$fillable
=
[
'date_log'
,
'track_id'
,
'track_id'
,
'alltime_zing'
,
'alltime_nct'
,
'alltime_nhacvn'
,
'alltime_keeng'
,
'zing_count'
,
'zing_count'
,
'nct_count'
,
'nct_count'
,
'nhacvn_count'
,
'nhacvn_count'
,
...
...
app/Models/View/DailyReportView.php
View file @
61319a58
...
@@ -13,6 +13,7 @@ class DailyReportView extends Model
...
@@ -13,6 +13,7 @@ class DailyReportView extends Model
protected
$fillable
=
[
protected
$fillable
=
[
'track_id'
,
'track_id'
,
'alltime_zing'
,
'alltime_nct'
,
'alltime_keeng'
,
'date_zing'
,
'date_nct'
,
'date_keeng'
,
'total_listen'
,
'date_zing'
,
'date_nct'
,
'date_keeng'
,
'total_listen'
,
'point_zing'
,
'point_nct'
,
'point_keeng'
,
'total_point'
'point_zing'
,
'point_nct'
,
'point_keeng'
,
'total_point'
];
];
...
...
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