SyncMobile.php
1.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<?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 {
$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;
}
}
}
}