修复仪表板用户分布统计:改用AppUser统计用户数而非设备数

This commit is contained in:
2026-05-08 16:06:34 +08:00
parent 5e79955428
commit ecf54d3e3f
+5 -9
View File
@@ -118,16 +118,12 @@ func handleGetDashboard(c *gin.Context) {
var totalOnline int64
var totalOffline int64
var devices []model.UserDevice
database.DB.Where("application_id IN ?", appIDs).Find(&devices)
var users []model.AppUser
database.DB.Where("application_id IN ?", appIDs).Find(&users)
for _, device := range devices {
var sessionCount int64
database.DB.Model(&model.DeviceSession{}).
Where("device_id = ? AND last_heartbeat > ?", device.ID, time.Now().Add(-5*time.Minute)).
Count(&sessionCount)
if sessionCount > 0 {
cutoff := time.Now().Add(-5 * time.Minute)
for _, user := range users {
if user.LastHeartbeatAt != nil && user.LastHeartbeatAt.After(cutoff) {
totalOnline++
} else {
totalOffline++