mirror of
https://github.com/lkddi/nexusphp.git
synced 2026-04-22 10:57:27 +08:00
meilisearch search descr field configurable
This commit is contained in:
@@ -439,4 +439,55 @@ class ToolRepository extends BaseRepository
|
||||
return $this->generateUniqueInviteHash($hashArr, $total, $total - count($hashArr), ++$deep);
|
||||
|
||||
}
|
||||
|
||||
public function removeDuplicateSnatch()
|
||||
{
|
||||
$size = 2000;
|
||||
$stickyPromotionParticipatorsTable = 'sticky_promotion_participators';
|
||||
$stickyPromotionExists = NexusDB::hasTable($stickyPromotionParticipatorsTable);
|
||||
while (true) {
|
||||
$snatchRes = NexusDB::select("select userid, torrentid, group_concat(id) as ids from snatched group by userid, torrentid having(count(*)) > 1 limit $size");
|
||||
if (empty($snatchRes)) {
|
||||
break;
|
||||
}
|
||||
do_log("[DELETE_DUPLICATED_SNATCH], count: " . count($snatchRes));
|
||||
foreach ($snatchRes as $snatchRow) {
|
||||
$torrentId = $snatchRow['torrentid'];
|
||||
$userId = $snatchRow['userid'];
|
||||
$idArr = explode(',', $snatchRow['ids']);
|
||||
sort($idArr, SORT_NUMERIC);
|
||||
$remainId = array_pop($idArr);
|
||||
$delIdStr = implode(',', $idArr);
|
||||
do_log("[DELETE_DUPLICATED_SNATCH], torrent: $torrentId, user: $userId, snatchIdStr: $delIdStr");
|
||||
NexusDB::statement("delete from snatched where id in ($delIdStr)");
|
||||
NexusDB::statement("update claims set snatched_id = $remainId where torrent_id = $torrentId and uid = $userId");
|
||||
NexusDB::statement("update hit_and_runs set snatched_id = $remainId where torrent_id = $torrentId and uid = $userId");
|
||||
if ($stickyPromotionExists) {
|
||||
NexusDB::statement("update $stickyPromotionParticipatorsTable set snatched_id = $remainId where torrent_id = $torrentId and uid = $userId");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function removeDuplicatePeer()
|
||||
{
|
||||
$size = 2000;
|
||||
while (true) {
|
||||
$results = NexusDB::select("select torrent, peer_id, userid, group_concat(id) as ids from peers group by torrent, peer_id, userid having(count(*)) > 1 limit $size");
|
||||
if (empty($results)) {
|
||||
break;
|
||||
}
|
||||
do_log("[DELETE_DUPLICATED_PEERS], count: " . count($results));
|
||||
foreach ($results as $row) {
|
||||
$torrentId = $row['torrent'];
|
||||
$userId = $row['userid'];
|
||||
$idArr = explode(',', $row['ids']);
|
||||
sort($idArr, SORT_NUMERIC);
|
||||
$remainId = array_pop($idArr);
|
||||
$delIdStr = implode(',', $idArr);
|
||||
do_log("[DELETE_DUPLICATED_PEERS], torrent: $torrentId, user: $userId, snatchIdStr: $delIdStr");
|
||||
NexusDB::statement("delete from peers where id in ($delIdStr)");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user