package budget import ( "context" db "management/internal/db/sqlc" "management/internal/pkg/redis" ) type BudgetBiz interface { Create(ctx context.Context, arg *db.CreateBudgetParams) (*db.Budget, error) Update(ctx context.Context, arg *db.UpdateBudgetParams) (*db.Budget, error) List(ctx context.Context, arg *db.ListBudgetConditionParam) ([]*db.BudgetView, int64, error) Get(ctx context.Context, id int64) (*db.Budget, error) } type budgetBiz struct { store db.Store redis redis.IRedis } var _ BudgetBiz = (*budgetBiz)(nil) func New(store db.Store, redis redis.IRedis) *budgetBiz { return &budgetBiz{ store: store, redis: redis, } } func (b *budgetBiz) Create(ctx context.Context, arg *db.CreateBudgetParams) (*db.Budget, error) { return b.store.CreateBudget(ctx, arg) } func (b *budgetBiz) Update(ctx context.Context, arg *db.UpdateBudgetParams) (*db.Budget, error) { return b.store.UpdateBudget(ctx, arg) } func (b *budgetBiz) List(ctx context.Context, arg *db.ListBudgetConditionParam) ([]*db.BudgetView, int64, error) { return b.store.ListBudgetCondition(ctx, arg) } func (b *budgetBiz) Get(ctx context.Context, id int64) (*db.Budget, error) { return b.store.GetBudget(ctx, id) }