GoogleKeywordInsightLogic.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
88
89
90
91
92
93
94
<?php
/**
* @remark :
* @name :GoogleKeywordInsightLogic.php
* @author :lyh
* @method :post
* @time :2025/3/25 14:31
*/
namespace App\Http\Logic\Bside\GoogleKeywordInsight;
use App\Helper\Translate;
use App\Http\Logic\Bside\BaseLogic;
use App\Models\GoogleKeywordInsight\GoogleKeywordInsight;
use App\Services\GoogleKeywordInsightService;
class GoogleKeywordInsightLogic extends BaseLogic
{
public $service;
public function __construct()
{
parent::__construct();
$this->model = new GoogleKeywordInsight();
$this->param = $this->requestAll;
}
/**
* @remark :获取google洞察数据
* @name :saveGoogleKeywordInsight
* @author :lyh
* @method :post
* @time :2025/3/25 14:36
*/
public function getGoogleInsight(){
$data = $this->model->read(['search'=>$this->param['keyword']]);
if($data === false){
$this->service = new GoogleKeywordInsightService();
$data = $this->service->requestUrl($this->param['keyword']);
if(!empty($data)){
//保存数据库
$this->saveInsight($this->param['keyword'],$data);
$this->saveInsightDetail($this->param['keyword'],$data);
}
}
return $this->success($data);
}
/**
* @remark :保存洞察总数据
* @name :saveInsight
* @author :lyh
* @method :post
* @time :2025/3/25 14:45
*/
public function saveInsight($keyword,$data){
$saveData = [
'search'=>$keyword,
'project_id'=>$this->user['project_id'],
'data'=>json_encode($data,true),
];
return $this->model->addReturnId($saveData);
}
/**
* @remark :保存洞察数据详情
* @name :saveInsightDetail
* @author :lyh
* @method :post
* @time :2025/3/25 14:45
*/
public function saveInsightDetail($keyword,$data){
$saveData = [];
foreach ($data as $val){
$zh_text = Translate::tran($val['text'], 'zh');
if(empty($zh_text)){
$zh_text = $val['text'];
}
$saveData[] = [
'search'=>$keyword,
'text'=>$val['text'],
'zh_text'=>$zh_text,
'project_id'=>$this->user['project_id'],
'volume'=>$val['volume'],
'competition_level'=>$val['competition_level'],
'competition_index'=>$val['competition_index'],
'low_bid'=>$val['low_bid'],
'high_bid'=>$val['high_bid'],
'trend'=>$val['trend'],
];
}
return $this->model->insertAll($saveData);
}
}