物料订单袋子数量超标金额计算
This commit is contained in:
@@ -432,12 +432,6 @@ func generateOrder(ctx *jxcontext.Context, jxOrder *JxOrderInfo, addressID int64
|
|||||||
outJxOrder.StoreName = storeDetail.Name
|
outJxOrder.StoreName = storeDetail.Name
|
||||||
|
|
||||||
skus := formalizeSkus(jxOrder.Skus)
|
skus := formalizeSkus(jxOrder.Skus)
|
||||||
if fromStoreID != 0 {
|
|
||||||
err = matterSkusLimited(skus, fromStoreID)
|
|
||||||
if err != nil {
|
|
||||||
return nil, nil, err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// 允许空商品列表(一般用于测试配送地址,门店信息是否合适)
|
// 允许空商品列表(一般用于测试配送地址,门店信息是否合适)
|
||||||
if len(skus) > 0 {
|
if len(skus) > 0 {
|
||||||
var skuIDs []int
|
var skuIDs []int
|
||||||
@@ -470,7 +464,11 @@ func generateOrder(ctx *jxcontext.Context, jxOrder *JxOrderInfo, addressID int64
|
|||||||
}
|
}
|
||||||
skuMap[v.ID] = v
|
skuMap[v.ID] = v
|
||||||
}
|
}
|
||||||
|
var result *orderman.OrderCount
|
||||||
|
if fromStoreID != 0 {
|
||||||
|
result, _ = orderman.GetMatterStoreOrderCount(nil, fromStoreID)
|
||||||
|
}
|
||||||
|
sum := result.Count
|
||||||
for _, v := range skus {
|
for _, v := range skus {
|
||||||
if storeSkuBind := storeSkuMap[v.SkuID]; storeSkuBind != nil {
|
if storeSkuBind := storeSkuMap[v.SkuID]; storeSkuBind != nil {
|
||||||
if sku := skuMap[v.SkuID]; sku != nil {
|
if sku := skuMap[v.SkuID]; sku != nil {
|
||||||
@@ -504,18 +502,35 @@ func generateOrder(ctx *jxcontext.Context, jxOrder *JxOrderInfo, addressID int64
|
|||||||
if fromStoreID == 0 {
|
if fromStoreID == 0 {
|
||||||
outJxOrder.OrderPrice += int64(jxSku.Count) * jxSku.SalePrice
|
outJxOrder.OrderPrice += int64(jxSku.Count) * jxSku.SalePrice
|
||||||
} else {
|
} else {
|
||||||
if bagMap[jxSku.SkuID] != 0 {
|
if jxSku.SkuID == 6039382 {
|
||||||
if jxSku.Count > 1 {
|
if bagMap[jxSku.SkuID] != 0 {
|
||||||
for i := 0; i < jxSku.Count; i++ {
|
if sum > 0 {
|
||||||
if i == 0 {
|
if bagMap[jxSku.SkuID]*jxSku.Count <= sum+100 {
|
||||||
outJxOrder.OrderPrice += 1
|
outJxOrder.OrderPrice += int64(1 * jxSku.Count)
|
||||||
} else {
|
} else {
|
||||||
outJxOrder.OrderPrice += jxSku.SalePrice
|
outJxOrder.OrderPrice += int64(1 * math.Ceil(utils.Int2Float64(sum/100)))
|
||||||
|
outJxOrder.OrderPrice += (int64(jxSku.Count) - utils.Float64TwoInt64(math.Ceil(utils.Int2Float64(sum/100)))) * jxSku.SalePrice
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
outJxOrder.OrderPrice += int64(jxSku.Count) * jxSku.SalePrice
|
||||||
}
|
}
|
||||||
|
sum = sum - bagMap[jxSku.SkuID]*jxSku.Count
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if jxSku.SkuID == 6039383 || jxSku.SkuID == 6039384 || jxSku.SkuID == 6039387 || jxSku.SkuID == 6039390 {
|
||||||
|
if bagMap[jxSku.SkuID] != 0 {
|
||||||
|
if sum > 0 {
|
||||||
|
if bagMap[jxSku.SkuID]*jxSku.Count <= sum+200 {
|
||||||
|
outJxOrder.OrderPrice += int64(1 * jxSku.Count)
|
||||||
|
} else {
|
||||||
|
outJxOrder.OrderPrice += int64(1 * math.Ceil(utils.Int2Float64(sum/200)))
|
||||||
|
outJxOrder.OrderPrice += (int64(jxSku.Count) - utils.Float64TwoInt64(math.Ceil(utils.Int2Float64(sum/200)))) * jxSku.SalePrice
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
outJxOrder.OrderPrice += int64(jxSku.Count) * jxSku.SalePrice
|
||||||
|
}
|
||||||
|
sum = sum - bagMap[jxSku.SkuID]*jxSku.Count
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
outJxOrder.OrderPrice += int64(jxSku.Count) * jxSku.SalePrice
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
outJxOrder.Weight += jxSku.Count * jxSku.Weight
|
outJxOrder.Weight += jxSku.Count * jxSku.Weight
|
||||||
|
|||||||
Reference in New Issue
Block a user