修改自动发单顺序
This commit is contained in:
@@ -884,7 +884,7 @@ func (s *DefScheduler) createWaybillOn3rdProviders(savedOrderInfo *WatchOrderInf
|
|||||||
if err = s.canOrderCreateWaybillNormally(order, savedOrderInfo); err == nil {
|
if err = s.canOrderCreateWaybillNormally(order, savedOrderInfo); err == nil {
|
||||||
if (order.DeliveryFlag & model.OrderDeliveryFlagMaskScheduleDisabled) == 0 {
|
if (order.DeliveryFlag & model.OrderDeliveryFlagMaskScheduleDisabled) == 0 {
|
||||||
if savedOrderInfo.retryCount <= maxWaybillRetryCount {
|
if savedOrderInfo.retryCount <= maxWaybillRetryCount {
|
||||||
var waybillVendorIDs = []int{model.VendorIDMTPS, model.VendorIDDada, model.VendorIDFengNiao, model.VendorIDUUPT}
|
var waybillVendorIDs = []int{model.VendorIDMTPS, model.VendorIDDada, model.VendorIDFengNiao, model.VendorIDUUPT, model.VendorIDSFPS}
|
||||||
savedOrderInfo.isNeedCreate3rdWaybill = true
|
savedOrderInfo.isNeedCreate3rdWaybill = true
|
||||||
excludeVendorIDs := savedOrderInfo.GetWaybillVendorIDs()
|
excludeVendorIDs := savedOrderInfo.GetWaybillVendorIDs()
|
||||||
//TODO 取消京西不自动发美团 2020-06-02
|
//TODO 取消京西不自动发美团 2020-06-02
|
||||||
@@ -922,11 +922,7 @@ func (s *DefScheduler) createWaybillOn3rdProviders(savedOrderInfo *WatchOrderInf
|
|||||||
|
|
||||||
//TODO 2020-07-21 发单时间要在门店的营业时间内
|
//TODO 2020-07-21 发单时间要在门店的营业时间内
|
||||||
var storeDetail *dao.StoreDetail
|
var storeDetail *dao.StoreDetail
|
||||||
//if savedOrderInfo.storeDetail != nil {
|
|
||||||
// storeDetail = savedOrderInfo.storeDetail
|
|
||||||
//} else {
|
|
||||||
storeDetail, err = dao.GetStoreDetail(dao.GetDB(), jxutils.GetSaleStoreIDFromOrder(order), order.VendorID, "")
|
storeDetail, err = dao.GetStoreDetail(dao.GetDB(), jxutils.GetSaleStoreIDFromOrder(order), order.VendorID, "")
|
||||||
//}
|
|
||||||
if storeDetail != nil {
|
if storeDetail != nil {
|
||||||
if storeDetail.OpenTime1 != 0 && storeDetail.CloseTime1 != 0 {
|
if storeDetail.OpenTime1 != 0 && storeDetail.CloseTime1 != 0 {
|
||||||
time1 := jxutils.JxOperationTime2TimeByDate(storeDetail.OpenTime1, time.Now())
|
time1 := jxutils.JxOperationTime2TimeByDate(storeDetail.OpenTime1, time.Now())
|
||||||
@@ -947,12 +943,41 @@ func (s *DefScheduler) createWaybillOn3rdProviders(savedOrderInfo *WatchOrderInf
|
|||||||
|
|
||||||
//1表示为门店发单,需要验证门店账户余额情况
|
//1表示为门店发单,需要验证门店账户余额情况
|
||||||
_, err2 := s.CheckStoreBalance(jxcontext.AdminCtx, order, waybillVendorIDs)
|
_, err2 := s.CheckStoreBalance(jxcontext.AdminCtx, order, waybillVendorIDs)
|
||||||
//TODO 2021-02-19 增加品牌配送开关
|
|
||||||
//TODO 2021-08-31 修改为每个平台的开关
|
|
||||||
//if storeDetail.BrandIsOpen == model.YES {
|
|
||||||
// err = fmt.Errorf("此品牌已关闭配送! [%v]", storeDetail.BrandName)
|
|
||||||
//}
|
|
||||||
if err == nil && err2 == nil {
|
if err == nil && err2 == nil {
|
||||||
|
// 1.检查门店三方配送配置,达达>蜂鸟>美团>顺丰>uu
|
||||||
|
// excludeVendorIDs 包括上面已经发送的平台id
|
||||||
|
storeCourierList, err := dao.GetStoreCourierList2(dao.GetDB(), []int{jxutils.GetSaleStoreIDFromOrder(order)}, nil, model.StoreStatusOpened, []int{model.StoreAuditStatusOnline, model.StoreAuditStatusUpdated})
|
||||||
|
excludeVendorIDsMap := make(map[int]int, 0) // 被排除的配送
|
||||||
|
for _, v := range excludeVendorIDs {
|
||||||
|
excludeVendorIDsMap[v] = model.YES
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, v := range storeCourierList {
|
||||||
|
if excludeVendorIDsMap[v.VendorID] == model.YES {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
if v.VendorID == model.VendorIDDada {
|
||||||
|
excludeVendorIDs = []int{model.VendorIDFengNiao, model.VendorIDMTPS, model.VendorIDUUPT, model.VendorIDSFPS}
|
||||||
|
break
|
||||||
|
}
|
||||||
|
if v.VendorID == model.VendorIDFengNiao {
|
||||||
|
excludeVendorIDs = []int{model.VendorIDDada, model.VendorIDMTPS, model.VendorIDUUPT, model.VendorIDSFPS}
|
||||||
|
break
|
||||||
|
}
|
||||||
|
if v.VendorID == model.VendorIDMTPS {
|
||||||
|
excludeVendorIDs = []int{model.VendorIDDada, model.VendorIDFengNiao, model.VendorIDUUPT, model.VendorIDSFPS}
|
||||||
|
break
|
||||||
|
}
|
||||||
|
if v.VendorID == model.VendorIDUUPT {
|
||||||
|
excludeVendorIDs = []int{model.VendorIDDada, model.VendorIDMTPS, model.VendorIDFengNiao, model.VendorIDSFPS}
|
||||||
|
break
|
||||||
|
}
|
||||||
|
if v.VendorID == model.VendorIDSFPS {
|
||||||
|
excludeVendorIDs = []int{model.VendorIDDada, model.VendorIDMTPS, model.VendorIDUUPT, model.VendorIDFengNiao}
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if _, err = s.CreateWaybillOnProviders4SavedOrder(jxcontext.AdminCtx, savedOrderInfo, nil, excludeVendorIDs, false, maxDeliveryFee); err == nil {
|
if _, err = s.CreateWaybillOnProviders4SavedOrder(jxcontext.AdminCtx, savedOrderInfo, nil, excludeVendorIDs, false, maxDeliveryFee); err == nil {
|
||||||
savedOrderInfo.retryCount++
|
savedOrderInfo.retryCount++
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user