diff --git a/business/partner/purchase/tao_vegetable/order.go b/business/partner/purchase/tao_vegetable/order.go index b94b9dc82..9e8994444 100644 --- a/business/partner/purchase/tao_vegetable/order.go +++ b/business/partner/purchase/tao_vegetable/order.go @@ -498,24 +498,25 @@ func (c *PurchaseHandler) AcceptOrRefuseOrder(order *model.GoodsOrder, isAcceptI // PickupGoods 拣货 func (c *PurchaseHandler) PickupGoods(order *model.GoodsOrder, isSelfDelivery bool, userName string) (err error) { - var err2 error if isSelfDelivery { param, err := orderStatusChangeNotice(order, tao_vegetable.OrderStatusPickedUp) if err != nil { return err } api := getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "") - err = api.DeliveryFinish(param) - if err != nil && strings.Contains(err.Error(), "并发操作,执行失败,请重试") { - time.Sleep(200 * time.Millisecond) - err2 = api.DeliveryFinish(param) - } else if err != nil { - return err + for i := 0; i < 3; i++ { + err2 := api.DeliveryFinish(param) + if err2 != nil { + time.Sleep(200 * time.Millisecond) + err = err2 + continue + } + if err2 == nil { + c.postFakeMsg(order.VendorOrderID, tao_vegetable.OrderStatusPickedUp, tao_vegetable.OrderStatusPickedUp) + break + } } - if err == nil && err2 == nil { - c.postFakeMsg(order.VendorOrderID, tao_vegetable.OrderStatusPickedUp, tao_vegetable.OrderStatusPickedUp) - } } return err }