|
|
|
<?php
|
|
|
|
|
|
|
|
namespace App\Console\Commands\Domain;
|
|
|
|
|
|
|
|
use App\Models\Com\Notify;
|
|
|
|
use App\Models\Devops\Servers;
|
|
|
|
use App\Models\Devops\ServersIp;
|
|
|
|
use App\Models\Domain\DomainCreateTask;
|
|
|
|
use App\Models\Domain\DomainInfo;
|
|
|
|
use App\Models\Project\Project;
|
|
|
|
use App\Models\Project\ProjectServerBackup;
|
|
|
|
use App\Services\BatchExportService;
|
|
|
|
use Illuminate\Console\Command;
|
|
|
|
use Illuminate\Support\Facades\Storage;
|
|
|
|
use Symfony\Component\Process\Process;
|
|
|
|
|
|
|
|
class EmergencyResultExport extends Command
|
|
|
|
{
|
|
|
|
protected $signature = 'emergency_result_export';
|
|
|
|
protected $description = '恢复项目服务器结果导出';
|
|
|
|
|
|
|
|
public function handle()
|
|
|
|
{
|
|
|
|
$map = ['项目id', '名称', '域名', '现属服务器', '恢复结果',];
|
|
|
|
|
|
|
|
//获取所有恢复项目
|
|
|
|
$backup_model = new ProjectServerBackup();
|
|
|
|
$backup_list = $backup_model->orderBy('status', 'asc')->get();
|
|
|
|
$data = [];
|
|
|
|
if ($backup_list->count() > 0) {
|
|
|
|
$project_model = new Project();
|
|
|
|
$domain_model = new DomainInfo();
|
|
|
|
$server_model = new Servers();
|
|
|
|
foreach ($backup_list as $value) {
|
|
|
|
$project_info = $project_model->read(['id' => $value->project_id], ['id', 'company']);
|
|
|
|
$domain_info = $domain_model->read(['project_id' => $value->project_id], ['domain']);
|
|
|
|
|
|
|
|
//获取现属服务器
|
|
|
|
if ($value->status == 1) {
|
|
|
|
$server_info = $server_model->read(['id' => $value->server_id], ['server_name']);
|
|
|
|
$server_name = $server_info['server_name'];
|
|
|
|
$status = '恢复成功';
|
|
|
|
} elseif ($value->status == 2) {
|
|
|
|
$server_name = '硅谷云服务器';
|
|
|
|
$status = '继续留在240';
|
|
|
|
} elseif ($value->status == 3) {
|
|
|
|
$server_name = '未知';
|
|
|
|
$status = '恢复失败:项目解除了域名绑定';
|
|
|
|
} else {
|
|
|
|
$server_name = '未知';
|
|
|
|
$status = '恢复失败:项目解析未在6.0服务器';
|
|
|
|
}
|
|
|
|
|
|
|
|
$data[] = [
|
|
|
|
$value->project_id,
|
|
|
|
$project_info ? $project_info['company'] : '未知',
|
|
|
|
$domain_info ? $domain_info['domain'] : '未知',
|
|
|
|
$server_name,
|
|
|
|
$status
|
|
|
|
];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
//生成文件,发送到客户端
|
|
|
|
if ($data) {
|
|
|
|
$table = new BatchExportService("询盘数据导出");
|
|
|
|
$file = $table->head($map)->data($data)->save();
|
|
|
|
if (!$file) {
|
|
|
|
throw new \Exception('文件生成失败,请重试');
|
|
|
|
}
|
|
|
|
|
|
|
|
$this->output('export success');
|
|
|
|
}
|
|
|
|
|
|
|
|
$this->output('no data');
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 输出处理日志
|
|
|
|
* @param $message
|
|
|
|
*/
|
|
|
|
public function output($message)
|
|
|
|
{
|
|
|
|
echo date('Y-m-d H:i:s') . ' | ' . $message . PHP_EOL;
|
|
|
|
}
|
|
|
|
} |
...
|
...
|
|