新接口合并订单

This commit is contained in:
苏尹岚
2020-08-31 11:44:43 +08:00
parent 6750c35ebd
commit 9fa65e15a1

View File

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