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
fb424b28
Commit
fb424b28
authored
Apr 04, 2020
by
Phạm Văn Đoan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fixbug tổng hợp BXH tuần
parent
0feea417
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
90 additions
and
81 deletions
+90
-81
CalculateReportCommand.php
app/Console/Commands/CalculateReportCommand.php
+81
-74
Kernel.php
app/Console/Kernel.php
+5
-5
Constants.php
app/Helpers/Constants.php
+2
-0
MonthlyReport.php
app/Models/Report/MonthlyReport.php
+1
-1
WeeklyReport.php
app/Models/Report/WeeklyReport.php
+1
-1
No files found.
app/Console/Commands/CalculateReportCommand.php
View file @
fb424b28
...
...
@@ -55,14 +55,14 @@ class CalculateReportCommand extends Command
$type
=
$this
->
choice
(
'Chọn loại báo cáo '
,
[
'daily'
,
'weekly'
,
'monthly'
]);
}
// Ghi log xem có gọi không
Crontjob
::
create
([
'message'
=>
'CalculateReportCommand is called ('
.
$type
.
')'
]);
// Xử lý di chuyển
echo
"
\n
Bắt đầu xử lý tính toán BXH: "
.
$type
;
switch
(
$type
)
{
case
'daily'
:
// Ghi log xem có gọi không
Crontjob
::
create
([
'message'
=>
'CalculateReportCommand is called ('
.
$type
.
')'
]);
// 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'
);
...
...
@@ -152,83 +152,90 @@ class CalculateReportCommand extends Command
break
;
case
'weekly'
:
// Check xem đã insert vào report_views_weekly chưa
$check
=
WeeklyReport
::
where
(
'week'
,
date
(
'W'
))
->
where
(
'month'
,
date
(
'm'
))
->
where
(
'year'
,
date
(
'Y'
))
->
count
();
if
(
$check
>=
100
){
echo
"
\n
Báo cáo đã được tổng hợp trước đó."
;
return
false
;
}
if
(
strtoupper
(
date
(
'D'
))
==
'SUN'
)
{
$weekly_data
=
WeeklyReportView
::
select
(
'*'
)
->
take
(
100
)
->
get
()
->
toArray
();
if
(
count
(
$weekly_data
)
>
0
)
{
$weekly_report
=
[];
foreach
(
$weekly_data
as
$key
=>
$weekly
)
{
$weekly_report
[
$key
][
'week'
]
=
date
(
'W'
);
$weekly_report
[
$key
][
'month'
]
=
date
(
'm'
);
$weekly_report
[
$key
][
'year'
]
=
date
(
'Y'
);
$weekly_report
[
$key
][
'track_id'
]
=
$weekly
[
'track_id'
];
$weekly_report
[
$key
][
'views_zing'
]
=
$weekly
[
'week_zing'
];
$weekly_report
[
$key
][
'views_nct'
]
=
$weekly
[
'week_nct'
];
$weekly_report
[
$key
][
'views_keeng'
]
=
$weekly
[
'week_keeng'
];
$weekly_report
[
$key
][
'point_zing'
]
=
$weekly
[
'point_zing'
];
$weekly_report
[
$key
][
'point_nct'
]
=
$weekly
[
'point_nct'
];
$weekly_report
[
$key
][
'point_keeng'
]
=
$weekly
[
'point_keeng'
];
$weekly_report
[
$key
][
'total_point'
]
=
$weekly
[
'total_point'
];
$weekly_report
[
$key
][
'order'
]
=
$key
+
1
;
$weekly_report
[
$key
][
'created_at'
]
=
Carbon
::
now
();
$weekly_report
[
$key
][
'updated_at'
]
=
Carbon
::
now
();
}
if
(
count
(
$weekly_report
)
>
0
)
{
DB
::
table
(
Constants
::
TABLE_REPORT_VIEWS_WEEKLY
)
->
insert
(
$weekly_report
);
}
// Check xem đã insert chưa
$check_again
=
WeeklyReport
::
where
(
'week'
,
date
(
'W'
))
->
where
(
'month'
,
date
(
'm'
))
->
where
(
'year'
,
date
(
'Y'
))
->
count
();
if
(
$check_again
>=
100
)
{
echo
"
\n
Đã lưu dữ liệu báo cáo và bắt đầu reset lượt nghe tuần."
;
// Reset số lượt nghe tháng về 0 trong bảng crawler_listens
DB
::
table
(
Constants
::
TABLE_CRAWLER_LISTENS
)
->
update
([
'week_zing'
=>
0
,
'week_nct'
=>
0
,
'week_nhacvn'
=>
0
,
'week_keeng'
=>
0
]);
echo
"
\n
Đã reset lượt nghe tuần."
;
if
(
strtoupper
(
date
(
'D'
))
==
'SUN'
&&
date
(
'H'
)
>=
4
)
{
// Ghi log xem có gọi không
Crontjob
::
create
([
'message'
=>
'CalculateReportCommand is called ('
.
$type
.
')'
]);
// Check xem đã insert vào report_views_weekly_new chưa
$check
=
WeeklyReport
::
where
(
'week'
,
date
(
'W'
))
->
where
(
'month'
,
date
(
'm'
))
->
where
(
'year'
,
date
(
'Y'
))
->
count
();
if
(
$check
>=
100
){
echo
"
\n
- BXH Tuần đã được tổng hợp trước đó."
;
}
else
{
$weekly_data
=
WeeklyReportView
::
select
(
'*'
)
->
take
(
100
)
->
get
()
->
toArray
();
if
(
count
(
$weekly_data
)
>
0
&&
$weekly_data
[
0
][
'total_point'
]
>
0
)
{
echo
"
\n
- Bắt đầu xử lý BXH Tuần..."
;
$weekly_report
=
[];
foreach
(
$weekly_data
as
$key
=>
$weekly
)
{
$weekly_report
[
$key
][
'week'
]
=
date
(
'W'
);
$weekly_report
[
$key
][
'month'
]
=
date
(
'm'
);
$weekly_report
[
$key
][
'year'
]
=
date
(
'Y'
);
$weekly_report
[
$key
][
'track_id'
]
=
$weekly
[
'track_id'
];
$weekly_report
[
$key
][
'views_zing'
]
=
$weekly
[
'week_zing'
];
$weekly_report
[
$key
][
'views_nct'
]
=
$weekly
[
'week_nct'
];
$weekly_report
[
$key
][
'views_keeng'
]
=
$weekly
[
'week_keeng'
];
$weekly_report
[
$key
][
'point_zing'
]
=
$weekly
[
'point_zing'
];
$weekly_report
[
$key
][
'point_nct'
]
=
$weekly
[
'point_nct'
];
$weekly_report
[
$key
][
'point_keeng'
]
=
$weekly
[
'point_keeng'
];
$weekly_report
[
$key
][
'total_point'
]
=
$weekly
[
'total_point'
];
$weekly_report
[
$key
][
'order'
]
=
$key
+
1
;
$weekly_report
[
$key
][
'created_at'
]
=
Carbon
::
now
();
$weekly_report
[
$key
][
'updated_at'
]
=
Carbon
::
now
();
}
if
(
count
(
$weekly_report
)
>
0
)
{
DB
::
table
(
Constants
::
TABLE_REPORT_VIEWS_WEEKLY_NEW
)
->
insert
(
$weekly_report
);
}
// Check xem đã insert chưa
$check_again
=
WeeklyReport
::
where
(
'week'
,
date
(
'W'
))
->
where
(
'month'
,
date
(
'm'
))
->
where
(
'year'
,
date
(
'Y'
))
->
count
();
if
(
$check_again
>=
100
)
{
echo
"
\n
- Đã lưu dữ liệu BXH Tuần và bắt đầu Reset lượt nghe tuần."
;
// Reset số lượt nghe tháng về 0 trong bảng crawler_listens
DB
::
table
(
Constants
::
TABLE_CRAWLER_LISTENS
)
->
update
([
'week_zing'
=>
0
,
'week_nct'
=>
0
,
'week_nhacvn'
=>
0
,
'week_keeng'
=>
0
]);
echo
"
\n
- Đã reset lượt nghe tuần."
;
}
}
else
{
echo
"
\n
- Dữ liệu lượt nghe Tuần đã bị Reset nên không tổng hợp được BXH."
;
}
}
}
else
{
echo
"
\n
Ngày thực hiện báo cáo tuần phải là Chủ nhật."
;
return
false
;
echo
"
\n
- Ngày thực hiện báo cáo tuần phải là Chủ nhật."
;
}
break
;
case
'monthly'
:
// Check xem đã insert vào reports_views_monthly chưa
$check
=
MonthlyReport
::
where
(
'month'
,
date
(
'm'
))
->
where
(
'year'
,
date
(
'Y'
))
->
count
();
if
(
$check
>=
100
){
echo
"
\n
Báo cáo đã được tổng hợp trước đó."
;
return
false
;
}
// Chỉ thực hiện nếu là ngày 21 hàng tháng, phải thực hiện trước 21h
if
(
date
(
'd'
)
==
21
)
{
// Ghi log xem có gọi không
Crontjob
::
create
([
'message'
=>
'CalculateReportCommand is called ('
.
$type
.
')'
]);
// Check xem đã insert vào reports_views_monthly chưa
$check
=
MonthlyReport
::
where
(
'month'
,
date
(
'm'
))
->
where
(
'year'
,
date
(
'Y'
))
->
count
();
if
(
$check
>=
100
){
echo
"
\n
- Báo cáo đã được tổng hợp trước đó."
;
return
false
;
}
$monthly_data
=
MonthlyReportView
::
select
(
'*'
)
->
take
(
100
)
->
get
()
->
toArray
();
if
(
count
(
$monthly_data
)
>
0
)
{
$monthly_report
=
[];
...
...
@@ -259,7 +266,7 @@ class CalculateReportCommand extends Command
->
where
(
'year'
,
date
(
'Y'
))
->
count
();
if
(
$check_again
>=
100
)
{
echo
"
\n
Đã lưu dữ liệu báo cáo và bắt đầu reset lượt nghe tháng."
;
echo
"
\n
-
Đã lưu dữ liệu báo cáo và bắt đầu reset lượt nghe tháng."
;
// Reset số lượt nghe tháng về 0 trong bảng crawler_listens
DB
::
table
(
Constants
::
TABLE_CRAWLER_LISTENS
)
->
update
([
'month_zing'
=>
0
,
...
...
@@ -267,11 +274,11 @@ class CalculateReportCommand extends Command
'month_nhacvn'
=>
0
,
'month_keeng'
=>
0
]);
echo
"
\n
Đã reset lượt nghe tháng."
;
echo
"
\n
-
Đã reset lượt nghe tháng."
;
}
}
}
else
{
echo
"
\n
Ngày thực hiện báo cáo tháng phải là ngày 21."
;
echo
"
\n
-
Ngày thực hiện báo cáo tháng phải là ngày 21."
;
return
false
;
}
break
;
...
...
app/Console/Kernel.php
View file @
fb424b28
...
...
@@ -84,12 +84,12 @@ class Kernel extends ConsoleKernel
$schedule
->
command
(
'crawler:get-listen zing'
)
->
dailyAt
(
'22:45'
);
$schedule
->
command
(
'crawler:get-listen zing --limit=-1'
)
->
dailyAt
(
'22:50'
);
$schedule
->
command
(
'calculate:daily-listen'
)
->
dailyAt
(
'
5
:00'
);
$schedule
->
command
(
'calculate:daily-listen'
)
->
dailyAt
(
'
5
:10'
);
$schedule
->
command
(
'calculate:daily-listen'
)
->
dailyAt
(
'
2
:00'
);
$schedule
->
command
(
'calculate:daily-listen'
)
->
dailyAt
(
'
2
:10'
);
$schedule
->
command
(
'calculate:report daily'
)
->
dailyAt
(
'
5:30
'
);
$schedule
->
command
(
'calculate:report weekly'
)
->
sundays
(
);
$schedule
->
command
(
'calculate:report monthly'
)
->
monthlyOn
(
21
,
'
6:10
'
);
$schedule
->
command
(
'calculate:report daily'
)
->
dailyAt
(
'
3:05
'
);
$schedule
->
command
(
'calculate:report weekly'
)
->
dailyAt
(
'4:05'
);
$schedule
->
command
(
'calculate:report monthly'
)
->
monthlyOn
(
21
,
'
5:05
'
);
$schedule
->
command
(
'queue:work --once --timeout=120'
)
->
everyMinute
()
->
withoutOverlapping
();
}
...
...
app/Helpers/Constants.php
View file @
fb424b28
...
...
@@ -24,7 +24,9 @@ class Constants
const
TABLE_PERMISSIONS
=
'permissions'
;
const
TABLE_REPORT_VIEWS_DAILY
=
'report_views_daily'
;
const
TABLE_REPORT_VIEWS_MONTHLY_NEW
=
'report_views_monthly_new'
;
const
TABLE_REPORT_VIEWS_WEEKLY
=
'report_views_weekly'
;
const
TABLE_REPORT_VIEWS_WEEKLY_NEW
=
'report_views_weekly_new'
;
const
TABLE_REPORTS_VIEWS_MONTHLY
=
'reports_views_monthly'
;
const
TABLE_ROLE_USER
=
'role_user'
;
...
...
app/Models/Report/MonthlyReport.php
View file @
fb424b28
...
...
@@ -7,7 +7,7 @@ use Illuminate\Database\Eloquent\Model;
class
MonthlyReport
extends
Model
{
protected
$table
=
Constants
::
TABLE_REPORT
S_VIEWS_MONTHLY
;
protected
$table
=
Constants
::
TABLE_REPORT
_VIEWS_MONTHLY_NEW
;
public
$timestamps
=
true
;
...
...
app/Models/Report/WeeklyReport.php
View file @
fb424b28
...
...
@@ -7,7 +7,7 @@ use Illuminate\Database\Eloquent\Model;
class
WeeklyReport
extends
Model
{
protected
$table
=
Constants
::
TABLE_REPORT_VIEWS_WEEKLY
;
protected
$table
=
Constants
::
TABLE_REPORT_VIEWS_WEEKLY
_NEW
;
public
$timestamps
=
true
;
...
...
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