diff --git a/business/jxcallback/scheduler/defsch/defsch.go b/business/jxcallback/scheduler/defsch/defsch.go index 7c4f469b2..3e861e5a9 100644 --- a/business/jxcallback/scheduler/defsch/defsch.go +++ b/business/jxcallback/scheduler/defsch/defsch.go @@ -882,6 +882,30 @@ func (s *DefScheduler) createWaybillOn3rdProviders(savedOrderInfo *WatchOrderInf if err = s.canOrderCreateWaybillNormally(order, savedOrderInfo); err == nil { if (order.DeliveryFlag & model.OrderDeliveryFlagMaskScheduleDisabled) == 0 { if savedOrderInfo.retryCount <= maxWaybillRetryCount { + //TODO 2020-07-21 发单时间要在门店的营业时间内 + var storeDetail *dao.StoreDetail + storeDetail, err = dao.GetStoreDetail(dao.GetDB(), jxutils.GetSaleStoreIDFromOrder(order), 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*180)) > 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*180)) > 0 { + err = fmt.Errorf("不在门店营业时间范围内!") + } + } else { + err = fmt.Errorf("不在门店营业时间范围内!") + } + } + } + } + if storeDetail.Status != model.StoreStatusOpened { + err = fmt.Errorf("门店非营业状态,不允许自动发单") + } + var waybillVendorIDs = []int{model.VendorIDMTPS, model.VendorIDDada, model.VendorIDFengNiao, model.VendorIDUUPT, model.VendorIDSFPS} savedOrderInfo.isNeedCreate3rdWaybill = true excludeVendorIDs := savedOrderInfo.GetWaybillVendorIDs() @@ -926,27 +950,6 @@ func (s *DefScheduler) createWaybillOn3rdProviders(savedOrderInfo *WatchOrderInf } } - //TODO 2020-07-21 发单时间要在门店的营业时间内 - var storeDetail *dao.StoreDetail - storeDetail, err = dao.GetStoreDetail(dao.GetDB(), jxutils.GetSaleStoreIDFromOrder(order), 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*180)) > 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*180)) > 0 { - err = fmt.Errorf("不在门店营业时间范围内!") - } - } else { - err = fmt.Errorf("不在门店营业时间范围内!") - } - } - } - } - //1表示为门店发单,需要验证门店账户余额情况 _, err2 := s.CheckStoreBalance(jxcontext.AdminCtx, order, waybillVendorIDs) // 检查是否有有效运单 diff --git a/business/model/store.go b/business/model/store.go index 6198daaa0..5e97c8f1c 100644 --- a/business/model/store.go +++ b/business/model/store.go @@ -11,8 +11,8 @@ const ( StoreStatusAll = -9 StoreStatusDisabled = -2 // 禁用 StoreStatusClosed = -1 // 休息 - StoreStatusHaveRest = 0 - StoreStatusOpened = 1 // 营业 + StoreStatusHaveRest = 0 // 零食休息 + StoreStatusOpened = 1 // 营业 StoreIsSyncAll = -1 StoreIsSyncNo = 0