From c98745ce59dcaab5b2719bba3e62b7ae7fe85860 Mon Sep 17 00:00:00 2001 From: gazebo Date: Thu, 5 Sep 2019 16:09:00 +0800 Subject: [PATCH] =?UTF-8?q?-=20=E9=A5=BF=E7=99=BE=E8=BD=AC=E8=87=AA?= =?UTF-8?q?=E9=80=81=E6=97=B6=EF=BC=8C=E5=A6=82=E6=9E=9C=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E6=98=AF=E5=B7=B2=E7=BB=8F=E6=98=AF=E8=87=AA=E9=80=81=E7=8A=B6?= =?UTF-8?q?=E6=80=81=EF=BC=8C=E5=88=99=E8=BF=94=E5=9B=9E=E6=88=90=E5=8A=9F?= =?UTF-8?q?=20-=20CreateWaybillOnProviders=E4=B8=AD=E9=83=A8=E5=88=86?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5=E6=97=B6=EF=BC=8C=E8=BE=93=E5=87=BA=E5=87=BA?= =?UTF-8?q?=E9=94=99=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jxcallback/scheduler/basesch/basesch_ext.go | 14 +++++++++----- business/partner/purchase/ebai/order.go | 10 +++++++++- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/business/jxcallback/scheduler/basesch/basesch_ext.go b/business/jxcallback/scheduler/basesch/basesch_ext.go index 3b1b7e2ea..5a804f83e 100644 --- a/business/jxcallback/scheduler/basesch/basesch_ext.go +++ b/business/jxcallback/scheduler/basesch/basesch_ext.go @@ -3,7 +3,7 @@ package basesch import ( "fmt" - "git.rosy.net.cn/baseapi/utils" + "git.rosy.net.cn/baseapi/utils/errlist" "git.rosy.net.cn/jx-callback/business/jxcallback/scheduler" "git.rosy.net.cn/jx-callback/business/jxutils" "git.rosy.net.cn/jx-callback/business/jxutils/jxcontext" @@ -23,7 +23,7 @@ func (c *BaseScheduler) CreateWaybillOnProviders(ctx *jxcontext.Context, order * } courierVendorIDMap := jxutils.IntList2Map(courierVendorIDs) excludeCourierVendorIDMap := jxutils.IntList2Map(excludeCourierVendorIDs) - var errList []string + errList := errlist.New() for _, storeCourier := range storeCourierList { if (courierVendorIDs == nil || courierVendorIDMap[storeCourier.VendorID] == 1) && (excludeCourierVendorIDs == nil || excludeCourierVendorIDMap[storeCourier.VendorID] == 0) { @@ -39,18 +39,22 @@ func (c *BaseScheduler) CreateWaybillOnProviders(ctx *jxcontext.Context, order * } } else { globals.SugarLogger.Debugf("CreateWaybillOnProviders orderID:%s userName:%s vendorID:%d failed with error:%v", order.VendorOrderID, userName, courierVendorID, err) - errList = append(errList, fmt.Sprintf("平台:%s,%s", jxutils.GetVendorName(courierVendorID), err.Error())) + errList.AddErr(fmt.Errorf("平台:%s,%s", jxutils.GetVendorName(courierVendorID), err.Error())) } } } } } if len(bills) > 0 { + err = errList.GetErrListAsOne() + if err != nil { + partner.CurOrderManager.OnOrderMsg(order, "创建三方运单部分失败", err.Error()) + } err = nil - } else if len(errList) == 0 { + } else if errList.GetErrListAsOne() == nil { err = fmt.Errorf("orderID:%s没有绑定有效的三方配送门店或没有剩下可用的三方配送", order.VendorOrderID) } else { - err = fmt.Errorf("orderID:%s所有运单失败:\n%s", order.VendorOrderID, utils.Format4Output(errList, false)) + err = fmt.Errorf("orderID:%s所有运单失败:\n%s", order.VendorOrderID, errList.GetErrListAsOne().Error()) } globals.SugarLogger.Infof("CreateWaybillOnProviders orderID:%s userName:%s error:%v", order.VendorOrderID, userName, err) return bills, err diff --git a/business/partner/purchase/ebai/order.go b/business/partner/purchase/ebai/order.go index 06fa9f557..a20cf98ed 100644 --- a/business/partner/purchase/ebai/order.go +++ b/business/partner/purchase/ebai/order.go @@ -316,7 +316,15 @@ func (p *PurchaseHandler) ConfirmReceiveGoods(ctx *jxcontext.Context, order *mod func (p *PurchaseHandler) Swtich2SelfDeliver(order *model.GoodsOrder, userName string) (err error) { globals.SugarLogger.Debugf("ebai Swtich2SelfDeliver orderID:%s", order.VendorOrderID) if globals.EnableEbaiStoreWrite { - err = api.EbaiAPI.OrderSwitchselfdelivery(order.VendorOrderID) + if err = api.EbaiAPI.OrderSwitchselfdelivery(order.VendorOrderID); err != nil { + if utils.IsErrMatch(err, "301251", nil) { + if deliveryStatus, err2 := api.EbaiAPI.OrderDeliveryGet(order.VendorOrderID); err2 == nil { + if utils.Interface2String(deliveryStatus["status"]) == ebaiapi.WaybillStatusSelfDelivery { + err = nil + } + } + } + } } if err == nil { // 饿百不会发送配送中,模拟发送