作者 lyh

gx统计数据

@@ -71,15 +71,19 @@ class WeekProject extends Command @@ -71,15 +71,19 @@ class WeekProject extends Command
71 'project_id'=>$value['id'], 71 'project_id'=>$value['id'],
72 'title'=>$value['title'], 72 'title'=>$value['title'],
73 ]; 73 ];
74 - $yesterday = Carbon::yesterday()->toDateString();//昨天 74 + // 上一周的开始时间(周一 00:00:00)
  75 + $startOfLastWeek = strtotime("last week monday");
  76 + // 上一周的结束时间(周日 23:59:59)
  77 + $endOfLastWeek = strtotime("last week sunday 23:59:59");
  78 + // 格式化为日期时间字符串
  79 + $startOfLastWeekFormatted = date('Y-m-d', $startOfLastWeek);
  80 + $endOfLastWeekFormatted = date('Y-m-d', $endOfLastWeek);
75 $countModel = new Count(); 81 $countModel = new Count();
76 - $yesCountInfo = $countModel->read(['date'=>$yesterday,'project_id'=>$value['id']],['inquiry_num','country']);  
77 - $data['inquiry_total'] = $yesCountInfo['inquiry_num'] ?? 0;//询盘数量  
78 - $data['inquiry_country'] = $yesCountInfo['country'] ?? json_encode([]);  
79 - $lastDayOfLastWeek = Carbon::now()->subWeek()->endOfWeek(Carbon::SUNDAY)->toDateString(); // 获取上周的最后一天  
80 - //本周  
81 - $lastDayOfLastWeekInfo = $countModel->read(['date'=>$lastDayOfLastWeek,'project_id'=>$value['id']],['inquiry_num']);  
82 - $data['week_inquiry_total'] = ($yesCountInfo['inquiry_num'] ?? 0) - ($lastDayOfLastWeekInfo['inquiry_num'] ?? 0); 82 + $startOfLastWeekFormattedInfo = $countModel->read(['date'=>$startOfLastWeekFormatted,'project_id'=>$value['id']],['inquiry_num','country']);
  83 + $endOfLastWeekFormattedInfo = $countModel->read(['date'=>$endOfLastWeekFormatted,'project_id'=>$value['id']],['inquiry_num']);
  84 + $data['inquiry_total'] = $startOfLastWeekFormattedInfo['inquiry_num'] ?? 0;//询盘数量
  85 + $data['inquiry_country'] = $startOfLastWeekFormattedInfo['country'] ?? json_encode([]);
  86 + $data['week_inquiry_total'] = ($startOfLastWeekFormattedInfo['inquiry_num'] ?? 0) - ($endOfLastWeekFormattedInfo['inquiry_num'] ?? 0);
83 $rankDataModel = new RankData(); 87 $rankDataModel = new RankData();
84 $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']); 88 $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']);
85 $data['google_indexed_num'] = $rankInfo['indexed_pages_num'] ?? 0; 89 $data['google_indexed_num'] = $rankInfo['indexed_pages_num'] ?? 0;
@@ -99,6 +103,12 @@ class WeekProject extends Command @@ -99,6 +103,12 @@ class WeekProject extends Command
99 $data['aggregation_update_num'] = $notifyModel->counts(['type'=>1,'route'=>4,'project_id'=>$value['id']]) ?? 0; 103 $data['aggregation_update_num'] = $notifyModel->counts(['type'=>1,'route'=>4,'project_id'=>$value['id']]) ?? 0;
100 $data['minor_update_num'] = $notifyModel->counts(['type'=>2,'route'=>1,'project_id'=>$value['id']]) ?? 0; 104 $data['minor_update_num'] = $notifyModel->counts(['type'=>2,'route'=>1,'project_id'=>$value['id']]) ?? 0;
101 $data['aggregation_minor_update_num'] = $notifyModel->counts(['type'=>2,'route'=>4,'project_id'=>$value['id']]) ?? 0; 105 $data['aggregation_minor_update_num'] = $notifyModel->counts(['type'=>2,'route'=>4,'project_id'=>$value['id']]) ?? 0;
  106 + //日均访问量
  107 + $data['daily_average_num'] = 0;
  108 + $pv_num_count = $countModel->whereBetween('date', [$startOfLastWeekFormatted,$endOfLastWeekFormattedInfo])->sum('pv_num');
  109 + if($pv_num_count != 0){
  110 + $data['daily_average_num'] = round($pv_num_count / 7,2);
  111 + }
102 $v6WeeklyReportModel = new V6WeeklyReport(); 112 $v6WeeklyReportModel = new V6WeeklyReport();
103 $v6WeeklyReportModel->add($data); 113 $v6WeeklyReportModel->add($data);
104 return true; 114 return true;