diff --git a/internal/api/mobile/order/cancel.go b/internal/api/mobile/order/cancel.go index 983f91a..5302c82 100755 --- a/internal/api/mobile/order/cancel.go +++ b/internal/api/mobile/order/cancel.go @@ -10,6 +10,7 @@ import ( "recook/internal/model/user" "recook/internal/v2/lib/jcook" "recook/internal/v2/lib/shama" + "recook/internal/v2/lib/supply" "recook/tools" ) @@ -134,6 +135,11 @@ func CancelOrExpireOrder(orderInfo *order.Information, cancel bool) error { return err } } + switch orderInfo.ThirdPartyType { + case 5: // 供应链订单 + // 上游订单取消 + supply.Api.Order.Close(orderInfo.ThirdPartyOrderSn) + } } tx.Commit() return nil diff --git a/internal/v2/lib/supply/order.go b/internal/v2/lib/supply/order.go index 48379e3..ba54d00 100644 --- a/internal/v2/lib/supply/order.go +++ b/internal/v2/lib/supply/order.go @@ -5,6 +5,8 @@ import "github.com/shopspring/decimal" const ( orderFreightFee = "/order/freight_fee" // 获取运费 orderSubmit = "/order/submit" // 提交订单 + orderLadingBill = "/order/lading_bill" // 提单 + orderClose = "/order/close" // 关闭订单 ReplyOrderFreightFeeErrCodeNone = 0 // 无错误 ReplyOrderFreightFeeErrCodeErr = 1 // 有错误 @@ -14,9 +16,9 @@ type order struct { } type OrderFreightFeeItem struct { - SkuId uint `binding:"required" label:"skuId"` - Quantity uint `binding:"required" label:"数量"` - Price decimal.Decimal `binding:"required" label:"价格"` + SkuId uint `json:"skuId"` + Quantity uint `json:"quantity"` + Price decimal.Decimal `json:"price"` } type ReplyOrderFreightFee struct { SkuIds []uint `json:"skuIds"` @@ -64,3 +66,19 @@ func (o *order) Submit(data OrderSubmit) (result ReplyOrderSubmit, err error) { err = exec(orderSubmit, data, &result) return } + +// LadingBill @Title 提单 +func (o *order) LadingBill(orderSn string) (result ReplyOrderSubmit, err error) { + err = exec(orderLadingBill, map[string]interface{}{ + "orderSn": orderSn, + }, &result) + return +} + +// Close @Title 关闭订单 +func (o *order) Close(orderSn string) (result ReplyOrderSubmit, err error) { + err = exec(orderClose, map[string]interface{}{ + "orderSn": orderSn, + }, &result) + return +}