物料订单修改配送费规则

This commit is contained in:
苏尹岚
2020-04-28 10:18:09 +08:00
parent 3ebebc9aac
commit 69948b966c

View File

@@ -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
// 举例15.1kg,分为 2.5kg,2.6kg,确保每个包不超过3kg,最后一个包不超过5kg
// 举例24kg,分为4kg