diff --git a/internal/api/handler/device_handler.go b/internal/api/handler/device_handler.go index 407a978..98f6248 100644 --- a/internal/api/handler/device_handler.go +++ b/internal/api/handler/device_handler.go @@ -10,6 +10,7 @@ import ( "github.com/user-management-system/internal/api/middleware" "github.com/user-management-system/internal/domain" + "github.com/user-management-system/internal/pagination" "github.com/user-management-system/internal/service" ) @@ -88,9 +89,9 @@ func (h *DeviceHandler) GetMyDevices(c *gin.Context) { } page, _ := strconv.Atoi(c.DefaultQuery("page", "1")) - pageSize, _ := strconv.Atoi(c.DefaultQuery("page_size", "20")) - if pageSize < 1 || pageSize > 100 { - pageSize = 20 + pageSize, _ := strconv.Atoi(c.DefaultQuery("page_size", strconv.Itoa(pagination.DefaultPageSize))) + if pageSize < 1 || pageSize > pagination.MaxPageSize { + pageSize = pagination.DefaultPageSize } devices, total, err := h.deviceService.GetUserDevices(c.Request.Context(), userID, page, pageSize) @@ -316,9 +317,9 @@ func (h *DeviceHandler) GetUserDevices(c *gin.Context) { } page, _ := strconv.Atoi(c.DefaultQuery("page", "1")) - pageSize, _ := strconv.Atoi(c.DefaultQuery("page_size", "20")) - if pageSize < 1 || pageSize > 100 { - pageSize = 20 + pageSize, _ := strconv.Atoi(c.DefaultQuery("page_size", strconv.Itoa(pagination.DefaultPageSize))) + if pageSize < 1 || pageSize > pagination.MaxPageSize { + pageSize = pagination.DefaultPageSize } devices, total, err := h.deviceService.GetUserDevices(c.Request.Context(), userID, page, pageSize) diff --git a/internal/api/handler/log_handler.go b/internal/api/handler/log_handler.go index 65c2092..d3f6637 100644 --- a/internal/api/handler/log_handler.go +++ b/internal/api/handler/log_handler.go @@ -7,6 +7,7 @@ import ( "github.com/gin-gonic/gin" + "github.com/user-management-system/internal/pagination" "github.com/user-management-system/internal/service" ) @@ -43,9 +44,9 @@ func (h *LogHandler) GetMyLoginLogs(c *gin.Context) { } page, _ := strconv.Atoi(c.DefaultQuery("page", "1")) - pageSize, _ := strconv.Atoi(c.DefaultQuery("page_size", "20")) - if pageSize < 1 || pageSize > 100 { - pageSize = 20 + pageSize, _ := strconv.Atoi(c.DefaultQuery("page_size", strconv.Itoa(pagination.DefaultPageSize))) + if pageSize < 1 || pageSize > pagination.MaxPageSize { + pageSize = pagination.DefaultPageSize } logs, total, err := h.loginLogService.GetMyLoginLogs(c.Request.Context(), userID, page, pageSize) @@ -85,9 +86,9 @@ func (h *LogHandler) GetMyOperationLogs(c *gin.Context) { } page, _ := strconv.Atoi(c.DefaultQuery("page", "1")) - pageSize, _ := strconv.Atoi(c.DefaultQuery("page_size", "20")) - if pageSize < 1 || pageSize > 100 { - pageSize = 20 + pageSize, _ := strconv.Atoi(c.DefaultQuery("page_size", strconv.Itoa(pagination.DefaultPageSize))) + if pageSize < 1 || pageSize > pagination.MaxPageSize { + pageSize = pagination.DefaultPageSize } logs, total, err := h.operationLogService.GetMyOperationLogs(c.Request.Context(), userID, page, pageSize) diff --git a/internal/api/handler/user_handler.go b/internal/api/handler/user_handler.go index 5a4a006..095bf16 100644 --- a/internal/api/handler/user_handler.go +++ b/internal/api/handler/user_handler.go @@ -10,6 +10,7 @@ import ( "github.com/user-management-system/internal/api/middleware" "github.com/user-management-system/internal/auth" "github.com/user-management-system/internal/domain" + "github.com/user-management-system/internal/pagination" "github.com/user-management-system/internal/service" ) @@ -115,7 +116,7 @@ func (h *UserHandler) ListUsers(c *gin.Context) { // Fallback to legacy offset-based pagination offset, _ := strconv.ParseInt(c.DefaultQuery("offset", "0"), 10, 64) - limit, _ := strconv.ParseInt(c.DefaultQuery("limit", "20"), 10, 64) + limit, _ := strconv.ParseInt(c.DefaultQuery("limit", strconv.Itoa(pagination.DefaultPageSize)), 10, 64) users, total, err := h.userService.List(c.Request.Context(), int(offset), int(limit)) if err != nil { diff --git a/internal/api/handler/webhook_handler.go b/internal/api/handler/webhook_handler.go index c7ec067..9c1c35a 100644 --- a/internal/api/handler/webhook_handler.go +++ b/internal/api/handler/webhook_handler.go @@ -6,6 +6,7 @@ import ( "github.com/gin-gonic/gin" + "github.com/user-management-system/internal/pagination" "github.com/user-management-system/internal/service" ) @@ -66,12 +67,12 @@ 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", "20")) + pageSize, _ := strconv.Atoi(c.DefaultQuery("page_size", strconv.Itoa(pagination.DefaultPageSize))) if page < 1 { page = 1 } - if pageSize < 1 || pageSize > 100 { - pageSize = 20 + if pageSize < 1 || pageSize > pagination.MaxPageSize { + pageSize = pagination.DefaultPageSize } offset := (page - 1) * pageSize @@ -178,9 +179,9 @@ func (h *WebhookHandler) GetWebhookDeliveries(c *gin.Context) { return } - limit, _ := strconv.Atoi(c.DefaultQuery("limit", "20")) - if limit < 1 || limit > 100 { - limit = 20 + limit, _ := strconv.Atoi(c.DefaultQuery("limit", strconv.Itoa(pagination.DefaultPageSize))) + if limit < 1 || limit > pagination.MaxPageSize { + limit = pagination.DefaultPageSize } deliveries, err := h.webhookService.GetWebhookDeliveries(c.Request.Context(), id, limit) diff --git a/internal/repository/user.go b/internal/repository/user.go index 402483c..e82308e 100644 --- a/internal/repository/user.go +++ b/internal/repository/user.go @@ -362,10 +362,10 @@ func (r *UserRepository) AdvancedSearch(ctx context.Context, filter *AdvancedFil // 分页 limit := filter.Limit if limit <= 0 { - limit = 20 + limit = pagination.DefaultPageSize } - if limit > 200 { - limit = 200 + if limit > pagination.MaxPageSize { + limit = pagination.MaxPageSize } query = query.Offset(filter.Offset).Limit(limit) diff --git a/internal/service/device.go b/internal/service/device.go index 8507d03..8ea04a2 100644 --- a/internal/service/device.go +++ b/internal/service/device.go @@ -223,7 +223,7 @@ func (s *DeviceService) GetUserDevices(ctx context.Context, userID int64, page, page = 1 } if pageSize <= 0 { - pageSize = 20 + pageSize = pagination.DefaultPageSize } offset := (page - 1) * pageSize @@ -275,7 +275,7 @@ func (s *DeviceService) GetActiveDevices(ctx context.Context, page, pageSize int page = 1 } if pageSize <= 0 { - pageSize = 20 + pageSize = pagination.DefaultPageSize } offset := (page - 1) * pageSize diff --git a/internal/service/login_log.go b/internal/service/login_log.go index ff542ff..5be6138 100644 --- a/internal/service/login_log.go +++ b/internal/service/login_log.go @@ -228,7 +228,7 @@ func (s *LoginLogService) GetMyLoginLogs(ctx context.Context, userID int64, page page = 1 } if pageSize <= 0 { - pageSize = 20 + pageSize = pagination.DefaultPageSize } offset := (page - 1) * pageSize return s.loginLogRepo.ListByUserID(ctx, userID, offset, pageSize) diff --git a/internal/service/operation_log.go b/internal/service/operation_log.go index 5f1b816..703a56f 100644 --- a/internal/service/operation_log.go +++ b/internal/service/operation_log.go @@ -143,7 +143,7 @@ func (s *OperationLogService) GetMyOperationLogs(ctx context.Context, userID int page = 1 } if pageSize <= 0 { - pageSize = 20 + pageSize = pagination.DefaultPageSize } offset := (page - 1) * pageSize return s.operationLogRepo.ListByUserID(ctx, userID, offset, pageSize)