whereDate('created_at', date('Y-m-d'))->selectRaw('(DATE_FORMAT(node_hourly_data_flow.created_at, "%k")) as date, total')->pluck('total', 'date'); $dailyFlow = NodeDailyDataFlow::whereNodeId($id)->whereMonth('created_at', date('n'))->selectRaw('(DATE_FORMAT(node_daily_data_flow.created_at, "%e")) as date, total')->pluck('total', 'date'); } else { $currentFlow = UserDataFlowLog::whereUserId($id); $hourlyFlow = UserHourlyDataFlow::userHourly($id)->whereDate('created_at', date('Y-m-d'))->selectRaw('(DATE_FORMAT(user_hourly_data_flow.created_at, "%k")) as date, total')->pluck('total', 'date'); $dailyFlow = UserDailyDataFlow::userDaily($id)->whereMonth('created_at', date('n'))->selectRaw('(DATE_FORMAT(user_daily_data_flow.created_at, "%e")) as date, total')->pluck('total', 'date'); } $currentFlow = $currentFlow->where('log_time', '>=', strtotime(date('Y-m-d H:0')))->sum(DB::raw('u + d')); // 节点一天内的流量 foreach ($hourlyFlow as $date => $dataFlow) { $hourlyData[$date] = round($dataFlow / GB, 3); } $hourlyData[$lastHour] = round($currentFlow / GB, 3); // 节点一个月内的流量 foreach ($dailyFlow as $date => $dataFlow) { $dailyData[$date - 1] = round($dataFlow / GB, 3); } $dailyData[$lastDay - 1] = round(array_sum($hourlyData) + $currentFlow / GB, 3); return [ 'trafficDaily' => $dailyData, 'trafficHourly' => $hourlyData, 'monthDays' => range(1, $lastDay), // 本月天数 'dayHours' => range(0, $lastHour), // 本日小时 ]; } }