Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
V
vmusicchart-cms
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
vmusicchart-cms
Commits
01058cae
Commit
01058cae
authored
Sep 03, 2020
by
Phạm Văn Đoan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
cập nhật xử lý xóa data khi ko lấy lượt nghe nữa
parent
133eaa95
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
176 additions
and
3 deletions
+176
-3
CmsTrack.php
application/controllers/backend/CmsTrack.php
+20
-1
Crawler_listen_blacklist_model.php
application/models/Crawler_listen_blacklist_model.php
+1
-1
Crawler_listen_history_model.php
application/models/Crawler_listen_history_model.php
+60
-0
Crawler_listen_model.php
application/models/Crawler_listen_model.php
+93
-0
show_track_view.php
application/views/backend/cms_track/show_track_view.php
+2
-1
No files found.
application/controllers/backend/CmsTrack.php
View file @
01058cae
...
@@ -18,6 +18,8 @@ class CmsTrack extends CI_Controller
...
@@ -18,6 +18,8 @@ class CmsTrack extends CI_Controller
$this
->
load
->
model
(
'user_model'
);
$this
->
load
->
model
(
'user_model'
);
$this
->
load
->
model
(
'actionlog_model'
);
$this
->
load
->
model
(
'actionlog_model'
);
$this
->
load
->
model
(
'crawler_listen_blacklist_model'
);
$this
->
load
->
model
(
'crawler_listen_blacklist_model'
);
$this
->
load
->
model
(
'crawler_listen_model'
);
$this
->
load
->
model
(
'crawler_listen_history_model'
);
}
}
/**
/**
...
@@ -556,18 +558,35 @@ class CmsTrack extends CI_Controller
...
@@ -556,18 +558,35 @@ class CmsTrack extends CI_Controller
*/
*/
public
function
updateBlacklistByAjax
()
public
function
updateBlacklistByAjax
()
{
{
ini_set
(
'max_execution_time'
,
180
);
//
$track_id
=
$this
->
input
->
post
(
'track_id'
);
$track_id
=
$this
->
input
->
post
(
'track_id'
);
$title
=
$this
->
input
->
post
(
'title'
);
$title
=
$this
->
input
->
post
(
'title'
);
$src
=
$this
->
input
->
post
(
'src'
);
$src
=
$this
->
input
->
post
(
'src'
);
$selected
=
$this
->
input
->
post
(
'selected'
);
$selected
=
$this
->
input
->
post
(
'selected'
);
//
//
$result
=
$this
->
crawler_listen_blacklist_model
->
checkAndUpdate
(
$track_id
,
$title
,
$src
,
$selected
);
$result
=
$this
->
crawler_listen_blacklist_model
->
checkAndUpdate
(
$track_id
,
$title
,
$src
,
$selected
);
/**
* Kiểm tra nếu lưu blacklist thành công và user chọn tích bỏ lấy lượt nghe thì xóa data lịch sử
* Data lịch sử bao gồm ở 2 bảng: crawler_listens và crawler_listen_histories
*/
if
(
$result
&&
$selected
==
1
)
{
// Reset data ở bảng crawler_listens
$reset
=
$this
->
crawler_listen_model
->
resetCrawlerListenBySrc
(
$track_id
,
$src
);
// Reset data ở bảng crawler_listen_histories
if
(
$reset
)
{
$this
->
crawler_listen_history_model
->
resetCrawlerListenHistoryBySrc
(
$track_id
,
$src
);
}
}
//
//
if
(
$result
)
{
if
(
$result
)
{
echo
json_encode
([
echo
json_encode
([
'code'
=>
200
,
'code'
=>
200
,
'message'
=>
'Cập nhật thành công'
,
'message'
=>
'Cập nhật thành công'
,
'data'
=>
null
'data'
=>
(
isset
(
$reset
)
&&
$reset
)
?
'Reset lượt nghe thành công'
:
'Reset lượt nghe không thành công'
]);
]);
}
else
{
}
else
{
echo
json_encode
([
echo
json_encode
([
...
...
application/models/Crawler_listen_blacklist_model.php
View file @
01058cae
...
@@ -55,7 +55,7 @@ class Crawler_listen_blacklist_model extends CI_Model
...
@@ -55,7 +55,7 @@ class Crawler_listen_blacklist_model extends CI_Model
$this
->
db
->
where
(
$this
->
_table
.
'.src'
,
$src
);
$this
->
db
->
where
(
$this
->
_table
.
'.src'
,
$src
);
$query
=
$this
->
db
->
get
();
$query
=
$this
->
db
->
get
();
$result
=
$query
->
result_array
();
$result
=
$query
->
result_array
();
//
//
Nếu đã tồn tại mà bỏ tích chọn thì xóa, ngược lại thì tạo mới
if
(
isset
(
$result
[
0
]))
{
if
(
isset
(
$result
[
0
]))
{
if
(
$selected
==
0
)
{
if
(
$selected
==
0
)
{
$this
->
db
->
where
(
'id'
,
$result
[
0
][
'id'
]);
$this
->
db
->
where
(
'id'
,
$result
[
0
][
'id'
]);
...
...
application/models/Crawler_listen_history_model.php
View file @
01058cae
...
@@ -44,6 +44,66 @@ class Crawler_listen_history_model extends CI_Model
...
@@ -44,6 +44,66 @@ class Crawler_listen_history_model extends CI_Model
return
$query
->
result_array
();
return
$query
->
result_array
();
}
}
/**
* Hàm thực hiện reset lượt nghe lịch sử ở nguồn và track id tương ứng
* khi user tích chọn không lấy lượt nghe ở nguồn src nào đó
* Lưu ý: ko reset được tổng lượt nghe, nên dùng trigger để xử lý
*
* @param $track_id
* @param $src
* @return bool
*/
public
function
resetCrawlerListenHistoryBySrc
(
$track_id
,
$src
)
{
try
{
$this
->
db
->
select
(
$this
->
_table
.
'.*'
);
$this
->
db
->
from
(
$this
->
_table
);
$this
->
db
->
where
(
$this
->
_table
.
'.track_id'
,
$track_id
);
$query
=
$this
->
db
->
get
();
$history
=
$query
->
result_array
();
//
if
(
isset
(
$history
[
0
]))
{
switch
(
$src
)
{
case
'zing'
:
$data_reset
=
[
'alltime_zing'
=>
0
,
'zing_count'
=>
0
,
'updated_at'
=>
date
(
'Y-m-d H:i:s'
)
];
break
;
case
'nct'
:
$data_reset
=
[
'alltime_nct'
=>
0
,
'nct_count'
=>
0
,
'updated_at'
=>
date
(
'Y-m-d H:i:s'
)
];
break
;
case
'keeng'
:
$data_reset
=
[
'alltime_keeng'
=>
0
,
'keeng_count'
=>
0
,
'updated_at'
=>
date
(
'Y-m-d H:i:s'
)
];
break
;
default
:
$data_reset
=
[];
}
if
(
count
(
$data_reset
)
>
0
)
{
$this
->
db
->
where
(
'track_id'
,
$track_id
);
$this
->
db
->
update
(
$this
->
_table
,
$data_reset
);
//
return
true
;
}
else
{
return
false
;
}
}
else
{
return
false
;
}
}
catch
(
Exception
$e
)
{
return
false
;
}
}
}
}
/* End of file welcome.php */
/* End of file welcome.php */
...
...
application/models/Crawler_listen_model.php
0 → 100644
View file @
01058cae
<?php
if
(
!
defined
(
'BASEPATH'
))
exit
(
'No direct script access allowed'
);
class
Crawler_listen_model
extends
CI_Model
{
protected
$_table
=
'crawler_listens'
;
public
function
__construct
()
{
parent
::
__construct
();
date_default_timezone_set
(
"Asia/Ho_Chi_Minh"
);
}
/**
* Hàm thực hiện reset lượt nghe ở nguồn tương ứng
* khi user tích chọn không lấy lượt nghe ở nguồn src nào đó
*
* @param $track_id
* @param $src
* @return bool
*/
public
function
resetCrawlerListenBySrc
(
$track_id
,
$src
)
{
try
{
$this
->
db
->
select
(
$this
->
_table
.
'.*'
);
$this
->
db
->
from
(
$this
->
_table
);
$this
->
db
->
where
(
$this
->
_table
.
'.track_id'
,
$track_id
);
$query
=
$this
->
db
->
get
();
$track
=
$query
->
result_array
();
//
if
(
isset
(
$track
[
0
]))
{
switch
(
$src
)
{
case
'zing'
:
$data_reset
=
[
'yesterday_zing'
=>
0
,
'today_zing'
=>
0
,
'date_zing'
=>
0
,
'week_zing'
=>
0
,
'month_zing'
=>
0
,
'year_zing'
=>
0
,
'alltime_zing'
=>
0
,
'zing_crawler_at'
=>
null
];
break
;
case
'nct'
:
$data_reset
=
[
'yesterday_nct'
=>
0
,
'today_nct'
=>
0
,
'date_nct'
=>
0
,
'week_nct'
=>
0
,
'month_nct'
=>
0
,
'year_nct'
=>
0
,
'alltime_nct'
=>
0
,
'nct_crawler_at'
=>
null
];
break
;
case
'keeng'
:
$data_reset
=
[
'yesterday_keeng'
=>
0
,
'today_keeng'
=>
0
,
'date_keeng'
=>
0
,
'week_keeng'
=>
0
,
'month_keeng'
=>
0
,
'year_keeng'
=>
0
,
'alltime_keeng'
=>
0
,
'keeng_crawler_at'
=>
null
];
break
;
default
:
$data_reset
=
[];
}
if
(
count
(
$data_reset
)
>
0
)
{
$this
->
db
->
where
(
'id'
,
$track
[
0
][
'id'
]);
$this
->
db
->
update
(
$this
->
_table
,
$data_reset
);
//
return
true
;
}
else
{
return
false
;
}
}
else
{
return
false
;
}
}
catch
(
Exception
$e
)
{
return
false
;
}
}
}
/* End of file welcome.php */
/* Location: ./application/controllers/welcome.php */
\ No newline at end of file
application/views/backend/cms_track/show_track_view.php
View file @
01058cae
...
@@ -90,9 +90,10 @@
...
@@ -90,9 +90,10 @@
onclick=
"updateBlacklistByAjax(
<?php
echo
$track
[
0
][
'id'
]
?>
, '
<?php
echo
str_replace
([
"'"
,
'"'
],
[
","
],
$track
[
0
][
'title'
]);
?>
', 'keeng')"
onclick=
"updateBlacklistByAjax(
<?php
echo
$track
[
0
][
'id'
]
?>
, '
<?php
echo
str_replace
([
"'"
,
'"'
],
[
","
],
$track
[
0
][
'title'
]);
?>
', 'keeng')"
<?php
echo
(
in_array
(
'keeng'
,
$blacklist
)
?
'checked'
:
''
)
?>
>
Keeng
<?php
echo
(
in_array
(
'keeng'
,
$blacklist
)
?
'checked'
:
''
)
?>
>
Keeng
</label>
</label>
<br><br>
<p>
Lưu ý: Khi Bạn tích chọn
<span
class=
"color-red"
>
KHÔNG LẤY LƯỢT NGHE
</span>
thì hệ thống sẽ
<span
class=
"color-red"
>
XÓA
</span>
toàn bộ dữ liệu đã lấy của Bài hát này trên nguồn đã chọn.
</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<br>
<br>
...
...
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