作者 lyh

gx统计数据

... ... @@ -71,15 +71,19 @@ class WeekProject extends Command
'project_id'=>$value['id'],
'title'=>$value['title'],
];
$yesterday = Carbon::yesterday()->toDateString();//昨天
// 上一周的开始时间(周一 00:00:00)
$startOfLastWeek = strtotime("last week monday");
// 上一周的结束时间(周日 23:59:59)
$endOfLastWeek = strtotime("last week sunday 23:59:59");
// 格式化为日期时间字符串
$startOfLastWeekFormatted = date('Y-m-d', $startOfLastWeek);
$endOfLastWeekFormatted = date('Y-m-d', $endOfLastWeek);
$countModel = new Count();
$yesCountInfo = $countModel->read(['date'=>$yesterday,'project_id'=>$value['id']],['inquiry_num','country']);
$data['inquiry_total'] = $yesCountInfo['inquiry_num'] ?? 0;//询盘数量
$data['inquiry_country'] = $yesCountInfo['country'] ?? json_encode([]);
$lastDayOfLastWeek = Carbon::now()->subWeek()->endOfWeek(Carbon::SUNDAY)->toDateString(); // 获取上周的最后一天
//本周
$lastDayOfLastWeekInfo = $countModel->read(['date'=>$lastDayOfLastWeek,'project_id'=>$value['id']],['inquiry_num']);
$data['week_inquiry_total'] = ($yesCountInfo['inquiry_num'] ?? 0) - ($lastDayOfLastWeekInfo['inquiry_num'] ?? 0);
$startOfLastWeekFormattedInfo = $countModel->read(['date'=>$startOfLastWeekFormatted,'project_id'=>$value['id']],['inquiry_num','country']);
$endOfLastWeekFormattedInfo = $countModel->read(['date'=>$endOfLastWeekFormatted,'project_id'=>$value['id']],['inquiry_num']);
$data['inquiry_total'] = $startOfLastWeekFormattedInfo['inquiry_num'] ?? 0;//询盘数量
$data['inquiry_country'] = $startOfLastWeekFormattedInfo['country'] ?? json_encode([]);
$data['week_inquiry_total'] = ($startOfLastWeekFormattedInfo['inquiry_num'] ?? 0) - ($endOfLastWeekFormattedInfo['inquiry_num'] ?? 0);
$rankDataModel = new RankData();
$rankInfo = $rankDataModel->read(['project_id'=>$value['id']],['first_num','first_page_num','first_three_pages_num','first_five_pages_num','first_ten_pages_num','indexed_pages_num']);
$data['google_indexed_num'] = $rankInfo['indexed_pages_num'] ?? 0;
... ... @@ -99,6 +103,12 @@ class WeekProject extends Command
$data['aggregation_update_num'] = $notifyModel->counts(['type'=>1,'route'=>4,'project_id'=>$value['id']]) ?? 0;
$data['minor_update_num'] = $notifyModel->counts(['type'=>2,'route'=>1,'project_id'=>$value['id']]) ?? 0;
$data['aggregation_minor_update_num'] = $notifyModel->counts(['type'=>2,'route'=>4,'project_id'=>$value['id']]) ?? 0;
//日均访问量
$data['daily_average_num'] = 0;
$pv_num_count = $countModel->whereBetween('date', [$startOfLastWeekFormatted,$endOfLastWeekFormattedInfo])->sum('pv_num');
if($pv_num_count != 0){
$data['daily_average_num'] = round($pv_num_count / 7,2);
}
$v6WeeklyReportModel = new V6WeeklyReport();
$v6WeeklyReportModel->add($data);
return true;
... ...