正在显示
1 个修改的文件
包含
86 行增加
和
0 行删除
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +namespace App\Console\Commands\Domain; | ||
| 4 | + | ||
| 5 | +use App\Models\Com\Notify; | ||
| 6 | +use App\Models\Devops\Servers; | ||
| 7 | +use App\Models\Devops\ServersIp; | ||
| 8 | +use App\Models\Domain\DomainCreateTask; | ||
| 9 | +use App\Models\Domain\DomainInfo; | ||
| 10 | +use App\Models\Project\Project; | ||
| 11 | +use App\Models\Project\ProjectServerBackup; | ||
| 12 | +use App\Services\BatchExportService; | ||
| 13 | +use Illuminate\Console\Command; | ||
| 14 | +use Illuminate\Support\Facades\Storage; | ||
| 15 | +use Symfony\Component\Process\Process; | ||
| 16 | + | ||
| 17 | +class EmergencyResultExport extends Command | ||
| 18 | +{ | ||
| 19 | + protected $signature = 'emergency_result_export'; | ||
| 20 | + protected $description = '恢复项目服务器结果导出'; | ||
| 21 | + | ||
| 22 | + public function handle() | ||
| 23 | + { | ||
| 24 | + $map = ['项目id', '名称', '域名', '现属服务器', '恢复结果',]; | ||
| 25 | + | ||
| 26 | + //获取所有恢复项目 | ||
| 27 | + $backup_model = new ProjectServerBackup(); | ||
| 28 | + $backup_list = $backup_model->orderBy('status', 'asc')->get(); | ||
| 29 | + $data = []; | ||
| 30 | + if ($backup_list->count() > 0) { | ||
| 31 | + $project_model = new Project(); | ||
| 32 | + $domain_model = new DomainInfo(); | ||
| 33 | + $server_model = new Servers(); | ||
| 34 | + foreach ($backup_list as $value) { | ||
| 35 | + $project_info = $project_model->read(['id' => $value->project_id], ['id', 'company']); | ||
| 36 | + $domain_info = $domain_model->read(['project_id' => $value->project_id], ['domain']); | ||
| 37 | + | ||
| 38 | + //获取现属服务器 | ||
| 39 | + if ($value->status == 1) { | ||
| 40 | + $server_info = $server_model->read(['id' => $value->server_id], ['server_name']); | ||
| 41 | + $server_name = $server_info['server_name']; | ||
| 42 | + $status = '恢复成功'; | ||
| 43 | + } elseif ($value->status == 2) { | ||
| 44 | + $server_name = '硅谷云服务器'; | ||
| 45 | + $status = '继续留在240'; | ||
| 46 | + } elseif ($value->status == 3) { | ||
| 47 | + $server_name = '未知'; | ||
| 48 | + $status = '恢复失败:项目解除了域名绑定'; | ||
| 49 | + } else { | ||
| 50 | + $server_name = '未知'; | ||
| 51 | + $status = '恢复失败:项目解析未在6.0服务器'; | ||
| 52 | + } | ||
| 53 | + | ||
| 54 | + $data[] = [ | ||
| 55 | + $value->project_id, | ||
| 56 | + $project_info ? $project_info['company'] : '未知', | ||
| 57 | + $domain_info ? $domain_info['domain'] : '未知', | ||
| 58 | + $server_name, | ||
| 59 | + $status | ||
| 60 | + ]; | ||
| 61 | + } | ||
| 62 | + } | ||
| 63 | + | ||
| 64 | + //生成文件,发送到客户端 | ||
| 65 | + if ($data) { | ||
| 66 | + $table = new BatchExportService("询盘数据导出"); | ||
| 67 | + $file = $table->head($map)->data($data)->save(); | ||
| 68 | + if (!$file) { | ||
| 69 | + throw new \Exception('文件生成失败,请重试'); | ||
| 70 | + } | ||
| 71 | + | ||
| 72 | + $this->output('export success'); | ||
| 73 | + } | ||
| 74 | + | ||
| 75 | + $this->output('no data'); | ||
| 76 | + } | ||
| 77 | + | ||
| 78 | + /** | ||
| 79 | + * 输出处理日志 | ||
| 80 | + * @param $message | ||
| 81 | + */ | ||
| 82 | + public function output($message) | ||
| 83 | + { | ||
| 84 | + echo date('Y-m-d H:i:s') . ' | ' . $message . PHP_EOL; | ||
| 85 | + } | ||
| 86 | +} |
-
请 注册 或 登录 后发表评论