<?php
/**
 * Created by PhpStorm.
 * User: zhl
 * Date: 2023/2/7
 * Time: 17:58
 */
namespace App\Console\Commands\Test;

use App\Helper\Common;
use App\Models\Blog\Blog;
use App\Models\Devops\ServerConfig;
use App\Models\Domain\DomainInfo;
use App\Models\File\File;
use App\Models\File\File as FileModel;
use App\Models\File\Image;
use App\Models\File\Image as ImageModel;
use App\Models\Manage\BelongingGroup;
use App\Models\Manage\Dept;
use App\Models\Manage\EntryPosition;
use App\Models\Manage\ManageHr;
use App\Models\Nav\BNav;
use App\Models\Nav\BNavGroup;
use App\Models\Product\Keyword;
use App\Models\Product\Product;
use App\Models\Project\DeployOptimize;
use App\Models\Project\MinorLanguages;
use App\Models\Project\Project;
use App\Models\RouteMap\RouteMap;
use App\Models\Template\BCustomTemplate;
use App\Models\WebSetting\WebSettingService;
use App\Services\AmazonS3Service;
use App\Services\ProjectServer;
use App\Services\SyncService;
use GuzzleHttp\Client;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log;

class Demo extends Command
{
    /**
     * The name and signature of the console command.
     *
     * @var string
     */
    protected $signature = 'demo';

    /**
     * The console command description.
     *
     * @var string
     */
    protected $description = 'demo';

    public function s(){
        $projectModel = new Project();
        $list = $projectModel->list(['id'=>181]);
        foreach ($list as $v){
            echo date('Y-m-d H:i:s') . 'project_id:'.$v['id'] . PHP_EOL;
            ProjectServer::useProject($v['id']);
            $this->initSearch($v['id']);
            DB::disconnect('custom_mysql');
        }
        echo date('Y-m-d H:i:s') . 'end' . PHP_EOL;
    }

    /**
     * @remark :创建search页面
     * @name   :initSearch
     * @author :lyh
     * @method :post
     * @time   :2024/4/25 11:35
     */
    public function initSearch($project_id){
        $bCustomTemplateModel = new BCustomTemplate();
        $info = $bCustomTemplateModel->read(['url'=>'search']);
        if($info === false){
            $time = date('Y-m-d H:i:s');
            $info = DB::connection('custom_mysql')->table('gl_web_custom_template')->first();
            if(empty($info)) {
                $data = [
                    'project_id' => $project_id,
                    'name' => 'search',
                    'status' => 1,
                    'url' => 'search',
                    'html' => '',
                    'html_style' =>'search',
                    'title' => 'search',
                    'description' => 'Sorry. The page has either moved or cannot be found.',
                    'created_at' => $time, 'updated_at' => $time];
                $id = DB::connection('custom_mysql')->table('gl_web_custom_template')->insertGetId($data);
                //路由
                $info = DB::connection('custom_mysql')->table('gl_route_map')->first();
                if(empty($info)) {
                    $data = ['project_id' => $project_id, 'source' => RouteMap::SOURCE_PAGE, 'source_id' => $id, 'route' => 'search', 'created_at' => $time, 'updated_at' => $time];
                    DB::connection('custom_mysql')->table('gl_route_map')->insert($data);
                }
            }
        }
        return true;
    }

    /**
     * Execute the job.
     *
     * @return void
     */
    public function handle()
    {
        $this->param['project_id'] = 181;
        $imageModel = new ImageModel();
        //获取当前项目的所有图片
        $imageList = $imageModel->list(['project_id'=>$this->param['project_id'],'is_cos'=>1],'id',['id','path','is_cos','size']);
        if(!empty($imageList)){
            $amazonS3Service = new AmazonS3Service();
            foreach ($imageList as $k => $v){
                $amazonS3Service->syncImageFiles(getImageUrl($v['path']));
                $imageModel->edit(['is_cos'=>0],['id'=>$v['id']]);
            }
        }

        $fileModel = new FileModel();
        $fileList = $fileModel->list(['project_id'=>$this->param['project_id'],'is_cos'=>1],'id',['id','path','is_cos','name']);
        if(!empty($fileList)){
            $amazonS3Service = new AmazonS3Service();
            foreach ($fileList as $k => $v){
                echo date('Y-m-d H:i:s') . '执行的数据id:' . $v['id'] . '名称:'.$v['name'] . PHP_EOL;
                $amazonS3Service->syncImageFiles(getFileUrl($v['path']));
                $fileModel->edit(['is_cos'=>0],['id'=>$v['id']]);
            }
        }
        return true;
    }
}