diff --git a/backend/internal/handler/admin/usage_handler_request_type_test.go b/backend/internal/handler/admin/usage_handler_request_type_test.go index eaa6c323..882cbe93 100644 --- a/backend/internal/handler/admin/usage_handler_request_type_test.go +++ b/backend/internal/handler/admin/usage_handler_request_type_test.go @@ -17,7 +17,6 @@ type adminUsageRepoCapture struct { service.UsageLogRepository listParams pagination.PaginationParams listFilters usagestats.UsageLogFilters - statsParams pagination.PaginationParams statsFilters usagestats.UsageLogFilters } diff --git a/backend/internal/repository/api_key_repo.go b/backend/internal/repository/api_key_repo.go index 5c3d3d12..cbf43515 100644 --- a/backend/internal/repository/api_key_repo.go +++ b/backend/internal/repository/api_key_repo.go @@ -390,7 +390,7 @@ func apiKeyListOrder(params pagination.PaginationParams) []func(*entsql.Selector sortBy := strings.ToLower(strings.TrimSpace(params.SortBy)) sortOrder := params.NormalizedSortOrder(pagination.SortOrderDesc) - field := apikey.FieldID + var field string switch sortBy { case "name": field = apikey.FieldName @@ -402,8 +402,6 @@ func apiKeyListOrder(params pagination.PaginationParams) []func(*entsql.Selector field = apikey.FieldLastUsedAt case "created_at": field = apikey.FieldCreatedAt - case "id", "": - field = apikey.FieldID default: field = apikey.FieldID } diff --git a/backend/internal/repository/channel_repo.go b/backend/internal/repository/channel_repo.go index d13bc7db..49c2d8d9 100644 --- a/backend/internal/repository/channel_repo.go +++ b/backend/internal/repository/channel_repo.go @@ -250,7 +250,7 @@ func channelListOrderBy(params pagination.PaginationParams) string { sortBy := strings.ToLower(strings.TrimSpace(params.SortBy)) sortOrder := strings.ToUpper(params.NormalizedSortOrder(pagination.SortOrderAsc)) - column := "c.id" + var column string switch sortBy { case "": column = "c.id" diff --git a/backend/internal/repository/group_repo.go b/backend/internal/repository/group_repo.go index 350a139f..f1a228ff 100644 --- a/backend/internal/repository/group_repo.go +++ b/backend/internal/repository/group_repo.go @@ -319,7 +319,7 @@ func groupListOrder(params pagination.PaginationParams) []func(*entsql.Selector) sortBy := strings.ToLower(strings.TrimSpace(params.SortBy)) sortOrder := params.NormalizedSortOrder(pagination.SortOrderAsc) - field := group.FieldSortOrder + var field string tieField := group.FieldID defaultOrder := true switch sortBy { diff --git a/backend/internal/repository/group_repo_sort_integration_test.go b/backend/internal/repository/group_repo_sort_integration_test.go index 295ac6c2..85b2efcc 100644 --- a/backend/internal/repository/group_repo_sort_integration_test.go +++ b/backend/internal/repository/group_repo_sort_integration_test.go @@ -13,11 +13,17 @@ func (s *GroupRepoSuite) TestList_DefaultSortBySortOrderAsc() { s.Require().NoError(s.repo.Create(s.ctx, g1)) s.Require().NoError(s.repo.Create(s.ctx, g2)) - groups, _, err := s.repo.List(s.ctx, pagination.PaginationParams{Page: 1, PageSize: 10}) + groups, _, err := s.repo.List(s.ctx, pagination.PaginationParams{Page: 1, PageSize: 100}) s.Require().NoError(err) - s.Require().Len(groups, 2) - s.Require().Equal(g2.ID, groups[0].ID) - s.Require().Equal(g1.ID, groups[1].ID) + s.Require().GreaterOrEqual(len(groups), 2) + indexByID := make(map[int64]int, len(groups)) + for i, g := range groups { + indexByID[g.ID] = i + } + s.Require().Contains(indexByID, g1.ID) + s.Require().Contains(indexByID, g2.ID) + // g2 has SortOrder=10, g1 has SortOrder=20; ascending means g2 comes first + s.Require().Less(indexByID[g2.ID], indexByID[g1.ID]) } func (s *GroupRepoSuite) TestList_SortBySortOrderDesc() { diff --git a/backend/internal/repository/promo_code_repo.go b/backend/internal/repository/promo_code_repo.go index 4ad7dad3..d9c76bb3 100644 --- a/backend/internal/repository/promo_code_repo.go +++ b/backend/internal/repository/promo_code_repo.go @@ -161,7 +161,7 @@ func promoCodeListOrder(params pagination.PaginationParams) []func(*entsql.Selec sortBy := strings.ToLower(strings.TrimSpace(params.SortBy)) sortOrder := params.NormalizedSortOrder(pagination.SortOrderDesc) - field := promocode.FieldID + var field string switch sortBy { case "bonus_amount": field = promocode.FieldBonusAmount @@ -173,8 +173,6 @@ func promoCodeListOrder(params pagination.PaginationParams) []func(*entsql.Selec field = promocode.FieldCreatedAt case "code": field = promocode.FieldCode - case "id", "": - field = promocode.FieldID default: field = promocode.FieldID } diff --git a/backend/internal/repository/usage_log_repo.go b/backend/internal/repository/usage_log_repo.go index 21b88c96..3ba2191e 100644 --- a/backend/internal/repository/usage_log_repo.go +++ b/backend/internal/repository/usage_log_repo.go @@ -3812,14 +3812,12 @@ func usageLogOrderBy(params pagination.PaginationParams) string { sortBy := strings.ToLower(strings.TrimSpace(params.SortBy)) sortOrder := strings.ToUpper(params.NormalizedSortOrder(pagination.SortOrderDesc)) - column := "id" + var column string switch sortBy { case "model": column = "COALESCE(NULLIF(TRIM(requested_model), ''), model)" case "created_at": column = "created_at" - case "id", "": - column = "id" default: column = "id" } diff --git a/backend/internal/service/setting_service.go b/backend/internal/service/setting_service.go index 573dc41d..bdbddff1 100644 --- a/backend/internal/service/setting_service.go +++ b/backend/internal/service/setting_service.go @@ -1109,14 +1109,6 @@ func normalizeTablePreferences(defaultPageSize int, options []int) (int, []int) return defaultPageSize, normalizedOptions } -func containsInt(values []int, target int) bool { - for _, value := range values { - if value == target { - return true - } - } - return false -} // getStringOrDefault 获取字符串值或默认值 func (s *SettingService) getStringOrDefault(settings map[string]string, key, defaultValue string) string {