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


use App\Models\Com\KeywordVideoTask;
use App\Models\Com\KeywordVideoTaskLog;
use App\Models\Devops\ServerConfig;
use App\Models\Devops\Servers;
use App\Models\Devops\ServersIp;
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\Product\Keyword;
use App\Models\Product\Product;
use App\Models\Project\DeployOptimize;
use App\Models\Project\MinorLanguages;
use App\Models\Project\Project;
use App\Services\AmazonS3Service;
use App\Services\ProjectServer;
use App\Utils\EncryptUtils;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Schema;


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 handle(){
        $serverIpModel = new ServersIp();
        $lists = $serverIpModel->list();
        foreach ($lists as $k => $v){
            $domain = strtolower($v['domain']);
            $serverIpModel->edit(['domain'=>$domain],['id'=>$v['id']]);
        }
        return true;
    }

//    public function handle(){
//        $keywordVideoModel = new KeywordVideoTask();
//        $project_id_arr = $keywordVideoModel::where('id','>',0)->pluck('project_id')->toArray();
//        //查看是否有子记录
//        foreach ($project_id_arr as $values){
//            $logModel = new KeywordVideoTaskLog();
//            $logInfo = $logModel->read(['project_id'=>$values]);
//            if($logInfo === false){
//                echo date('Y-m-d H:i:s') . '开启的项目project_id:'.$values . PHP_EOL;
//                $keywordVideoModel->edit(['status'=>0],['project_id'=>$values]);
//            }
//        }
//        $projectModel = new Project();
//        $list = $projectModel->list(['type'=>['!=',0],'delete_status'=>0,'id'=>['in',$project_id_arr]]);
//        $data = [];
//        foreach ($list as $v){
//            echo date('Y-m-d H:i:s') . 'project_id:'.$v['id'] . PHP_EOL;
//            ProjectServer::useProject($v['id']);
//            $this->getProductList();
//            DB::disconnect('custom_mysql');
//        }
//        echo date('Y-m-d H:i:s') . 'end' . PHP_EOL;
//    }

//    public function getProductList(){
//        $productModel = new Product();
//        $product_all_id = $productModel::whereRaw('LENGTH(keyword_id) > 50')->pluck('id')->toArray();
//        if(empty($product_all_id)){
//            return true;
//        }
//        $lists = $productModel->whereIn("id", $product_all_id)->orderByRaw(DB::raw("FIELD(id, " . implode(',', $product_all_id) . ")"))->get()->toArray();
//        foreach ($lists as $k => $v){
//            echo date('Y-m-d H:i:s') . '项目id:'.$v['project_id'].'+产品product_id:'.$v['id'] . PHP_EOL;
//            $str = ',';
//            shuffle($v['keyword_id']);
//            foreach ($v['keyword_id'] as $key => $value){
//                if($key == 6){
//                    break;
//                }
//                $str .= $value.',';
//            }
//            $productModel->edit(['keyword_id'=>$str],['id'=>$v['id']]);
//        }
//        return true;
//    }
//
//    /**
//     * @remark :关键字有视频的改为1
//     * @name   :getProductKeywordInfo
//     * @author :lyh
//     * @method :post
//     * @time   :2024/5/31 9:54
//     */
//    public function saveKeyword(){
//        $keywordModel = new Keyword();
//        $rs = $keywordModel->edit(['is_video_keyword'=>0],['video'=>'']);
//        echo date('Y-m-d H:i:s') . 'end'.$rs . PHP_EOL;
//        return true;
//    }

//    public function handle(){
//        //切换数据库配置
//        ProjectServer::useProject(1862);
//        return $this->initTable(1380,1862);
//    }
//
//    public function initTable($project_id, $news_project_id)
//    {
//        config(['database.connections.custom_tmp_mysql_copy.database' => 'gl_data_' . $project_id]);
//        $database_name = DB::connection('custom_tmp_mysql_copy')->getDatabaseName();
//        $tables = Schema::connection('custom_tmp_mysql_copy')->getAllTables();
//        $tables = array_column($tables, 'Tables_in_' . $database_name);
//        foreach ($tables as $table) {
//            $has_table = Schema::connection('custom_mysql')->hasTable($table);
//            if (!$has_table) {
//                $sql = DB::connection('custom_tmp_mysql_copy')->select("SHOW CREATE TABLE {$table}");
//                DB::connection('custom_mysql')->statement(array_values((array)$sql[0])[0]); // 修正此处的sql语句获取方式
//            }
//
//            if ($table == 'gl_customer_visit' || $table == 'gl_customer_visit_item' || $table == 'gl_inquiry_other' || $table == 'gl_inquiry_form_data' || $table == 'gl_inquiry_form') {
//                continue;
//            }
//            DB::connection('custom_mysql')->table($table)->truncate(); // 清空目标表数据
//            DB::connection('custom_mysql')->table($table)->insertUsing(
//                [], // 列名数组,留空表示插入所有列
//                function ($query) use ($table, $project_id) {
//                    $name = 'gl_data_' . $project_id . '.' . $table;
//                    $query->select('*')->from("{$name}");
//                }
//            );
//
//            if (Schema::connection('custom_mysql')->hasColumn($table, 'project_id')) {
//                DB::connection('custom_mysql')->table($table)->update(['project_id' => $news_project_id]);
//            }
//        }
//        return true;
//    }
}