refactor: 使用 pagination.ClampPageSize 简化 handler 分页代码

- device/log/webhook handler: 替换 if/else 分页限制为 ClampPageSize
- 统一添加 page < 1 检查(device/log handler 缺失)
This commit is contained in:
2026-05-08 12:45:56 +08:00
parent 2ecd1fef1e
commit b3374dccf4
3 changed files with 18 additions and 16 deletions

View File

@@ -89,10 +89,11 @@ func (h *DeviceHandler) GetMyDevices(c *gin.Context) {
}
page, _ := strconv.Atoi(c.DefaultQuery("page", "1"))
pageSize, _ := strconv.Atoi(c.DefaultQuery("page_size", strconv.Itoa(pagination.DefaultPageSize)))
if pageSize < 1 || pageSize > pagination.MaxPageSize {
pageSize = pagination.DefaultPageSize
if page < 1 {
page = 1
}
pageSize, _ := strconv.Atoi(c.DefaultQuery("page_size", strconv.Itoa(pagination.DefaultPageSize)))
pageSize = pagination.ClampPageSize(pageSize)
devices, total, err := h.deviceService.GetUserDevices(c.Request.Context(), userID, page, pageSize)
if err != nil {
@@ -317,10 +318,11 @@ func (h *DeviceHandler) GetUserDevices(c *gin.Context) {
}
page, _ := strconv.Atoi(c.DefaultQuery("page", "1"))
pageSize, _ := strconv.Atoi(c.DefaultQuery("page_size", strconv.Itoa(pagination.DefaultPageSize)))
if pageSize < 1 || pageSize > pagination.MaxPageSize {
pageSize = pagination.DefaultPageSize
if page < 1 {
page = 1
}
pageSize, _ := strconv.Atoi(c.DefaultQuery("page_size", strconv.Itoa(pagination.DefaultPageSize)))
pageSize = pagination.ClampPageSize(pageSize)
devices, total, err := h.deviceService.GetUserDevices(c.Request.Context(), userID, page, pageSize)
if err != nil {

View File

@@ -44,10 +44,11 @@ func (h *LogHandler) GetMyLoginLogs(c *gin.Context) {
}
page, _ := strconv.Atoi(c.DefaultQuery("page", "1"))
pageSize, _ := strconv.Atoi(c.DefaultQuery("page_size", strconv.Itoa(pagination.DefaultPageSize)))
if pageSize < 1 || pageSize > pagination.MaxPageSize {
pageSize = pagination.DefaultPageSize
if page < 1 {
page = 1
}
pageSize, _ := strconv.Atoi(c.DefaultQuery("page_size", strconv.Itoa(pagination.DefaultPageSize)))
pageSize = pagination.ClampPageSize(pageSize)
logs, total, err := h.loginLogService.GetMyLoginLogs(c.Request.Context(), userID, page, pageSize)
if err != nil {
@@ -86,10 +87,11 @@ func (h *LogHandler) GetMyOperationLogs(c *gin.Context) {
}
page, _ := strconv.Atoi(c.DefaultQuery("page", "1"))
pageSize, _ := strconv.Atoi(c.DefaultQuery("page_size", strconv.Itoa(pagination.DefaultPageSize)))
if pageSize < 1 || pageSize > pagination.MaxPageSize {
pageSize = pagination.DefaultPageSize
if page < 1 {
page = 1
}
pageSize, _ := strconv.Atoi(c.DefaultQuery("page_size", strconv.Itoa(pagination.DefaultPageSize)))
pageSize = pagination.ClampPageSize(pageSize)
logs, total, err := h.operationLogService.GetMyOperationLogs(c.Request.Context(), userID, page, pageSize)
if err != nil {

View File

@@ -67,13 +67,11 @@ func (h *WebhookHandler) CreateWebhook(c *gin.Context) {
// @Router /api/v1/webhooks [get]
func (h *WebhookHandler) ListWebhooks(c *gin.Context) {
page, _ := strconv.Atoi(c.DefaultQuery("page", "1"))
pageSize, _ := strconv.Atoi(c.DefaultQuery("page_size", strconv.Itoa(pagination.DefaultPageSize)))
if page < 1 {
page = 1
}
if pageSize < 1 || pageSize > pagination.MaxPageSize {
pageSize = pagination.DefaultPageSize
}
pageSize, _ := strconv.Atoi(c.DefaultQuery("page_size", strconv.Itoa(pagination.DefaultPageSize)))
pageSize = pagination.ClampPageSize(pageSize)
offset := (page - 1) * pageSize
userID, _ := c.Get("user_id")