Files
nexusphp/app/Console/Commands/Test.php
T

85 lines
2.1 KiB
PHP
Raw Normal View History

2021-04-21 00:07:32 +08:00
<?php
namespace App\Console\Commands;
2021-06-10 21:07:20 +08:00
use App\Models\Attendance;
2021-04-25 21:28:58 +08:00
use App\Models\Exam;
use App\Models\ExamProgress;
use App\Models\ExamUser;
2021-05-28 02:25:08 +08:00
use App\Models\SearchBox;
2021-04-25 02:12:14 +08:00
use App\Models\User;
use App\Repositories\ExamRepository;
2021-05-20 23:30:34 +08:00
use App\Repositories\SearchBoxRepository;
2021-06-01 23:33:28 +08:00
use App\Repositories\TorrentRepository;
2021-05-06 01:49:05 +08:00
use Carbon\Carbon;
2021-06-07 03:38:50 +08:00
use GeoIp2\Database\Reader;
2021-04-21 00:07:32 +08:00
use Illuminate\Console\Command;
2021-06-01 20:55:47 +08:00
use Illuminate\Encryption\Encrypter;
2021-04-25 21:28:58 +08:00
use Illuminate\Support\Facades\DB;
2021-04-21 00:07:32 +08:00
use Illuminate\Support\Facades\Hash;
2021-05-10 20:05:52 +08:00
use Illuminate\Support\Facades\Storage;
2021-06-08 20:43:47 +08:00
use Rhilip\Bencode\Bencode;
2021-04-21 00:07:32 +08:00
class Test extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'test:test';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Just for test';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* Execute the console command.
*
* @return int
*/
public function handle()
{
2021-06-13 22:21:42 +08:00
$page = 1;
$size = 1000;
while (true) {
$logPrefix = "[MIGRATE_ATTENDANCE], page: $page, size: $size";
$result = Attendance::query()
->groupBy(['uid'])
->selectRaw('uid, max(id) as id, count(*) as counts')
->forPage($page, $size)
->get();
do_log("$logPrefix, " . last_query() . ", count: " . $result->count());
if ($result->isEmpty()) {
do_log("$logPrefix, no more data...");
break;
}
foreach ($result as $row) {
$update = [
'total_days' => $row->counts,
];
$updateResult = $row->update($update);
do_log(sprintf(
"$logPrefix, update user: %s(ID: %s) => %s, result: %s",
$row->uid, $row->id, json_encode($update), var_export($updateResult, true)
));
}
$page++;
}
2021-04-21 00:07:32 +08:00
}
2021-04-28 19:44:48 +08:00
2021-04-21 00:07:32 +08:00
}