订单转移时间校验规则修改

This commit is contained in:
苏尹岚
2020-08-04 08:59:26 +08:00
parent a166afa671
commit 7c5ac06349

View File

@@ -1270,29 +1270,29 @@ func TransferJdsOrder(ctx *jxcontext.Context, vendorOrderID string, storeID int)
order.StoreID = storeID order.StoreID = storeID
order.StoreName = stores[0].Name order.StoreName = stores[0].Name
order.VendorStoreID = storeMaps[0].VendorStoreID order.VendorStoreID = storeMaps[0].VendorStoreID
//如果是立即达的订单,要判断一下送达时间是否在门店营业时间范围内 //如果是立即达的订单,要判断一下下单时间是否在门店营业时间范围内
//若没有,则要把这个订单变成定时达,预计送达时间改为门店的营业时间 //若没有,则要把这个订单变成定时达,预计送达时间改为门店的营业时间
//如果门店没有营业时间,则直接报错 //如果门店没有营业时间,则直接报错
if order.BusinessType == model.BusinessTypeImmediate { if order.BusinessType == model.BusinessTypeImmediate {
store := stores[0] store := stores[0]
var ( var (
opentime1 = jxutils.JxOperationTime2TimeByDate(store.OpenTime1, order.ExpectedDeliveredTime) opentime1 = jxutils.JxOperationTime2TimeByDate(store.OpenTime1, order.OrderCreatedAt)
opentime2 = jxutils.JxOperationTime2TimeByDate(store.OpenTime2, order.ExpectedDeliveredTime) opentime2 = jxutils.JxOperationTime2TimeByDate(store.OpenTime2, order.OrderCreatedAt)
closetime1 = jxutils.JxOperationTime2TimeByDate(store.CloseTime1, order.ExpectedDeliveredTime) closetime1 = jxutils.JxOperationTime2TimeByDate(store.CloseTime1, order.OrderCreatedAt)
closetime2 = jxutils.JxOperationTime2TimeByDate(store.CloseTime2, order.ExpectedDeliveredTime) closetime2 = jxutils.JxOperationTime2TimeByDate(store.CloseTime2, order.OrderCreatedAt)
expectedTime = order.ExpectedDeliveredTime orderCreatedAt = order.OrderCreatedAt
) )
if store.OpenTime1 == 0 || store.CloseTime1 == 0 { if store.OpenTime1 == 0 || store.CloseTime1 == 0 {
return "", fmt.Errorf("该门店没有营业时间,不能接单!门店:[%v]", storeID) return "", fmt.Errorf("该门店没有营业时间,不能接单!门店:[%v]", storeID)
} }
if !(expectedTime.Sub(opentime1) >= 0 && expectedTime.Sub(closetime1) <= 0) { if !(orderCreatedAt.Sub(opentime1) >= 0 && orderCreatedAt.Sub(closetime1) <= 0) {
if store.OpenTime2 != 0 && store.CloseTime2 != 0 { if store.OpenTime2 != 0 && store.CloseTime2 != 0 {
if !(expectedTime.Sub(opentime2) >= 0 && expectedTime.Sub(closetime2) <= 0) { if !(orderCreatedAt.Sub(opentime2) >= 0 && orderCreatedAt.Sub(closetime2) <= 0) {
if expectedTime.Sub(opentime1) < 0 { if orderCreatedAt.Sub(opentime1) < 0 {
order.ExpectedDeliveredTime = opentime1 order.ExpectedDeliveredTime = opentime1
order.BusinessType = model.BusinessTypeDingshida order.BusinessType = model.BusinessTypeDingshida
} else { } else {
if expectedTime.Sub(opentime2) < 0 { if orderCreatedAt.Sub(opentime2) < 0 {
order.ExpectedDeliveredTime = opentime2 order.ExpectedDeliveredTime = opentime2
} else { } else {
order.ExpectedDeliveredTime = opentime1.AddDate(0, 0, 1) order.ExpectedDeliveredTime = opentime1.AddDate(0, 0, 1)
@@ -1301,7 +1301,7 @@ func TransferJdsOrder(ctx *jxcontext.Context, vendorOrderID string, storeID int)
} }
} }
} else { } else {
if expectedTime.Sub(opentime1) < 0 { if orderCreatedAt.Sub(opentime1) < 0 {
order.ExpectedDeliveredTime = opentime1 order.ExpectedDeliveredTime = opentime1
} else { } else {
order.ExpectedDeliveredTime = opentime1.AddDate(0, 0, 1) order.ExpectedDeliveredTime = opentime1.AddDate(0, 0, 1)