refactor: cleanup unused code and simplify internal packages
This commit performs a significant cleanup of the codebase by removing unused functions, methods, and entire files across various internal modules. This reduces technical debt and simplifies the project structure. Key changes include: - **cache**: Removed unused cache key generators and metrics snapshots. - **dto**: Removed redundant converter functions and segment creation helpers. - **middleware**: Deleted the unused `logger.go` middleware and simplified `ratelimit.go` and `casbin.go`. - **model**: Removed unused ID helpers, database closing functions, and batch decryption logic. - **pkg**: Cleaned up unused utility functions in `circuitbreaker`, `crypto`, `cursor`, `hook`, and `utils`. - **service**: Deleted `account_cleanup_service.go` and removed unused helper functions in `log_cleanup_service.go` and `sensitive_service.go`. - **repository**: Removed unused private loading methods in `comment_repo.go`.
This commit is contained in:
@@ -64,19 +64,6 @@ func (b *CursorBuilder) WithPageSize(size int) *CursorBuilder {
|
||||
return b
|
||||
}
|
||||
|
||||
// WithDirection 设置分页方向
|
||||
func (b *CursorBuilder) WithDirection(direction Direction) *CursorBuilder {
|
||||
if b.err != nil {
|
||||
return b
|
||||
}
|
||||
|
||||
if direction == "" {
|
||||
b.direction = Forward
|
||||
} else {
|
||||
b.direction = direction
|
||||
}
|
||||
return b
|
||||
}
|
||||
|
||||
// Error 返回构建过程中的错误
|
||||
func (b *CursorBuilder) Error() error {
|
||||
@@ -166,79 +153,11 @@ func HasMore(itemsLen int, pageSize int) bool {
|
||||
return itemsLen > pageSize
|
||||
}
|
||||
|
||||
// TrimItems 裁剪结果到实际页面大小
|
||||
func TrimItems(itemsLen int, pageSize int) int {
|
||||
if itemsLen > pageSize {
|
||||
return pageSize
|
||||
}
|
||||
return itemsLen
|
||||
}
|
||||
|
||||
// BuildResponse 从结果构建响应
|
||||
// items: 结果切片(需要是切片类型)
|
||||
// getSortValue: 获取排序字段值的函数
|
||||
// getID: 获取ID的函数
|
||||
func BuildResponse[T any](items []T, order SortOrder, pageSize int, getSortValue func(T) string, getID func(T) string) *PageResponse {
|
||||
hasMore := len(items) > pageSize
|
||||
|
||||
// 裁剪到实际页面大小
|
||||
if hasMore {
|
||||
items = items[:pageSize]
|
||||
}
|
||||
|
||||
var nextCursor, prevCursor string
|
||||
|
||||
// 生成下一页游标
|
||||
if hasMore && len(items) > 0 {
|
||||
lastItem := items[len(items)-1]
|
||||
nextCursor = NewCursor(getSortValue(lastItem), getID(lastItem), order).Encode()
|
||||
}
|
||||
|
||||
return &PageResponse{
|
||||
Items: items,
|
||||
NextCursor: nextCursor,
|
||||
PrevCursor: prevCursor,
|
||||
HasMore: hasMore,
|
||||
}
|
||||
}
|
||||
|
||||
// BuildResponseWithPrev 从结果构建响应(包含上一页游标)
|
||||
func BuildResponseWithPrev[T any](items []T, order SortOrder, pageSize int, getSortValue func(T) string, getID func(T) string) *PageResponse {
|
||||
hasMore := len(items) > pageSize
|
||||
|
||||
// 裁剪到实际页面大小
|
||||
if hasMore {
|
||||
items = items[:pageSize]
|
||||
}
|
||||
|
||||
var nextCursor, prevCursor string
|
||||
|
||||
// 生成下一页游标
|
||||
if hasMore && len(items) > 0 {
|
||||
lastItem := items[len(items)-1]
|
||||
nextCursor = NewCursor(getSortValue(lastItem), getID(lastItem), order).Encode()
|
||||
}
|
||||
|
||||
// 生成上一页游标
|
||||
if len(items) > 0 {
|
||||
firstItem := items[0]
|
||||
prevCursor = NewCursor(getSortValue(firstItem), getID(firstItem), order).Encode()
|
||||
}
|
||||
|
||||
return &PageResponse{
|
||||
Items: items,
|
||||
NextCursor: nextCursor,
|
||||
PrevCursor: prevCursor,
|
||||
HasMore: hasMore,
|
||||
}
|
||||
}
|
||||
|
||||
// FormatTime 格式化时间为字符串(用于游标)
|
||||
func FormatTime(t time.Time) string {
|
||||
return t.Format(time.RFC3339Nano)
|
||||
}
|
||||
|
||||
// ParseTime 解析时间字符串(从游标)
|
||||
func ParseTime(s string) (time.Time, error) {
|
||||
return time.Parse(time.RFC3339Nano, s)
|
||||
}
|
||||
|
||||
@@ -99,15 +99,6 @@ type PageResponse struct {
|
||||
HasMore bool `json:"has_more"`
|
||||
}
|
||||
|
||||
// NewPageResponse 创建分页响应
|
||||
func NewPageResponse(items any, nextCursor, prevCursor string, hasMore bool) *PageResponse {
|
||||
return &PageResponse{
|
||||
Items: items,
|
||||
NextCursor: nextCursor,
|
||||
PrevCursor: prevCursor,
|
||||
HasMore: hasMore,
|
||||
}
|
||||
}
|
||||
|
||||
// CursorPageResult 游标分页结果(泛型版本,供内部使用)
|
||||
type CursorPageResult[T any] struct {
|
||||
|
||||
Reference in New Issue
Block a user