- DeliveryOrder in wsc
This commit is contained in:
@@ -389,6 +389,8 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo
|
|||||||
} else {
|
} else {
|
||||||
s.swtich2SelfDeliverWithRetry(savedOrderInfo, bill, 2, 10*time.Second)
|
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 {
|
} else if !s.isBillCandidate(order, bill) && bill.WaybillVendorID != order.VendorID {
|
||||||
// 发生这种情况的原因就是两个接单事件几乎同时到达(来不及取消),也算正常
|
// 发生这种情况的原因就是两个接单事件几乎同时到达(来不及取消),也算正常
|
||||||
@@ -466,6 +468,8 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo
|
|||||||
} else {
|
} else {
|
||||||
s.Swtich2SelfDelivered(order, "")
|
s.Swtich2SelfDelivered(order, "")
|
||||||
}
|
}
|
||||||
|
} else if s.IsSpecialOrderPlatformWaybill(bill) {
|
||||||
|
s.SelfDeliverDelievered(savedOrderInfo.order, "")
|
||||||
}
|
}
|
||||||
if !s.isBillCandidate(order, bill) {
|
if !s.isBillCandidate(order, bill) {
|
||||||
// 一般只会消息乱序才会到这里,即新订单消息在运单接单消息后到达
|
// 一般只会消息乱序才会到这里,即新订单消息在运单接单消息后到达
|
||||||
@@ -865,5 +869,10 @@ func OnDefSchConfChanged(key, value string) {
|
|||||||
// 判断是否是购买平台自有物流
|
// 判断是否是购买平台自有物流
|
||||||
// 对于京东,饿百来说,就是其自有的物流,对于微商城来说,是达达
|
// 对于京东,饿百来说,就是其自有的物流,对于微商城来说,是达达
|
||||||
func (s *DefScheduler) IsOrderPlatformWaybill(bill *model.Waybill) bool {
|
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)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -189,25 +189,31 @@ func (p *PurchaseHandler) PickupGoods(order *model.GoodsOrder, userName string)
|
|||||||
|
|
||||||
// 将订单从购物平台配送转为自送
|
// 将订单从购物平台配送转为自送
|
||||||
func (p *PurchaseHandler) Swtich2SelfDeliver(order *model.GoodsOrder, userName string) (err error) {
|
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
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
// 将订单从购物平台配送转为自送后又送达
|
// 将订单从购物平台配送转为自送后又送达
|
||||||
func (p *PurchaseHandler) Swtich2SelfDelivered(order *model.GoodsOrder, userName string) (err error) {
|
func (p *PurchaseHandler) Swtich2SelfDelivered(order *model.GoodsOrder, userName string) (err error) {
|
||||||
// p.postFakeMsg(utils.Str2Int64(order.VendorOrderID), weimobapi.OrderStatusFinished)
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
// 完全自送的门店表示开始配送
|
// 完全自送的门店表示开始配送
|
||||||
func (p *PurchaseHandler) SelfDeliverDelivering(order *model.GoodsOrder, userName string) (err error) {
|
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
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
// 完全自送的门店表示配送完成
|
// 完全自送的门店表示配送完成
|
||||||
func (p *PurchaseHandler) SelfDeliverDelievered(order *model.GoodsOrder, userName string) (err error) {
|
func (p *PurchaseHandler) SelfDeliverDelievered(order *model.GoodsOrder, userName string) (err error) {
|
||||||
// p.postFakeMsg(utils.Str2Int64(order.VendorOrderID), weimobapi.OrderStatusFinished)
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user