修改bug

This commit is contained in:
邹宗楠
2022-03-15 11:46:51 +08:00
parent 39a3a636db
commit eaca4b3275
10 changed files with 107 additions and 60 deletions

View File

@@ -749,25 +749,34 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo
}
func (s *DefScheduler) cancelWaybillNotInStoreOpentime(savedOrderInfo *WatchOrderInfo, bill *model.Waybill) (err error) {
if savedOrderInfo != nil {
//TODO 2020-09-07 不在门店的营业时间内取消运单
//TODO 2021-07-26 实时取门店营业时间,运营可能在订单来之后修改门店营业时间
storeDetail, _ := partner.CurOrderManager.LoadStoreDetail(jxutils.GetSaleStoreIDFromOrder(savedOrderInfo.order), savedOrderInfo.order.VendorID)
if storeDetail != nil {
if storeDetail.OpenTime1 != 0 && storeDetail.CloseTime1 != 0 {
time1 := jxutils.JxOperationTime2TimeByDate(storeDetail.OpenTime1, time.Now())
time2 := jxutils.JxOperationTime2TimeByDate(storeDetail.CloseTime1, time.Now())
if time.Now().Sub(time1) < 0 || time.Now().Sub(time2.Add(time.Minute*30)) > 0 {
if storeDetail.OpenTime2 != 0 && storeDetail.CloseTime2 != 0 {
time3 := jxutils.JxOperationTime2TimeByDate(storeDetail.OpenTime2, time.Now())
time4 := jxutils.JxOperationTime2TimeByDate(storeDetail.CloseTime2, time.Now())
if time.Now().Sub(time3) < 0 || time.Now().Sub(time4.Add(time.Minute*30)) > 0 {
s.CancelWaybill(bill, partner.CancelWaybillReasonNotAcceptIntime, partner.CancelWaybillReasonNotInStoreOpenTime)
}
} else {
s.CancelWaybill(bill, partner.CancelWaybillReasonNotAcceptIntime, partner.CancelWaybillReasonNotInStoreOpenTime)
}
if savedOrderInfo == nil {
return nil
}
//TODO 2020-09-07 不在门店的营业时间内取消运单
//TODO 2021-07-26 实时取门店营业时间,运营可能在订单来之后修改门店营业时间
storeDetail, _ := partner.CurOrderManager.LoadStoreDetail(jxutils.GetSaleStoreIDFromOrder(savedOrderInfo.order), savedOrderInfo.order.VendorID)
if storeDetail == nil {
return nil
}
// 系统手动发单,不做营业时间校验
if storeDetail.SendOrderType == 1 {
return nil
}
if storeDetail.OpenTime1 != 0 && storeDetail.CloseTime1 != 0 {
time1 := jxutils.JxOperationTime2TimeByDate(storeDetail.OpenTime1, time.Now())
time2 := jxutils.JxOperationTime2TimeByDate(storeDetail.CloseTime1, time.Now())
if time.Now().Sub(time1) < 0 || time.Now().Sub(time2.Add(time.Minute*30)) > 0 { // 营业时间
if storeDetail.OpenTime2 != 0 && storeDetail.CloseTime2 != 0 { // 休息时间
time3 := jxutils.JxOperationTime2TimeByDate(storeDetail.OpenTime2, time.Now())
time4 := jxutils.JxOperationTime2TimeByDate(storeDetail.CloseTime2, time.Now())
if time.Now().Sub(time3) < 0 || time.Now().Sub(time4.Add(time.Minute*30)) > 0 {
s.CancelWaybill(bill, partner.CancelWaybillReasonNotAcceptIntime, partner.CancelWaybillReasonNotInStoreOpenTime)
}
} else {
s.CancelWaybill(bill, partner.CancelWaybillReasonNotAcceptIntime, partner.CancelWaybillReasonNotInStoreOpenTime)
}
}
}