update exam progress seed bonus

This commit is contained in:
xiaomlove
2021-05-05 22:28:19 +08:00
parent 9be4043031
commit ca07078415
8 changed files with 34 additions and 26 deletions
+2 -2
View File
@@ -32,13 +32,13 @@ class Exam extends NexusModel
const INDEX_UPLOADED = 1; const INDEX_UPLOADED = 1;
const INDEX_SEED_TIME_AVERAGE = 2; const INDEX_SEED_TIME_AVERAGE = 2;
const INDEX_DOWNLOADED = 3; const INDEX_DOWNLOADED = 3;
const INDEX_BONUS = 4; const INDEX_SEED_BONUS = 4;
public static $indexes = [ public static $indexes = [
self::INDEX_UPLOADED => ['name' => 'Uploaded', 'unit' => 'GB'], self::INDEX_UPLOADED => ['name' => 'Uploaded', 'unit' => 'GB'],
self::INDEX_SEED_TIME_AVERAGE => ['name' => 'Seed time average', 'unit' => 'Hour'], self::INDEX_SEED_TIME_AVERAGE => ['name' => 'Seed time average', 'unit' => 'Hour'],
self::INDEX_DOWNLOADED => ['name' => 'Downloaded', 'unit' => 'GB'], self::INDEX_DOWNLOADED => ['name' => 'Downloaded', 'unit' => 'GB'],
self::INDEX_BONUS => ['name' => 'Bonus', 'unit' => ''], self::INDEX_SEED_BONUS => ['name' => 'Seed bonus', 'unit' => ''],
]; ];
const FILTER_USER_CLASS = 'classes'; const FILTER_USER_CLASS = 'classes';
+6 -3
View File
@@ -262,9 +262,12 @@ class ExamRepository extends BaseRepository
$indexes = collect($exam->indexes)->keyBy('index'); $indexes = collect($exam->indexes)->keyBy('index');
do_log("examUser: " . $examUser->toJson() . ", indexes: " . $indexes->toJson()); do_log("examUser: " . $examUser->toJson() . ", indexes: " . $indexes->toJson());
$torrentFields = ['id', 'visible', 'banned']; if (!isset($indexAndValue[Exam::INDEX_SEED_BONUS])) {
$torrent = Torrent::query()->findOrFail($torrentId, $torrentFields); //seed bonus is relative to user all torrents, not single one, torrentId = 0
$torrent->checkIsNormal($torrentFields); $torrentFields = ['id', 'visible', 'banned'];
$torrent = Torrent::query()->findOrFail($torrentId, $torrentFields);
$torrent->checkIsNormal($torrentFields);
}
$insert = []; $insert = [];
foreach ($indexAndValue as $indexId => $value) { foreach ($indexAndValue as $indexId => $value) {
+14 -14
View File
@@ -29,12 +29,12 @@ class ToolRepository extends BaseRepository
'tar --exclude=vendor --exclude=.git -czf %s -C %s %s', 'tar --exclude=vendor --exclude=.git -czf %s -C %s %s',
$filename, dirname($webRoot), $dirName $filename, dirname($webRoot), $dirName
); );
$result = exec($command, $output, $resultCode); $result = exec($command, $output, $result_code);
do_log(sprintf( do_log(sprintf(
"command: %s, output: %s, resultCode: %s, result: %s, filename: %s", "command: %s, output: %s, result_code: %s, result: %s, filename: %s",
$command, json_encode($output), $resultCode, $result, $filename $command, json_encode($output), $result_code, $result, $filename
)); ));
return compact('result', 'filename'); return compact('result_code', 'filename');
} }
public function backupDatabase() public function backupDatabase()
@@ -46,22 +46,22 @@ class ToolRepository extends BaseRepository
'mysqldump --user=%s --password=%s --port=%s --single-transaction --databases %s >> %s', 'mysqldump --user=%s --password=%s --port=%s --single-transaction --databases %s >> %s',
$config['username'], $config['password'], $config['port'], $config['database'], $filename, $config['username'], $config['password'], $config['port'], $config['database'], $filename,
); );
$result = exec($command, $output, $resultCode); $result = exec($command, $output, $result_code);
do_log(sprintf( do_log(sprintf(
"command: %s, output: %s, resultCode: %s, result: %s, filename: %s", "command: %s, output: %s, result_code: %s, result: %s, filename: %s",
$command, json_encode($output), $resultCode, $result, $filename $command, json_encode($output), $result_code, $result, $filename
)); ));
return compact('result', 'filename'); return compact('result_code', 'filename');
} }
public function backupAll() public function backupAll()
{ {
$backupWeb = $this->backupWebRoot(); $backupWeb = $this->backupWebRoot();
if ($backupWeb['result'] != 0) { if ($backupWeb['result_code'] != 0) {
throw new \RuntimeException("backup web fail: " . json_encode($backupWeb)); throw new \RuntimeException("backup web fail: " . json_encode($backupWeb));
} }
$backupDatabase = $this->backupDatabase(); $backupDatabase = $this->backupDatabase();
if ($backupDatabase['result'] != 0) { if ($backupDatabase['result_code'] != 0) {
throw new \RuntimeException("backup database fail: " . json_encode($backupDatabase)); throw new \RuntimeException("backup database fail: " . json_encode($backupDatabase));
} }
$filename = sprintf('%s/%s.%s.tar.gz', sys_get_temp_dir(), basename(base_path()), date('Ymd.His')); $filename = sprintf('%s/%s.%s.tar.gz', sys_get_temp_dir(), basename(base_path()), date('Ymd.His'));
@@ -71,12 +71,12 @@ class ToolRepository extends BaseRepository
dirname($backupWeb['filename']), basename($backupWeb['filename']), dirname($backupWeb['filename']), basename($backupWeb['filename']),
dirname($backupDatabase['filename']), basename($backupDatabase['filename']) dirname($backupDatabase['filename']), basename($backupDatabase['filename'])
); );
$result = exec($command, $output, $resultCode); $result = exec($command, $output, $result_code);
do_log(sprintf( do_log(sprintf(
"command: %s, output: %s, resultCode: %s, result: %s, filename: %s", "command: %s, output: %s, result_code: %s, result: %s, filename: %s",
$command, json_encode($output), $resultCode, $result, $filename $command, json_encode($output), $result_code, $result, $filename
)); ));
return compact('result', 'filename'); return compact('result_code', 'filename');
} }
} }
+3
View File
@@ -194,6 +194,7 @@ function docleanup($forceAll = 0, $printProgress = false) {
$valuethree = $logofpointone / ($nzero_bonus - 1); $valuethree = $logofpointone / ($nzero_bonus - 1);
$timenow = TIMENOW; $timenow = TIMENOW;
$sectoweek = 7*24*60*60; $sectoweek = 7*24*60*60;
$examRep = new \App\Repositories\ExamRepository();
while ($arr = mysql_fetch_assoc($res)) //loop for different users while ($arr = mysql_fetch_assoc($res)) //loop for different users
{ {
$A = 0; $A = 0;
@@ -215,6 +216,8 @@ function docleanup($forceAll = 0, $printProgress = false) {
if ($is_donor == 'yes' && $donortimes_bonus > 0) if ($is_donor == 'yes' && $donortimes_bonus > 0)
$all_bonus = $all_bonus * $donortimes_bonus; $all_bonus = $all_bonus * $donortimes_bonus;
KPS("+",$all_bonus,$arr["userid"]); KPS("+",$all_bonus,$arr["userid"]);
//update exam progress
$examRep->addProgress($arr["userid"], 0, [\App\Models\Exam::INDEX_SEED_BONUS => $all_bonus]);
} }
} }
$log = 'calculate seeding bonus'; $log = 'calculate seeding bonus';
+2
View File
@@ -39,6 +39,8 @@ if ($showaudiocodec) $audiocodecs = searchbox_item_list("audiocodecs");
} }
stdhead($lang_getrss['head_rss_feeds']); stdhead($lang_getrss['head_rss_feeds']);
$query = [];
$query[] = "passkey=" . $CURUSER['passkey'];
if ($_SERVER['REQUEST_METHOD'] == "POST") { if ($_SERVER['REQUEST_METHOD'] == "POST") {
$allowed_showrows=array('10','20','30','40','50'); $allowed_showrows=array('10','20','30','40','50');
$link = get_protocol_prefix(). $BASEURL ."/torrentrss.php"; $link = get_protocol_prefix(). $BASEURL ."/torrentrss.php";
+1 -1
View File
@@ -7,7 +7,7 @@ return [
'index_text_' . \App\Models\Exam::INDEX_UPLOADED => 'Uploaded', 'index_text_' . \App\Models\Exam::INDEX_UPLOADED => 'Uploaded',
'index_text_' . \App\Models\Exam::INDEX_SEED_TIME_AVERAGE => 'Seed time average', 'index_text_' . \App\Models\Exam::INDEX_SEED_TIME_AVERAGE => 'Seed time average',
'index_text_' . \App\Models\Exam::INDEX_DOWNLOADED => 'Downloaded', 'index_text_' . \App\Models\Exam::INDEX_DOWNLOADED => 'Downloaded',
'index_text_' . \App\Models\Exam::INDEX_BONUS => 'Bonus', 'index_text_' . \App\Models\Exam::INDEX_SEED_BONUS => 'Seed bonus',
'require_value' => 'Require', 'require_value' => 'Require',
'current_value' => 'Current', 'current_value' => 'Current',
'result' => 'Result', 'result' => 'Result',
+1 -1
View File
@@ -7,7 +7,7 @@ return [
'index_text_' . \App\Models\Exam::INDEX_UPLOADED => '上传量', 'index_text_' . \App\Models\Exam::INDEX_UPLOADED => '上传量',
'index_text_' . \App\Models\Exam::INDEX_SEED_TIME_AVERAGE => '平均做种时间', 'index_text_' . \App\Models\Exam::INDEX_SEED_TIME_AVERAGE => '平均做种时间',
'index_text_' . \App\Models\Exam::INDEX_DOWNLOADED => '下载量', 'index_text_' . \App\Models\Exam::INDEX_DOWNLOADED => '下载量',
'index_text_' . \App\Models\Exam::INDEX_BONUS => '魔力', 'index_text_' . \App\Models\Exam::INDEX_SEED_BONUS => '做种魔力',
'require_value' => '要求', 'require_value' => '要求',
'current_value' => '当前', 'current_value' => '当前',
'result' => '结果', 'result' => '结果',
+1 -1
View File
@@ -7,7 +7,7 @@ return [
'index_text_' . \App\Models\Exam::INDEX_UPLOADED => '上傳量', 'index_text_' . \App\Models\Exam::INDEX_UPLOADED => '上傳量',
'index_text_' . \App\Models\Exam::INDEX_SEED_TIME_AVERAGE => '平均做種時間', 'index_text_' . \App\Models\Exam::INDEX_SEED_TIME_AVERAGE => '平均做種時間',
'index_text_' . \App\Models\Exam::INDEX_DOWNLOADED => '下載量', 'index_text_' . \App\Models\Exam::INDEX_DOWNLOADED => '下載量',
'index_text_' . \App\Models\Exam::INDEX_BONUS => '魔力', 'index_text_' . \App\Models\Exam::INDEX_SEED_BONUS => '做種魔力',
'require_value' => '要求', 'require_value' => '要求',
'current_value' => '當前', 'current_value' => '當前',
'result' => '結果', 'result' => '結果',