修复在线设备数量问题

This commit is contained in:
Zhanghu
2026-01-13 15:45:24 +08:00
parent 6c362c0e87
commit f5d6db464e

View File

@@ -342,16 +342,13 @@ public class DashboardController : ControllerBase
{
private readonly DeviceManagementService _deviceManagementService;
private readonly ApplicationService _applicationService;
private readonly ILogger<DashboardController> _logger;
public DashboardController(
DeviceManagementService deviceManagementService,
ApplicationService applicationService,
ILogger<DashboardController> logger)
ApplicationService applicationService)
{
_deviceManagementService = deviceManagementService;
_applicationService = applicationService;
_logger = logger;
}
/// <summary>
@@ -365,24 +362,10 @@ public class DashboardController : ControllerBase
// 在线设备1分钟内有活动
var onlineThreshold = DateTime.UtcNow.AddMinutes(-1);
var onlineCount = devices.Data.Count(d => d.LastSeenAt.HasValue && d.LastSeenAt >= onlineThreshold);
// 调试输出
_logger.LogInformation("UTC Now: {Now}", DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss"));
_logger.LogInformation("Online Threshold: {Threshold}", onlineThreshold.ToString("yyyy-MM-dd HH:mm:ss"));
foreach (var d in devices.Data)
{
_logger.LogInformation("Device {Id}: LastSeenAt={LastSeenAt}, IsOnline={IsOnline}",
d.Id,
d.LastSeenAt?.ToString("yyyy-MM-dd HH:mm:ss") ?? "null",
d.LastSeenAt.HasValue && d.LastSeenAt >= onlineThreshold);
}
_logger.LogInformation("Online Count: {Count}", onlineCount);
var stats = new DashboardStatsDto
{
TotalDevices = devices.Data.Count,
OnlineDevices = onlineCount,
OnlineDevices = devices.Data.Count(d => d.LastSeenAt.HasValue && d.LastSeenAt >= onlineThreshold),
TotalApplications = applications.Total
};