作者 赵彬吉

update

... ... @@ -4,9 +4,7 @@ namespace App\Http\Logic\Aside\Project;
use App\Http\Logic\Aside\BaseLogic;
use App\Models\Project\DomainInfo;
use App\Models\Project\Payment;
use MongoDB\Client;
use App\Models\Domain\DomainInfo;
class DomainInfoLogic extends BaseLogic
{
... ... @@ -18,26 +16,15 @@ class DomainInfoLogic extends BaseLogic
public function getDomainInfo($project_id)
{
$project = (new ProjectLogic())->getProjectInfo($project_id);
$domain = (!empty($project['deploy_optimize']['domain']) ? ((new \App\Models\Domain\DomainInfo())->getDomain($project['deploy_optimize']['domain'])) : '');
$info = $this->model->where('project_id', $project_id)->first();
//不存在或时间过期了 重新获取信息
$expiration_date = $info['domain_info']['expiration_date'] ?? '';
$end_time = $info['ssl']['end_time'] ?? '';
if(!$info || $expiration_date < date("Y-m-d") || $end_time < date('Y-m-d')){
try {
$mongo = new Client("mongodb://root:globalso8837840@23.228.125.2:27017");
$db = $mongo->globalso_monitor;
$collection = $db->project_v1;
$project_zk = $collection->findOne(['main_url' => $domain]);
$info['domain'] = $domain;
$info['domain_info'] = (array) $project_zk['domain_info'] ?? [];
$info['ssl'] = (array) $project_zk['ssl'] ?? [];
parent::save($info);
}catch (\Exception $e){
$domain_info = $this->model->where('project_id', $project_id)->first();
if(!$domain_info){
return [];
}
}
return $info;
return [
'domain' => 'https://'.$domain_info['domain'].'/',
'domain_info' => $domain_info['domain_start_time'] . ' - ' .$domain_info['domain_end_time'],
'cert_info' => $domain_info['certificate_start_time'] . ' - ' .$domain_info['certificate_end_time'],
];
}
}
... ...
... ... @@ -60,9 +60,9 @@ class RankDataLogic extends BaseLogic
//项目信息
$data['project'] = [
'company' => $project['company'],
'domain' => (!empty($project['deploy_optimize']['domain']) ? ((new DomainInfo())->getDomain($project['deploy_optimize']['domain'])) : ''),
'domain_info' => ($domain_info['domain_info']['creation_date'] ?? '') . ' - ' . ($domain_info['domain_info']['expiration_date'] ?? ''),
'cert_info' => ($domain_info['ssl']['start_time'] ?? '') . ' - ' . ($domain_info['ssl']['end_time'] ?? ''),
'domain' => $domain_info['domain'] ?? '',
'domain_info' => $domain_info['domain_info'] ?? '',
'cert_info' => $domain_info['cert_info'] ?? '',
'plan' => Project::planMap()[$project['deploy_build']['plan']],
'keyword_num' => $project['deploy_build']['keyword_num'],
'compliance_day' => $rank['compliance_day'] ?? 0,
... ...