60 lines
1.2 KiB
Go
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)
|
|
}
|