package biz import ( "context" "errors" "time" ) var ErrInvalidVersion = errors.New("版本信息格式错误") type Version struct { ID uint CreatedAt time.Time UpdatedAt time.Time Name string Code string Description string Data string } type VersionBundle struct { Name string Code string Description string ExportTime string Menus []*Menu APIs []*API Dictionaries []*Dictionary } type VersionRepo interface { CreateVersion(context.Context, *Version) error DeleteVersions(context.Context, []uint) error FindVersion(context.Context, uint) (*Version, error) ListVersions(context.Context, int, int, string, string, []*time.Time) ([]*Version, int64, error) BuildVersionBundle(context.Context, []uint, []uint, []uint) (*VersionBundle, error) ImportVersionBundle(context.Context, *VersionBundle) error } type VersionUsecase struct{ VersionRepo } func NewVersionUsecase(repo VersionRepo) *VersionUsecase { return &VersionUsecase{VersionRepo: repo} }