refactor: replace standard log with zap logger and optimize code patterns

- Migrate all log.Printf/log.Println calls to structured zap logging
- Use cmp.Or for cleaner default value handling
- Replace manual loops with slices.ContainsFunc/IndexFunc
- Add batch query methods (IsLikedBatch, IsFavoritedBatch) to solve N+1 problem
- Update JSON tags from omitempty to omitzero for numeric fields
- Use errgroup-style wg.Go for worker goroutines
- Remove duplicate casbin/v2 dependency (keeping v3)
- Add plans/ to gitignore
This commit is contained in:
lafay
2026-03-17 00:47:17 +08:00
parent b028f7e1d3
commit 5d6c982c9c
38 changed files with 2256 additions and 290 deletions

View File

@@ -6,6 +6,7 @@ import (
"os"
"time"
"go.uber.org/zap"
"gorm.io/driver/postgres"
"gorm.io/driver/sqlite"
"gorm.io/gorm"
@@ -67,7 +68,9 @@ func NewDB(cfg *config.DatabaseConfig) (*gorm.DB, error) {
return nil, fmt.Errorf("failed to auto migrate: %w", err)
}
log.Printf("Database connected (%s) and migrated successfully", cfg.Type)
zap.L().Info("Database connected and migrated successfully",
zap.String("type", cfg.Type),
)
return db, nil
}
@@ -220,7 +223,9 @@ func seedRoles(db *gorm.DB) error {
return err
}
log.Printf("Seeded %d roles successfully", len(roles))
zap.L().Info("Seeded roles successfully",
zap.Int("count", len(roles)),
)
return nil
}
@@ -276,7 +281,9 @@ func seedPermissions(db *gorm.DB) error {
return err
}
log.Printf("Seeded %d permissions successfully", len(permissions))
zap.L().Info("Seeded permissions successfully",
zap.Int("count", len(permissions)),
)
return nil
}