SyncMobile.php 1.8 KB
<?php
/**
 * @remark :
 * @name   :SyncMobile.php
 * @author :lyh
 * @method :post
 * @time   :2023/12/25 15:00
 */

namespace App\Console\Commands\Sync;

use App\Models\User\User;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\DB;

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

    /**
     * The console command description.
     *
     * @var string
     */
    protected $description = '同步手机号码库';

    /**
     * @remark :统一更新
     * @name   :handle
     * @author :lyh
     * @method :post
     * @time   :2023/11/20 15:13
     */
    public function handle(){
        $url = 'https://www.quanqiusou.cn/extend_api/saas/get_phone.php';
//        $data = curlGet($url);//TODO::获取号码库
        $client = new \GuzzleHttp\Client();
        $data = $client->request('GET', $url, [
            'proxy' => env('CURL_PROXY'), // 代理服务器地址和端口号
        ])->getBody()->getContents();
        $data = json_decode($data, true);
        DB::table('gl_mobile')->delete();
        $create_time = date('Y-m-d H:i:s');
        foreach ($data as $v){
            $param = [
                'mobile'=>$v,
                'created_at'=>$create_time
            ];
            DB::table('gl_mobile')->insert($param);
        }
        if(!empty($data)){
            $userModel = new User();
            try {
                $data[] = '13083988828';
                $data[] = '6591559603';
                $userModel->edit(['status'=>1],['project_id'=>1,'mobile'=>['not in',$data]]);
                $userModel->edit(['status'=>0],['project_id'=>1,'mobile'=>['in',$data]]);
            }catch (\Exception $e){
                echo date('Y-m-d H:i:s') . 'error' . PHP_EOL;
            }
        }
    }

}