Commit d6486fa6 by Phạm Văn Đoan

cập nhật blacklist listen lấy từ db

parent f513c13c
...@@ -66,8 +66,11 @@ class CrawlerTrackListenCommand extends Command ...@@ -66,8 +66,11 @@ class CrawlerTrackListenCommand extends Command
echo "\n Tổng số bài hát đã lấy lượt nghe hôm nay: " . count($crawlered); echo "\n Tổng số bài hát đã lấy lượt nghe hôm nay: " . count($crawlered);
// Lấy blacklist
$blacklist_listen = $this->trackRepository->getBacklistListen($from_page);
// Lấy mảng bài hát theo từng hệ thống nhạc // Lấy mảng bài hát theo từng hệ thống nhạc
$inserted = $this->trackRepository->getTrackBySource($from_page, $crawlered, $limit); $inserted = $this->trackRepository->getTrackBySource($from_page, $crawlered, $limit, false, $blacklist_listen);
$total = count($inserted); $total = count($inserted);
echo "\n Tổng số bài hát cần lấy lượt nghe: " . $total; echo "\n Tổng số bài hát cần lấy lượt nghe: " . $total;
......
...@@ -169,7 +169,7 @@ class UpdateTrackArtistCommand extends Command ...@@ -169,7 +169,7 @@ class UpdateTrackArtistCommand extends Command
} }
// Xử lý cập nhật nhạc sĩ ------------------------------------------------------------------------------ // Xử lý cập nhật nhạc sĩ ------------------------------------------------------------------------------
$tracks_nct = $this->trackRepository->getTrackBySource($src, null, 100, true); $tracks_nct = $this->trackRepository->getTrackBySource($src, null, 100, true, null);
$track_id_composer = $this->trackRepository->getComposerBySource($src, $tracks_nct); $track_id_composer = $this->trackRepository->getComposerBySource($src, $tracks_nct);
if (count($track_id_composer) > 0) { if (count($track_id_composer) > 0) {
$this->privateUpdateTrackSinger($src, $tracks_nct, [], $track_id_composer); $this->privateUpdateTrackSinger($src, $tracks_nct, [], $track_id_composer);
......
...@@ -6,6 +6,7 @@ class Constants ...@@ -6,6 +6,7 @@ class Constants
{ {
const TABLE_ARTISTS = 'artists'; const TABLE_ARTISTS = 'artists';
const TABLE_COUNT_VIEWS = 'count_views'; const TABLE_COUNT_VIEWS = 'count_views';
const TABLE_CRAWLER_LISTEN_BLACKLISTS = 'crawler_listen_blacklists';
const TABLE_CRAWLER_LISTEN_HISTORIES = 'crawler_listen_histories'; const TABLE_CRAWLER_LISTEN_HISTORIES = 'crawler_listen_histories';
const TABLE_CRAWLER_LISTEN_NCTS = 'crawler_listen_ncts'; const TABLE_CRAWLER_LISTEN_NCTS = 'crawler_listen_ncts';
const TABLE_CRAWLER_LISTENS = 'crawler_listens'; const TABLE_CRAWLER_LISTENS = 'crawler_listens';
......
<?php
namespace App\Models;
use App\Helpers\Constants;
use Illuminate\Database\Eloquent\Model;
class CrawlerListenBlacklist extends Model
{
protected $table = Constants::TABLE_CRAWLER_LISTEN_BLACKLISTS;
public $timestamps = true;
protected $fillable = [
'track_id', 'src', 'title'
];
}
...@@ -4,6 +4,7 @@ namespace App\Repositories; ...@@ -4,6 +4,7 @@ namespace App\Repositories;
use App\Helpers\Constants; use App\Helpers\Constants;
use App\Models\CrawlerListen; use App\Models\CrawlerListen;
use App\Models\CrawlerListenBlacklist;
use App\Models\Track; use App\Models\Track;
use Sunra\PhpSimple\HtmlDomParser; use Sunra\PhpSimple\HtmlDomParser;
use Yangqi\Htmldom\Htmldom; use Yangqi\Htmldom\Htmldom;
...@@ -292,8 +293,8 @@ class TrackRepository extends BaseRepository ...@@ -292,8 +293,8 @@ class TrackRepository extends BaseRepository
* Lấy ds bài hát chưa lấy lượt nghe trong ngày theo từng hệ thống nhạc * Lấy ds bài hát chưa lấy lượt nghe trong ngày theo từng hệ thống nhạc
* Bài nào đã lấy rồi thì sẽ ko lấy nữa * Bài nào đã lấy rồi thì sẽ ko lấy nữa
* Mỗi lần quét 500 bài cho đến hết * Mỗi lần quét 500 bài cho đến hết
* Các bài chỉ lấy ở Zing: 1198,1700,1954,3223,3334,3357,3529,3688 * Các bài không lấy ở Zing: 1139,3835,3664
* Các bài chỉ lấy ở NCT: 1139,3835 * Các bài không lấy ở NCT: 1198,1700,1954,3223,3334,3357,3529,3688,3918,3664,3910
* *
* @param string $src * @param string $src
* @param $crawlered * @param $crawlered
...@@ -301,7 +302,7 @@ class TrackRepository extends BaseRepository ...@@ -301,7 +302,7 @@ class TrackRepository extends BaseRepository
* *
* @return array * @return array
*/ */
public function getTrackBySource($src='zing', $crawlered, $limit = Constants::CRAWLER_LISTEN_LIMIT, $is_update_composer=false) public function getTrackBySource($src='zing', $crawlered, $limit = Constants::CRAWLER_LISTEN_LIMIT, $is_update_composer=false, $blacklist_listen=null)
{ {
$query = Track::select(['id', 'id_zing', 'id_nct', 'id_nhacvn', 'id_keeng', 'title', 'link_nct']); $query = Track::select(['id', 'id_zing', 'id_nct', 'id_nhacvn', 'id_keeng', 'title', 'link_nct']);
...@@ -309,19 +310,29 @@ class TrackRepository extends BaseRepository ...@@ -309,19 +310,29 @@ class TrackRepository extends BaseRepository
$query->whereNotIn('id', $crawlered); $query->whereNotIn('id', $crawlered);
} }
if (is_array($blacklist_listen) && count($blacklist_listen) > 0) {
$query->whereNotIn('id', $blacklist_listen);
}
switch ($src) { switch ($src) {
case 'zing': case 'zing':
$query->whereNotNull('id_zing') $query->whereNotNull('id_zing')
->where('id_zing', '<>', '') ->where('id_zing', '<>', '');
->whereNotIn('id', [1139,3835,3664]); if (empty($blacklist_listen)) {
// Set mặc định
$query->whereNotIn('id', [1139,3835,3664]);
}
break; break;
case 'nct': case 'nct':
$query->whereNotNull('id_nct') $query->whereNotNull('id_nct')
->where('id_nct', '<>', '') ->where('id_nct', '<>', '');
->whereNotIn('id', [1198,1700,1954,3223,3334,3357,3529,3688,3918,3664,3910]);
if ($is_update_composer) { if ($is_update_composer) {
$query->whereNull('composer_list'); $query->whereNull('composer_list');
} }
if (empty($blacklist_listen)) {
// Set mặc định
$query->whereNotIn('id', [1198,1700,1954,3223,3334,3357,3529,3688,3918,3664,3910]);
}
break; break;
case 'nhacvn': $query->whereNotNull('id_nhacvn')->where('id_nhacvn', '<>', ''); break; case 'nhacvn': $query->whereNotNull('id_nhacvn')->where('id_nhacvn', '<>', ''); break;
case 'keeng': $query->whereNotNull('id_keeng')->where('id_keeng', '<>', ''); break; case 'keeng': $query->whereNotNull('id_keeng')->where('id_keeng', '<>', ''); break;
...@@ -443,5 +454,18 @@ class TrackRepository extends BaseRepository ...@@ -443,5 +454,18 @@ class TrackRepository extends BaseRepository
return $tracks; return $tracks;
} }
/**
* Lấy ds blacklist để bỏ lấy lượt nghe
*
* @param $src
*
* @return array
*/
public function getBacklistListen($src)
{
$query = CrawlerListenBlacklist::where('src', strtolower($src))->pluck('track_id');
return $query->toArray();
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment