feat(t237): import freight orders synchronously

This commit is contained in:
QiuSW
2026-07-29 12:11:56 +08:00
parent 4bce1e162c
commit 8d5b88f4a2
18 changed files with 653 additions and 97 deletions
@@ -334,6 +334,10 @@ func mapFreightPreflightError(err error) error {
public = ErrOCRServiceInvalid
case errors.Is(err, domain.ErrFreightSourceNotConfigured):
public = ErrERPNotConfigured
case errors.Is(err, domain.ErrFreightSourceSessionNeeded):
public = ErrERPSessionNeeded
case errors.Is(err, domain.ErrFreightSourceNotFound):
public = ErrERPFreightNotFound
case errors.Is(err, domain.ErrFreightSourceLoginRejected):
public = ErrERPLoginRejected
case errors.Is(err, domain.ErrFreightSourceProtocol):
@@ -388,6 +392,19 @@ func mapFreightCreateError(err error) error {
if mapped := mapFreightPreflightError(err); mapped != nil {
return mapped
}
var typed *usecase.Error
if errors.As(err, &typed) {
var public error
switch typed.Code {
case "FREIGHT_SYNC_BUSY":
public = ErrFreightSyncBusy
case "FREIGHT_SYNC_TIMEOUT":
public = ErrFreightSyncTimeout
}
if public != nil {
return &adapterError{public: public, cause: err}
}
}
return mapUsecaseError(err)
}