LastInquiry.php 1.7 KB
<?php

namespace App\Console\Commands\Inquiry;

use App\Helper\FormGlobalsoApi;
use App\Models\Inquiry\InquiryFormData;
use App\Models\Project\Project;
use App\Services\ProjectServer;
use Illuminate\Console\Command;

/**
 * 最近一次询盘
 * Class InquiryList
 * @package App\Console\Commands
 * @author zbj
 * @date 2023/9/11
 */
class LastInquiry extends Command
{
    /**
     * The name and signature of the console command.
     *
     * @var string
     */
    protected $signature = 'last_inquiry';

    /**
     * The console command description.
     *
     * @var string
     */
    protected $description = '询盘列表';

    /**
     * Create a new command instance.
     *
     * @return void
     */
    public function __construct()
    {
        parent::__construct();
    }

    /**
     * @return bool
     */
    public function handle()
    {
        $list = Project::with('deploy_optimize')->whereIn('type', [2,3,4])->get();
        foreach ($list as $item){
            if(empty($item['deploy_optimize']['domain'])){
                continue;
            }
            $api = new FormGlobalsoApi();
            $res = $api->getInquiryList($item['deploy_optimize']['domain']);
            $last_time = $res['data']['data'][0] ?? '';
            //其他询盘的最新时间
            ProjectServer::useProject($item['id']);
            $other_last_time = InquiryFormData::orderBy('id', 'desc')->value('submit_at');

            $last_inquiry_time = $last_time > $other_last_time ? $last_time : $other_last_time;

            if(!$last_inquiry_time){
                continue;
            }

            $item->last_inquiry_time = $last_inquiry_time;
            $item->save();
        }
    }
}