物料订单修改配送费规则
This commit is contained in:
@@ -682,12 +682,23 @@ func generateOrder(ctx *jxcontext.Context, jxOrder *JxOrderInfo, addressID int64
|
||||
deliveryAddress.ConsigneeName = storeDetail2.Name
|
||||
}
|
||||
outJxOrder.FromStoreID = fromStoreID
|
||||
///规则为: 配送费用规则。起价5元(含2kg),之后每kg+2元,不足1kg按1kg计算。
|
||||
if outJxOrder.Weight <= 2000 {
|
||||
//TODO 修改配送费规则,2020-04-28
|
||||
//3kg 5元,每多1kg加2元
|
||||
//配送费要按分包规则计算
|
||||
if outJxOrder.Weight <= 3000 {
|
||||
outJxOrder.FreightPrice = 500
|
||||
} else if outJxOrder.Weight > 3000 && outJxOrder.Weight <= splitMatterOrderMinWeight {
|
||||
outJxOrder.FreightPrice = utils.Float64TwoInt64(500 + math.Ceil((utils.Int2Float64(outJxOrder.Weight)-3000)/1000)*200)
|
||||
} else {
|
||||
outJxOrder.FreightPrice = utils.Float64TwoInt64(500 + math.Ceil((utils.Int2Float64(outJxOrder.Weight)-2000)/1000)*200)
|
||||
_, freightPrice, _ := tryToSplitMatterOrder(jxOrder)
|
||||
outJxOrder.FreightPrice = freightPrice
|
||||
}
|
||||
///规则为: 配送费用规则。起价5元(含2kg),之后每kg+2元,不足1kg按1kg计算。
|
||||
// if outJxOrder.Weight <= 2000 {
|
||||
// outJxOrder.FreightPrice = 500
|
||||
// } else {
|
||||
// outJxOrder.FreightPrice = utils.Float64TwoInt64(500 + math.Ceil((utils.Int2Float64(outJxOrder.Weight)-2000)/1000)*200)
|
||||
// }
|
||||
} else {
|
||||
if outJxOrder.FreightPrice > specialFreightPrice {
|
||||
outJxOrder.FreightPrice = specialFreightPrice
|
||||
@@ -1471,7 +1482,7 @@ func updateJdWayBillInfo(db *dao.DaoDB, order *model.GoodsOrder, getTrackMessage
|
||||
return err
|
||||
}
|
||||
|
||||
func tryToSplitMatterOrder(jxOrder *JxOrderInfo) (outOrders []*JxOrderInfo, freightPrice int, err error) {
|
||||
func tryToSplitMatterOrder(jxOrder *JxOrderInfo) (outOrders []*JxOrderInfo, freightPrice int64, err error) {
|
||||
var (
|
||||
skus = jxOrder.Skus
|
||||
weightList []*JxSkuInfo2
|
||||
@@ -1518,6 +1529,13 @@ func tryToSplitMatterOrder(jxOrder *JxOrderInfo) (outOrders []*JxOrderInfo, frei
|
||||
break
|
||||
}
|
||||
}
|
||||
for _, v := range outOrders {
|
||||
if v.Weight <= 3000 {
|
||||
freightPrice += 500
|
||||
} else if v.Weight > 3000 && v.Weight <= splitMatterOrderMinWeight {
|
||||
freightPrice += utils.Float64TwoInt64(500 + math.Ceil((utils.Int2Float64(v.Weight)-3000)/1000)*200)
|
||||
}
|
||||
}
|
||||
return outOrders, freightPrice, err
|
||||
}
|
||||
|
||||
@@ -1532,6 +1550,7 @@ func jxOrderChange(sku2 *JxSkuInfo2) *JxSkuInfo {
|
||||
return sku
|
||||
}
|
||||
|
||||
//TODO 修改为4.5kg 2020-04-2?
|
||||
//商品分包规则2。最后一个包不超过5kg,其他包不超过3kg
|
||||
// 举例1:5.1kg,分为 2.5kg,2.6kg,确保每个包不超过3kg,最后一个包不超过5kg
|
||||
// 举例2:4kg,分为4kg
|
||||
|
||||
Reference in New Issue
Block a user