Files
cmroubao/backend-api/internal/usecase/procurement_ports.go
T

60 lines
1.2 KiB
Go

package usecase
import (
"context"
"time"
"cmroubao/backend-api/internal/domain"
)
type AutoProcurementReference struct {
Asset domain.Asset
ProductThumbRef string
SourceImageSHA256 string
SourceImageStorageKey string
}
type ProcurementRepository interface {
GetProcurementSourceItem(
context.Context,
string,
string,
) (domain.ProcurementSourceItem, error)
GetReadyFreightItemImage(
context.Context,
string,
string,
) (domain.FreightItemImage, error)
CreateProcurementRequest(
context.Context,
domain.ProcurementRequest,
*AutoProcurementReference,
) (domain.ProcurementRequest, bool, bool, error)
ListProcurementRequestsForOrder(
context.Context,
string,
string,
) ([]domain.ProcurementRequest, error)
GetProcurementRequest(
context.Context,
string,
string,
) (domain.ProcurementRequest, error)
BindProcurementReference(
context.Context,
string,
string,
string,
time.Time,
) (domain.ProcurementRequest, *string, error)
CreateProcurementTask(
context.Context,
domain.ProcurementRequest,
domain.PurchaseTask,
domain.TaskEvent,
domain.PurchaseTaskSource,
string,
string,
) (domain.PurchaseTask, bool, error)
}