|
|
|
<?php
|
|
|
|
/**
|
|
|
|
* @remark :
|
|
|
|
* @name :UpgradeProjectCount.php
|
|
|
|
* @name :CountProject.php
|
|
|
|
* @author :lyh
|
|
|
|
* @method :post
|
|
|
|
* @time :2024/1/8 9:03
|
|
...
|
...
|
@@ -9,6 +9,10 @@ |
|
|
|
|
|
|
|
namespace App\Console\Commands\DayCount;
|
|
|
|
|
|
|
|
use App\Helper\FormGlobalsoApi;
|
|
|
|
use App\Models\Domain\DomainInfo;
|
|
|
|
use App\Models\Inquiry\InquiryFormData;
|
|
|
|
use App\Models\Project\DeployOptimize;
|
|
|
|
use App\Models\Project\Project;
|
|
|
|
use App\Models\Visit\Visit;
|
|
|
|
use App\Services\ProjectServer;
|
|
...
|
...
|
@@ -16,14 +20,16 @@ use Illuminate\Console\Command; |
|
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
use App\Models\HomeCount\Count;
|
|
|
|
|
|
|
|
class UpgradeProjectCount extends Command
|
|
|
|
class CountProject extends Command
|
|
|
|
{
|
|
|
|
const STATUS_ERROR = 400;
|
|
|
|
public $error = 0;
|
|
|
|
/**
|
|
|
|
* The name and signature of the console command.
|
|
|
|
*
|
|
|
|
* @var string
|
|
|
|
*/
|
|
|
|
protected $signature = 'upgrade_count {project_id}';
|
|
|
|
protected $signature = 'count_project {project_id}';
|
|
|
|
|
|
|
|
/**
|
|
|
|
* The console command description.
|
|
...
|
...
|
@@ -51,6 +57,19 @@ class UpgradeProjectCount extends Command |
|
|
|
->groupBy('updated_date')->get()->toArray();
|
|
|
|
$project = new Project();
|
|
|
|
$projectInfo = $project->read(['id'=>$project_id]);
|
|
|
|
$projectOptimizeModel = new DeployOptimize();
|
|
|
|
$optimizeInfo = $projectOptimizeModel->read(['project_id'=>$project_id]);
|
|
|
|
$domain = '';
|
|
|
|
if(!empty($optimizeInfo['domain'])){
|
|
|
|
$domainInfoModel = new DomainInfo();
|
|
|
|
$domainInfo = $domainInfoModel->read(['id'=>$optimizeInfo['domain']]);
|
|
|
|
if($domainInfo !== false){
|
|
|
|
$domain = $domainInfo['domain'];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if(empty($domain)){
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
if(!empty($list)){
|
|
|
|
$arr = [];
|
|
|
|
foreach ($list as $k=>$v){
|
|
...
|
...
|
@@ -64,12 +83,11 @@ class UpgradeProjectCount extends Command |
|
|
|
$arr['date'] = $v['updated_date'];
|
|
|
|
$arr['pv_num'] = $this->pv_num($v['updated_date']);
|
|
|
|
$arr['ip_num'] = $this->ip_num($v['updated_date']);
|
|
|
|
$arr['inquiry_num'] = $this->inquiry_num($v['updated_date']);
|
|
|
|
//服务达标天数
|
|
|
|
$arr['compliance_day'] = $projectInfo['finish_remain_day'];
|
|
|
|
//剩余服务时常
|
|
|
|
$arr['service_day'] = $projectInfo['remain_day'];
|
|
|
|
$arr['country'] = json_encode([]);
|
|
|
|
$arr = $this->inquiry($arr,$domain, $project_id);
|
|
|
|
//查询当天数据是否存在 存在则更新
|
|
|
|
$info = $count->read(['date'=>$v['updated_date'],'project_id'=>$project_id]);
|
|
|
|
if($info === false){
|
|
...
|
...
|
@@ -103,7 +121,6 @@ class UpgradeProjectCount extends Command |
|
|
|
* @time :2023/6/14 15:40
|
|
|
|
*/
|
|
|
|
public function pv_num($day){
|
|
|
|
//$pv = DB::connection('custom_mysql')->table('gl_customer_visit_item')->whereDate('updated_date', $day)->count();
|
|
|
|
$pv = DB::connection('custom_mysql')->table('gl_customer_visit')->whereDate('updated_date', $day)->sum('depth');
|
|
|
|
return $pv;
|
|
|
|
}
|
|
...
|
...
|
@@ -119,6 +136,50 @@ class UpgradeProjectCount extends Command |
|
|
|
return $ip;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @param $arr
|
|
|
|
* @param $domain
|
|
|
|
* @name :(询盘统计)inquiry
|
|
|
|
* @author :lyh
|
|
|
|
* @method :post
|
|
|
|
* @time :2023/6/14 15:44
|
|
|
|
*/
|
|
|
|
public function inquiry($arr,$domain,$project_id){
|
|
|
|
$inquiry_list = (new FormGlobalsoApi())->getInquiryList($domain,'',1,100000000);
|
|
|
|
if($inquiry_list == false){
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
if($inquiry_list['status'] == self::STATUS_ERROR){
|
|
|
|
$arr['inquiry_num'] = 0;
|
|
|
|
$countryArr = [];
|
|
|
|
}else{
|
|
|
|
$arr['inquiry_num'] = $inquiry_list['data']['total'];
|
|
|
|
//询盘国家统计
|
|
|
|
$countryData = $inquiry_list['data']['data'];
|
|
|
|
$countryArr = [];
|
|
|
|
foreach ($countryData as $v1){
|
|
|
|
if(isset($countryArr[$v1['country']])){
|
|
|
|
$countryArr[$v1['country']]++;
|
|
|
|
}else{
|
|
|
|
$countryArr[$v1['country']] = 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//加上其他询盘
|
|
|
|
ProjectServer::useProject($project_id);
|
|
|
|
$arr['inquiry_num'] += InquiryFormData::getCount();
|
|
|
|
$countryData = InquiryFormData::getCountryCount();
|
|
|
|
foreach ($countryData as $v1){
|
|
|
|
if(isset($countryArr[$v1['country']])){
|
|
|
|
$countryArr[$v1['country']] += $v1['count'];
|
|
|
|
}else{
|
|
|
|
$countryArr[$v1['country']] = $v1['count'];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
arsort($countryArr);
|
|
|
|
$top20 = array_slice($countryArr, 0, 20, true);
|
|
|
|
$arr['country'] = json_encode($top20);
|
|
|
|
return $arr;
|
|
|
|
}
|
|
|
|
|
|
|
|
} |
...
|
...
|
|