SyncMobile.php
2.7 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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<?php
/**
* @remark :
* @name :SyncMobile.php
* @author :lyh
* @method :post
* @time :2023/12/25 15:00
*/
namespace App\Console\Commands\Sync;
use App\Models\Manage\Manage;
use App\Models\Manage\Mobile;
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();
try {
$data = $client->request('GET', $url, [
'proxy' => env('CURL_PROXY'), // 代理服务器地址和端口号
])->getBody()->getContents();
}catch (\Exception $e){
echo date('Y-m-d H:i:s').':未拉起到数据'.PHP_EOL;
}
$saveData = [];
if(!empty($data)){
$mobileModel = new Mobile();
$mobileModel->truncate();
$data = json_decode($data, true);
$userModel = new User();
foreach ($data as $mobile){
$saveData[] = $mobile;
$param = [
'mobile'=>$mobile,
'created_at'=>date('Y-m-d H:i:s')
];
$mobileModel->insert($param);
//查看当前用户是否存在
$info = $userModel->read(['mobile'=>$mobile,'project_id'=>1],['id']);
if($info === false){
$userModel->add([
'mobile'=>$mobile,
'password'=>base64_encode(md5('123456')),
'project_id'=>1,
'name'=>$mobile,
'type'=>$userModel::TYPE_ONE
]);
}
}
$saveData[] = '13083988828';
$managerModel = new Manage();
$mobileArr = $managerModel->selectField(['status'=>1],'mobile');
$saveData = array_values(array_unique(array_merge($saveData,$mobileArr)));
$userModel->edit(['status'=>1],['project_id'=>1,'mobile'=>['not in',$saveData]]);
$userModel->edit(['status'=>0],['project_id'=>1,'mobile'=>['in',$saveData]]);
}
echo 'end.'.PHP_EOL;
return true;
}
}