2025-10-27 15:24:08 +08:00

31 lines
1.0 KiB
Go

package system
import (
"context"
"time"
"management/internal/erpserver/model/dto"
)
type DepartmentRepository interface {
Initialize(ctx context.Context) (*Department, error)
Create(ctx context.Context, obj *Department) (*Department, error)
Update(ctx context.Context, obj *Department) error
Get(ctx context.Context, id int32) (*Department, error)
All(ctx context.Context) ([]*Department, error)
Count(ctx context.Context, filter dto.SearchDto) (int64, error)
List(ctx context.Context, filter dto.SearchDto) ([]*Department, error)
RebuildParentPath(ctx context.Context) error
}
type Department struct {
ID int32 `db:"id" json:"id"`
Name string `db:"name" json:"name"`
ParentID int32 `db:"parent_id" json:"parent_id"`
ParentPath string `db:"parent_path" json:"parent_path"`
Status int32 `db:"status" json:"status"`
Sort int32 `db:"sort" json:"sort"`
CreatedAt time.Time `db:"created_at" json:"created_at"`
UpdatedAt time.Time `db:"updated_at" json:"updated_at"`
}