From 8c48c002d31ccfe9243bab52fee589e2c9e3fc16 Mon Sep 17 00:00:00 2001 From: admin Date: Thu, 7 May 2026 09:39:53 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E5=88=97=E8=A1=A8API=E7=9A=84Count=E6=9F=A5=E8=AF=A2=E5=AF=BC?= =?UTF-8?q?=E8=87=B4Find=E5=A4=B1=E8=B4=A5=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/internal/router/admin/devices.go | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/backend/internal/router/admin/devices.go b/backend/internal/router/admin/devices.go index d27b458..c4e04df 100644 --- a/backend/internal/router/admin/devices.go +++ b/backend/internal/router/admin/devices.go @@ -87,6 +87,16 @@ func handleGetDevices(c *gin.Context) { return } + var total int64 + countQuery := database.DB.Model(&model.UserDevice{}).Where("application_id IN ?", appIDs) + if userIDFilter != "" { + countQuery = countQuery.Where("user_id = ?", userIDFilter) + } + if deviceIDFilter != "" { + countQuery = countQuery.Where("device_id = ?", deviceIDFilter) + } + countQuery.Count(&total) + query := database.DB.Preload("User").Preload("Application").Where("application_id IN ?", appIDs) if userIDFilter != "" { @@ -97,14 +107,12 @@ func handleGetDevices(c *gin.Context) { query = query.Where("device_id = ?", deviceIDFilter) } - var total int64 - query.Count(&total) - page, _ := strconv.Atoi(c.DefaultQuery("page", "1")) pageSize, _ := strconv.Atoi(c.DefaultQuery("page_size", "20")) offset := (page - 1) * pageSize if err := query.Offset(offset).Limit(pageSize).Find(&devices).Error; err != nil { + log.Printf("[ERROR] Failed to get devices: %v", err) response.Error(c, 500, "获取设备列表失败") return }