diff --git a/rpc/error.go b/rpc/error.go index 663865e..4592d5d 100644 --- a/rpc/error.go +++ b/rpc/error.go @@ -23,6 +23,7 @@ const ( ErrorAfterServiceError Error = 11017 // 售后单错误 ErrorAfterServiceCloseError Error = 11018 // 售后已关闭 ErrorAfterServiceFinishError Error = 11019 // 售后已完成 + ErrorOrderCancelError Error = 11020 // 订单取消失败 ) var ErrorCodes = map[Error]string{ @@ -45,6 +46,7 @@ var ErrorCodes = map[Error]string{ ErrorAfterServiceError: "售后单错误", ErrorAfterServiceCloseError: "售后已关闭", ErrorAfterServiceFinishError: "售后已完成", + ErrorOrderCancelError: "订单取消失败", } func (e Error) Error() string { diff --git a/supply/channel/order.go b/supply/channel/order.go index 98aa411..e5de402 100644 --- a/supply/channel/order.go +++ b/supply/channel/order.go @@ -121,14 +121,19 @@ func (o *order) Close(ctx context.Context, channelId string, orderSn string) (er return xClient.Call(context.WithValue(ctx, share.ReqMetaDataKey, map[string]string{"channelId": channelId}), "Close", orderSn, &reply) } +type ArgsOrderChannel struct { + OrderSn string // 订单编号 + Reason string // 取消原因 +} + // Cancel @Title 订单取消 -func (o *order) Cancel(ctx context.Context, channelId string, orderSn string) (err error) { +func (o *order) Cancel(ctx context.Context, channelId string, args ArgsOrderChannel) (err error) { reply := 0 xClient, err := client.GetClient(o) if err != nil { return } - return xClient.Call(context.WithValue(ctx, share.ReqMetaDataKey, map[string]string{"channelId": channelId}), "Cancel", orderSn, &reply) + return xClient.Call(context.WithValue(ctx, share.ReqMetaDataKey, map[string]string{"channelId": channelId}), "Cancel", args, &reply) } type OrderListsSearch struct { diff --git a/supply/interface/order.go b/supply/interface/order.go index bd8a289..554dde8 100644 --- a/supply/interface/order.go +++ b/supply/interface/order.go @@ -15,12 +15,16 @@ type OrderInterface interface { // Close @Title 关闭订单 Close(ctx context.Context, orderSn string, reply *int) error // Cancel @Title 取消订单 - Cancel(ctx context.Context, orderSn string, reply *int) error + Cancel(ctx context.Context, args ArgsOrderCancel, reply *int) error // Trajectory @Title 物流轨迹 Trajectory(ctx context.Context, orderSn string, reply *[]ReplyTrajectory) error // Finish @Title 确认收货 Finish(ctx context.Context, orderSn string, reply *int) error } +type ArgsOrderCancel struct { + OrderSn string // 订单编号 + Reason string // 取消原因 +} type ArgsOrderFreightFee struct { Skus []OrderFreightFeeSkuItem // 商品信息 Address string // 地址