package usecase import ( "code.30cm.net/digimon/app-cloudep-product-service/pkg/domain/entity" "code.30cm.net/digimon/app-cloudep-product-service/pkg/domain/repository" "code.30cm.net/digimon/app-cloudep-product-service/pkg/domain/usecase" "context" ) type ProductUseCaseParam struct { ProductRepo repository.ProductRepository TagRepo repository.TagRepo TagBinding repository.TagBindingRepo ProductStatisticsRepo repository.ProductStatisticsRepo } type ProductUseCase struct { ProductUseCaseParam } func MustProductUseCase(param ProductUseCaseParam) usecase.ProductUseCase { return &ProductUseCase{ param, } } func (use *ProductUseCase) Create(ctx context.Context, product *usecase.Product) error { //use.ProductRepo.Transaction() insert := &entity.Product{ UID: *product.UID, Title: *product.Title, ShortTitle: product.ShortTitle, } err := use.ProductRepo.Insert(ctx, insert) if err != nil { return err } //TODO implement me panic("implement me") } func (use *ProductUseCase) Update(ctx context.Context, id string, product *usecase.Product) error { //TODO implement me panic("implement me") } func (use *ProductUseCase) Delete(ctx context.Context, id string) error { //TODO implement me panic("implement me") } func (use *ProductUseCase) Get(ctx context.Context, id string) (*usecase.ProductResp, error) { //TODO implement me panic("implement me") } func (use *ProductUseCase) List(ctx context.Context, data usecase.ProductQueryParams) ([]*usecase.ProductResp, int64, error) { //TODO implement me panic("implement me") } func (use *ProductUseCase) IncOrders(ctx context.Context, productID string, count int64) error { //TODO implement me panic("implement me") } func (use *ProductUseCase) DecOrders(ctx context.Context, productID string, count int64) error { //TODO implement me panic("implement me") } func (use *ProductUseCase) UpdateAverageRating(ctx context.Context, productID string, averageRating float64) error { //TODO implement me panic("implement me") } func (use *ProductUseCase) IncFansCount(ctx context.Context, productID string, fansCount uint64) error { //TODO implement me panic("implement me") } func (use *ProductUseCase) DecFansCount(ctx context.Context, productID string, fansCount uint64) error { //TODO implement me panic("implement me") } func (use *ProductUseCase) BindTag(ctx context.Context, binding usecase.TagsBindingTable) error { //TODO implement me panic("implement me") } func (use *ProductUseCase) UnbindTag(ctx context.Context, binding usecase.TagsBindingTable) error { //TODO implement me panic("implement me") } func (use *ProductUseCase) GetBindingsByReference(ctx context.Context, referenceID string) ([]usecase.TagsBindingTableResp, error) { //TODO implement me panic("implement me") } func (use *ProductUseCase) ListTagBinding(ctx context.Context, params usecase.TagBindingQueryParams) ([]usecase.TagsBindingTableResp, int64, error) { //TODO implement me panic("implement me") }