diff --git a/business/jxcallback/scheduler/defsch/defsch.go b/business/jxcallback/scheduler/defsch/defsch.go index 3b9d4a755..645b5996e 100644 --- a/business/jxcallback/scheduler/defsch/defsch.go +++ b/business/jxcallback/scheduler/defsch/defsch.go @@ -389,6 +389,8 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo } else { s.swtich2SelfDeliverWithRetry(savedOrderInfo, bill, 2, 10*time.Second) } + } else if s.IsSpecialOrderPlatformWaybill(bill) { + s.SelfDeliverDelivering(savedOrderInfo.order, "") } } else if !s.isBillCandidate(order, bill) && bill.WaybillVendorID != order.VendorID { // 发生这种情况的原因就是两个接单事件几乎同时到达(来不及取消),也算正常 @@ -466,6 +468,8 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo } else { s.Swtich2SelfDelivered(order, "") } + } else if s.IsSpecialOrderPlatformWaybill(bill) { + s.SelfDeliverDelievered(savedOrderInfo.order, "") } if !s.isBillCandidate(order, bill) { // 一般只会消息乱序才会到这里,即新订单消息在运单接单消息后到达 @@ -865,5 +869,10 @@ func OnDefSchConfChanged(key, value string) { // 判断是否是购买平台自有物流 // 对于京东,饿百来说,就是其自有的物流,对于微商城来说,是达达 func (s *DefScheduler) IsOrderPlatformWaybill(bill *model.Waybill) bool { - return bill.OrderVendorID == bill.WaybillVendorID || (bill.OrderVendorID == model.VendorIDWSC && bill.WaybillVendorID == model.VendorIDDada) + return bill.OrderVendorID == bill.WaybillVendorID || s.IsSpecialOrderPlatformWaybill(bill) +} + +// 是否是特殊物流 +func (s *DefScheduler) IsSpecialOrderPlatformWaybill(bill *model.Waybill) bool { + return (bill.OrderVendorID == model.VendorIDWSC && bill.WaybillVendorID == model.VendorIDDada) } diff --git a/business/partner/purchase/weimob/wsc/order.go b/business/partner/purchase/weimob/wsc/order.go index 3f0f15d7e..99e01ec80 100644 --- a/business/partner/purchase/weimob/wsc/order.go +++ b/business/partner/purchase/weimob/wsc/order.go @@ -189,25 +189,31 @@ func (p *PurchaseHandler) PickupGoods(order *model.GoodsOrder, userName string) // 将订单从购物平台配送转为自送 func (p *PurchaseHandler) Swtich2SelfDeliver(order *model.GoodsOrder, userName string) (err error) { - // p.postFakeMsg(utils.Str2Int64(order.VendorOrderID), weimobapi.OrderStatusDelivering) + if globals.EnableStoreWrite && globals.EnableWscStoreWrite { + err = api.WeimobAPI.DeliveryOrder(&weimobapi.DeliveryOrder{ + OrderNo: utils.Str2Int64(order.VendorOrderID), + }) + } return err } // 将订单从购物平台配送转为自送后又送达 func (p *PurchaseHandler) Swtich2SelfDelivered(order *model.GoodsOrder, userName string) (err error) { - // p.postFakeMsg(utils.Str2Int64(order.VendorOrderID), weimobapi.OrderStatusFinished) return err } // 完全自送的门店表示开始配送 func (p *PurchaseHandler) SelfDeliverDelivering(order *model.GoodsOrder, userName string) (err error) { - // p.postFakeMsg(utils.Str2Int64(order.VendorOrderID), weimobapi.OrderStatusDelivering) + if globals.EnableStoreWrite && globals.EnableWscStoreWrite { + err = api.WeimobAPI.DeliveryOrder(&weimobapi.DeliveryOrder{ + OrderNo: utils.Str2Int64(order.VendorOrderID), + }) + } return err } // 完全自送的门店表示配送完成 func (p *PurchaseHandler) SelfDeliverDelievered(order *model.GoodsOrder, userName string) (err error) { - // p.postFakeMsg(utils.Str2Int64(order.VendorOrderID), weimobapi.OrderStatusFinished) return err }