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


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\Services\AmazonS3Service;
use Illuminate\Console\Command;


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';


    /**
     * 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']]);
                gc_collect_cycles();
            }
        }
        return true;
    }

}