diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index e02e97ffa..7bad91b80 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -379,9 +379,10 @@ func (c *OrderManager) addOrderStatus(orderStatus *model.OrderStatus, db *dao.Da if order.LockStatus != model.OrderStatusUnknown { globals.SugarLogger.Warnf("addOrderStatus refOrderID:%s, orderID:%s, order.LockStatus:%d, status.LockStatus:%d", orderStatus.RefVendorOrderID, orderStatus.VendorOrderID, order.LockStatus, orderStatus.Status) } + order.Flag &= ^int8(model.OrderFlagMaskUserApplyCancel) order.LockStatus = orderStatus.Status order.LockStatusTime = orderStatus.StatusTime - updateFields = append(updateFields, "LockStatus", "LockStatusTime") + updateFields = append(updateFields, "LockStatus", "LockStatusTime", "Flag") } } if model.IsOrderFinalStatus(orderStatus.Status) { diff --git a/business/partner/purchase/ebai/order.go b/business/partner/purchase/ebai/order.go index b6f2c7832..cb6f15ccb 100644 --- a/business/partner/purchase/ebai/order.go +++ b/business/partner/purchase/ebai/order.go @@ -401,15 +401,21 @@ func (c *PurchaseHandler) CancelOrder(ctx *jxcontext.Context, order *model.Goods } func (c *PurchaseHandler) AdjustOrder(ctx *jxcontext.Context, order *model.GoodsOrder, removedSkuList []*model.OrderSku, reason string) (err error) { - var skuList []*ebaiapi.RefundSku - for _, sku := range removedSkuList { - skuList = append(skuList, &ebaiapi.RefundSku{ - CustomeSkuID: utils.Int2Str(jxutils.GetSkuIDFromOrderSku(sku)), - Number: utils.Int2Str(sku.Count), - }) + // 饿百必须要确认订单后才能调整单 + if order.Status < model.OrderStatusFinished { + err = c.PickupGoods(order, false, ctx.GetUserName()) } - if globals.EnableEbaiStoreWrite { - err = api.EbaiAPI.OrderPartRefund(order.VendorOrderID, skuList) + if err == nil { + var skuList []*ebaiapi.RefundSku + for _, sku := range removedSkuList { + skuList = append(skuList, &ebaiapi.RefundSku{ + CustomeSkuID: utils.Int2Str(jxutils.GetSkuIDFromOrderSku(sku)), + Number: utils.Int2Str(sku.Count), + }) + } + if globals.EnableEbaiStoreWrite { + err = api.EbaiAPI.OrderPartRefund(order.VendorOrderID, skuList) + } } return err }