CountController.php
3.4 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
<?php
namespace App\Http\Controllers\Bside\HomeCount;
use App\Enums\Common\Code;
use App\Helper\Common;
use App\Helper\FormGlobalsoApi;
use App\Http\Controllers\Bside\BaseController;
use App\Http\Logic\Bside\HomeCount\CountLogic;
use App\Models\Project\DeployBuild;
use Carbon\Carbon;
use Illuminate\Support\Facades\DB;
class CountController extends BaseController
{
const STATUS_ERROR = 400;
/**
* @name :(昨日统计数据)yesterday_count
* @author :lyh
* @method :post
* @time :2023/5/23 17:23
*/
public function count(CountLogic $countLogic){
$data = [];
//TODO::昨日数据统计
$data['yesterday'] = $countLogic->yesterday_count();
//TODO::全球搜方案信息
$data['scheme_info'] = $countLogic->scheme_info();
//TODO::网站访问量统计
$data['total_visit'] = $countLogic->total_count(isset($data['yesterday']['inquiry_num']) ? $data['yesterday']['inquiry_num'] : '');
//TODO::关键字排名数据
$data['keyword_data'] = $countLogic->keyword_data_count();
//TODO::相关数据统计
$data['with_data'] = $countLogic->with_data_count();
//TODO::30天pv,ip统计
$data['visit_data'] = $countLogic->visit_data_count();
//TODO::询盘国家统计
$data['country_data'] = $countLogic->inquiry_country_count();
//TODO::来源排名
$data['referrer_count'] = $countLogic->referrer_count();
//TODO::访问国家前10
$data['access_country_count'] = $countLogic->access_country_count();
//TODO::企业中心服务
$data['enterprise_service'] = $countLogic->enterprise_service();
return $this->response('success',Code::SUCCESS,$data);
}
/***
* @name :(手动获取昨日数据统计)yesterday
* @author :lyh
* @method :post
* @time :2023/5/24 9:13
*/
public function yesterday(){
$deployModel = new DeployBuild();
$list = $deployModel->list();
$data = [];
$yesterday = Carbon::yesterday()->toDateString();
foreach ($list as $v){
$arr = [];
$arr['yesterday_pv_num'] = DB::table('gl_customer_visit_item')->whereDate('date', $yesterday)->where('domain',$v['test_domain'])->count();
$arr['yesterday_ip_num'] = DB::table('gl_customer_visit')->whereDate('date', $yesterday)->where('domain',$v['test_domain'])->count();
$inquiry_list = (new FormGlobalsoApi())->getInquiryList($v['test_domain']);
if($inquiry_list['status'] == self::STATUS_ERROR){
$arr['inquiry_num'] = 0;
}else{
$arr['inquiry_num'] = count($inquiry_list['data']['total']);
}
$arr['date'] = $yesterday;
$rank_info = DB::table('gl_rank_data')->where(['updated_date'=>$yesterday,'lang'=>''])->select(['compliance_day'])->first();
if(empty($rank_info)){
$arr['compliance_day'] = 0;
}else{
$arr['compliance_day'] = $rank_info->compliance_day;
}
$arr['service_day'] = $v['service_duration'] - Common::getDaysToTargetDate($v['created_at']);
$arr['project_id'] = $v['project_id'];
$arr['created_at'] = date('Y-m-d H:i:s');
$arr['updated_at'] = date('Y-m-d H:i:s');
$data[] = $arr;
}
DB::table('gl_count')->insert($data);
$this->response('success');
}
}