|
|
|
<?php
|
|
|
|
|
|
|
|
namespace App\Console\Commands;
|
|
|
|
|
|
|
|
use App\Helper\Arr;
|
|
|
|
use App\Models\Product\Category;
|
|
|
|
use App\Models\Product\Product;
|
|
|
|
use App\Models\Project\OnlineCheck;
|
|
|
|
use App\Models\Project\Project;
|
|
|
|
use App\Models\RankData\RankData as GoogleRankModel;
|
|
|
|
use App\Models\RouteMap\RouteMap;
|
|
|
|
use GuzzleHttp\Client;
|
|
|
|
use GuzzleHttp\Promise\Utils;
|
|
|
|
use Illuminate\Console\Command;
|
|
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
use Illuminate\Support\Str;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 剩余服务时长
|
|
|
|
* Class Traffic
|
|
|
|
* @package App\Console\Commands
|
|
|
|
* @author zbj
|
|
|
|
* @date 2023/5/18
|
|
|
|
*/
|
|
|
|
class RemainDay extends Command
|
|
|
|
{
|
|
|
|
/**
|
|
|
|
* The name and signature of the console command.
|
|
|
|
*
|
|
|
|
* @var string
|
|
|
|
*/
|
|
|
|
protected $signature = 'remain_day';
|
|
|
|
|
|
|
|
/**
|
|
|
|
* The console command description.
|
|
|
|
*
|
|
|
|
* @var string
|
|
|
|
*/
|
|
|
|
protected $description = '网站服务剩余时长';
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Create a new command instance.
|
|
|
|
*
|
|
|
|
* @return void
|
|
|
|
*/
|
|
|
|
public function __construct()
|
|
|
|
{
|
|
|
|
parent::__construct();
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @return bool
|
|
|
|
*/
|
|
|
|
public function handle()
|
|
|
|
{
|
|
|
|
$list = Project::whereIn('type', ['2,3,4'])->get();
|
|
|
|
foreach ($list as $item){
|
|
|
|
if($item['type'] == 3){
|
|
|
|
//排名达标天数
|
|
|
|
$compliance_day = GoogleRankModel::where(['project_id' => $item['id'], 'lang' => ''])->value('compliance_day') ?: 0;
|
|
|
|
$remain_day = $item['deploy_build']['service_duration'] - $compliance_day;
|
|
|
|
}else{
|
|
|
|
//审核上线后开始
|
|
|
|
$check_time = OnlineCheck::where('project_id', $item['id'])->where('status', 1)->value('created_at') ?: '';
|
|
|
|
if($check_time){
|
|
|
|
$remain_day = $item['deploy_build']['service_duration'];
|
|
|
|
}else{
|
|
|
|
$diff = time() - strtotime($check_time);
|
|
|
|
$remain_day = floor($diff / (60 * 60 * 24));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
$item->remain_day = $remain_day > 0 ? $remain_day : 0;
|
|
|
|
$item->save();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} |
...
|
...
|
|