不在门店营业时间范围内要取消运单

This commit is contained in:
苏尹岚
2020-09-07 16:46:10 +08:00
parent e984d42e64
commit 6bda593cb4
2 changed files with 28 additions and 1 deletions

View File

@@ -556,6 +556,8 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo
}
s.updateOrderByBill(order, bill, false)
s.cancelOtherWaybillsCheckOrderDeliveryFlag(savedOrderInfo, bill, partner.CancelWaybillReasonNotAcceptIntime, partner.CancelWaybillReasonStrNotAcceptIntime)
//若接单时间不在门店的营业时间范围内要取消运单
s.cancelWaybillNotInStoreOpentime(savedOrderInfo, bill)
//京东商城的话,需要去把订单出库,如果是转移过的订单,则需要修改转移订单号
if order.VendorID == model.VendorIDJDShop {
s.solutionJdsOrder(bill)
@@ -677,6 +679,31 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo
return err
}
func (s *DefScheduler) cancelWaybillNotInStoreOpentime(savedOrderInfo *WatchOrderInfo, bill *model.Waybill) (err error) {
if savedOrderInfo != nil {
//TODO 2020-09-07 不在门店的营业时间内取消运单
order := savedOrderInfo.order
if savedOrderInfo.storeDetail != nil {
if savedOrderInfo.storeDetail.OpenTime1 != 0 && savedOrderInfo.storeDetail.CloseTime1 != 0 {
time1 := jxutils.JxOperationTime2TimeByDate(savedOrderInfo.storeDetail.OpenTime1, time.Now())
time2 := jxutils.JxOperationTime2TimeByDate(savedOrderInfo.storeDetail.CloseTime1, time.Now())
if time.Now().Sub(time1) < 0 || time.Now().Sub(time2) > 0 {
if savedOrderInfo.storeDetail.OpenTime2 != 0 && savedOrderInfo.storeDetail.CloseTime2 != 0 {
time3 := jxutils.JxOperationTime2TimeByDate(savedOrderInfo.storeDetail.OpenTime2, time.Now())
time4 := jxutils.JxOperationTime2TimeByDate(savedOrderInfo.storeDetail.CloseTime2, time.Now())
if time.Now().Sub(time3) < 0 || time.Now().Sub(time4) > 0 {
s.ProxyCancelWaybill(order, bill, partner.CancelWaybillReasonNotAcceptIntime, partner.CancelWaybillReasonNotInStoreOpenTime)
}
} else {
s.ProxyCancelWaybill(order, bill, partner.CancelWaybillReasonNotAcceptIntime, partner.CancelWaybillReasonNotInStoreOpenTime)
}
}
}
}
}
return err
}
func (s *DefScheduler) sendCourierOrderSMS(bill *model.Waybill) (err error) {
err = smsmsg.NotifyNewCourierOrder(bill)
return err
@@ -766,7 +793,6 @@ func (s *DefScheduler) createWaybillOn3rdProviders(savedOrderInfo *WatchOrderInf
} else {
err = fmt.Errorf("不在门店营业时间范围内!")
}
}
}
}

View File

@@ -71,6 +71,7 @@ var (
CancelWaybillReasonStrSwitch2SelfFailed = "转自送失败"
CancelWaybillReasonStrOrderAlreadyFinished = "订单已经结束"
CancelWaybillReasonStrActive = "操作由人员主动发起"
CancelWaybillReasonNotInStoreOpenTime = "不在门店的营业时间范围内"
)
var (