package repository import ( "gorm.io/gorm" "vision-tool/internal/model" ) // UserRepository 数据访问层:用户表 CRUD。 type UserRepository struct { db *gorm.DB } func NewUserRepository(db *gorm.DB) *UserRepository { return &UserRepository{db: db} } // Count 返回用户总数(用于判断管理员是否已初始化)。 func (r *UserRepository) Count() (int64, error) { var count int64 err := r.db.Model(&model.User{}).Count(&count).Error return count, err } func (r *UserRepository) Create(user *model.User) error { return r.db.Create(user).Error } func (r *UserRepository) FindByUsername(username string) (*model.User, error) { var user model.User err := r.db.Where("username = ?", username).First(&user).Error if err != nil { return nil, err } return &user, nil } func (r *UserRepository) FindByID(id uint) (*model.User, error) { var user model.User err := r.db.First(&user, id).Error if err != nil { return nil, err } return &user, nil }