fix: 修复设备列表API的Count查询导致Find失败的问题
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user