diff --git a/business/partner/purchase/jx/order.go b/business/partner/purchase/jx/order.go index 8707d1e94..a12c86bce 100644 --- a/business/partner/purchase/jx/order.go +++ b/business/partner/purchase/jx/order.go @@ -89,15 +89,12 @@ func (c *PurchaseHandler) AcceptOrRefuseOrder(order *model.GoodsOrder, isAcceptI } else { status = model.OrderStatusCanceled } - c.postFakeMsg(order.VendorOrderID, status) - jxAPI.NotifyOrderStatusChanged(order) + err = c.notifyOrderStatusChanged(order, status) return err } func (c *PurchaseHandler) PickupGoods(order *model.GoodsOrder, isSelfDelivery bool, userName string) (err error) { - order.Status = model.OrderStatusFinishedPickup - c.postFakeMsg(order.VendorOrderID, order.Status) - jxAPI.NotifyOrderStatusChanged(order) + err = c.notifyOrderStatusChanged(order, model.OrderStatusFinishedPickup) return err } @@ -122,15 +119,13 @@ func (c *PurchaseHandler) Swtich2SelfDelivered(order *model.GoodsOrder, userName } func (c *PurchaseHandler) SelfDeliverDelivering(order *model.GoodsOrder, userName string) (err error) { - c.postFakeMsg(order.VendorOrderID, model.OrderStatusDelivering) - jxAPI.NotifyOrderStatusChanged(order) + err = c.notifyOrderStatusChanged(order, model.OrderStatusDelivering) return err } // 京东送达接口都是一样的 func (c *PurchaseHandler) SelfDeliverDelivered(order *model.GoodsOrder, userName string) (err error) { - c.postFakeMsg(order.VendorOrderID, model.OrderStatusFinished) - jxAPI.NotifyOrderStatusChanged(order) + err = c.notifyOrderStatusChanged(order, model.OrderStatusFinished) return err } @@ -143,6 +138,7 @@ func (c *PurchaseHandler) AgreeOrRefuseCancel(ctx *jxcontext.Context, order *mod } func (c *PurchaseHandler) CancelOrder(ctx *jxcontext.Context, order *model.GoodsOrder, reason string) (err error) { + err = c.notifyOrderStatusChanged(order, model.OrderStatusCanceled) return err } @@ -165,8 +161,16 @@ func (c *PurchaseHandler) AddWaybillTip(ctx *jxcontext.Context, order *model.Goo func (c *PurchaseHandler) ConfirmSelfTake(ctx *jxcontext.Context, vendorOrderID, selfTakeCode string) (err error) { order, err := partner.CurOrderManager.LoadOrder(vendorOrderID, model.VendorIDJX) if err == nil { - c.postFakeMsg(order.VendorOrderID, model.OrderStatusFinished) - jxAPI.NotifyOrderStatusChanged(order) + err = c.notifyOrderStatusChanged(order, model.OrderStatusFinished) + } + return err +} + +func (c *PurchaseHandler) notifyOrderStatusChanged(order *model.GoodsOrder, status int) (err error) { + orderMsg := *order + orderMsg.Status = status + if err = jxAPI.NotifyOrderStatusChanged(&orderMsg); err == nil { + c.postFakeMsg(orderMsg.VendorOrderID, orderMsg.Status) } return err }