From e4ef9e823a6ae97d39e5ad581c009f62de0a48c2 Mon Sep 17 00:00:00 2001 From: renzhiyuan <465386466@qq.com> Date: Fri, 28 Aug 2026 09:34:23 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=96=87=E4=BB=B6:=20sdk=5FL?= =?UTF-8?q?inkedMall/errors.go?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sdk_LinkedMall/errors.go | 45 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 sdk_LinkedMall/errors.go diff --git a/sdk_LinkedMall/errors.go b/sdk_LinkedMall/errors.go new file mode 100644 index 0000000..8ad50f2 --- /dev/null +++ b/sdk_LinkedMall/errors.go @@ -0,0 +1,45 @@ +package sdk_LinkedMall + +import "fmt" + +// APIError 表示API返回的业务错误 +type APIError struct { + Code string `json:"Code"` // 错误码 + Message string `json:"Message"` // 错误信息 + SubCode string `json:"SubCode"` // 子错误码 + SubMessage string `json:"SubMessage"` // 子错误信息 + RequestId string `json:"RequestId"` // 请求ID +} + +func (e *APIError) Error() string { + return fmt.Sprintf("linkedmall API error: code=%s, message=%s, subCode=%s, subMessage=%s, requestId=%s", + e.Code, e.Message, e.SubCode, e.SubMessage, e.RequestId) +} + +// IsSuccess 判断是否业务成功 +func (e *APIError) IsSuccess() bool { + return e.Code == "SUCCESS" +} + +// 预定义错误码常量 +const ( + ErrCodeShopTypeInvalid = "ShopTypeInvalid" + ErrCodeSkuPriceNotLatest = "SkuPriceUnique" + ErrCodePurchaseOrderNotFound = "PurchaseOrderNotFound" + ErrCodeRefundNumberExceed = "RefundNumberMustLessThanOrder" + ErrCodeRefundAmountExceed = "RefundAmountMustLessThanOrder" + ErrCodeNoPrivilege = "HasNoPrivilege" + ErrCodeOrderNotFound = "OrderNotFound" + ErrCodeShopNotFound = "ShopNotFind" + ErrCodeSavePurchaseOrderError = "SavePurchaseOrderError" + ErrCodeOuterPurchaseOrderIdExist = "OuterPurchaseOrderIdExist" +) + +// ErrResp 用于解析错误响应 +type ErrResp struct { + Code string `json:"Code"` + Message string `json:"Message"` + SubCode string `json:"SubCode"` + SubMessage string `json:"SubMessage"` + RequestId string `json:"RequestId"` +} \ No newline at end of file