新接口合并订单
This commit is contained in:
@@ -1388,51 +1388,47 @@ func MergeJdsOrders(ctx *jxcontext.Context, vendorOrderIDs []string) (vendorOrde
|
||||
}
|
||||
stores, _ := dao.GetStoreList(db, []int{storeID}, nil, nil, nil, "")
|
||||
store := stores[0]
|
||||
order := &model.GoodsOrder{
|
||||
StoreID: storeID,
|
||||
StoreName: store.Name,
|
||||
VendorStoreID: storeMaps[0].VendorStoreID,
|
||||
VendorOrderID: utils.Int64ToStr(utils.Str2Int64(orders[0].VendorOrderID2)*10000) + utils.Int2Str(99),
|
||||
VendorOrderID2: strings.Join(orderIDs, ","),
|
||||
Status: model.OrderStatusNew,
|
||||
}
|
||||
order := orders[0]
|
||||
order.ID = 0
|
||||
order.VendorOrderID = utils.Int64ToStr(utils.Str2Int64(orders[0].VendorOrderID2)*10000) + utils.Int2Str(99)
|
||||
order.VendorOrderID2 = strings.Join(orderIDs, ",")
|
||||
order.Status = model.OrderStatusNew
|
||||
setJdsOrderSeq(order)
|
||||
var (
|
||||
opentime1 = jxutils.JxOperationTime2TimeByDate(store.OpenTime1, time.Now())
|
||||
opentime2 = jxutils.JxOperationTime2TimeByDate(store.OpenTime2, time.Now())
|
||||
closetime1 = jxutils.JxOperationTime2TimeByDate(store.CloseTime1, time.Now())
|
||||
closetime2 = jxutils.JxOperationTime2TimeByDate(store.CloseTime2, time.Now())
|
||||
orderCreatedAt = time.Now()
|
||||
)
|
||||
if store.OpenTime1 == 0 || store.CloseTime1 == 0 {
|
||||
return "", fmt.Errorf("该门店没有营业时间,不能接单!门店:[%v]", storeID)
|
||||
}
|
||||
if !(orderCreatedAt.Sub(opentime1) >= 0 && orderCreatedAt.Sub(closetime1) <= 0) {
|
||||
if store.OpenTime2 != 0 && store.CloseTime2 != 0 {
|
||||
if !(orderCreatedAt.Sub(opentime2) >= 0 && orderCreatedAt.Sub(closetime2) <= 0) {
|
||||
if order.BusinessType == model.BusinessTypeImmediate {
|
||||
var (
|
||||
opentime1 = jxutils.JxOperationTime2TimeByDate(store.OpenTime1, order.CreatedAt)
|
||||
opentime2 = jxutils.JxOperationTime2TimeByDate(store.OpenTime2, order.CreatedAt)
|
||||
closetime1 = jxutils.JxOperationTime2TimeByDate(store.CloseTime1, order.CreatedAt)
|
||||
closetime2 = jxutils.JxOperationTime2TimeByDate(store.CloseTime2, order.CreatedAt)
|
||||
orderCreatedAt = order.CreatedAt
|
||||
)
|
||||
if store.OpenTime1 == 0 || store.CloseTime1 == 0 {
|
||||
return "", fmt.Errorf("该门店没有营业时间,不能接单!门店:[%v]", storeID)
|
||||
}
|
||||
if !(orderCreatedAt.Sub(opentime1) >= 0 && orderCreatedAt.Sub(closetime1) <= 0) {
|
||||
if store.OpenTime2 != 0 && store.CloseTime2 != 0 {
|
||||
if !(orderCreatedAt.Sub(opentime2) >= 0 && orderCreatedAt.Sub(closetime2) <= 0) {
|
||||
if orderCreatedAt.Sub(opentime1) < 0 {
|
||||
order.ExpectedDeliveredTime = opentime1
|
||||
order.BusinessType = model.BusinessTypeDingshida
|
||||
} else {
|
||||
if orderCreatedAt.Sub(opentime2) < 0 {
|
||||
order.ExpectedDeliveredTime = opentime2
|
||||
} else {
|
||||
order.ExpectedDeliveredTime = opentime1.AddDate(0, 0, 1)
|
||||
}
|
||||
order.BusinessType = model.BusinessTypeDingshida
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if orderCreatedAt.Sub(opentime1) < 0 {
|
||||
order.ExpectedDeliveredTime = opentime1
|
||||
order.BusinessType = model.BusinessTypeDingshida
|
||||
} else {
|
||||
if orderCreatedAt.Sub(opentime2) < 0 {
|
||||
order.ExpectedDeliveredTime = opentime2
|
||||
} else {
|
||||
order.ExpectedDeliveredTime = opentime1.AddDate(0, 0, 1)
|
||||
}
|
||||
order.BusinessType = model.BusinessTypeDingshida
|
||||
order.ExpectedDeliveredTime = opentime1.AddDate(0, 0, 1)
|
||||
}
|
||||
order.BusinessType = model.BusinessTypeDingshida
|
||||
}
|
||||
} else {
|
||||
if orderCreatedAt.Sub(opentime1) < 0 {
|
||||
order.ExpectedDeliveredTime = opentime1
|
||||
} else {
|
||||
order.ExpectedDeliveredTime = opentime1.AddDate(0, 0, 1)
|
||||
}
|
||||
order.BusinessType = model.BusinessTypeDingshida
|
||||
}
|
||||
} else {
|
||||
order.BusinessType = model.BusinessTypeImmediate
|
||||
order.ExpectedDeliveredTime = time.Now().Add(time.Hour)
|
||||
}
|
||||
//结算类型
|
||||
if store.PayPercentage < 50 {
|
||||
|
||||
Reference in New Issue
Block a user