This commit is contained in:
苏尹岚
2020-03-17 10:15:23 +08:00
parent a1de7357de
commit f1381141c5

View File

@@ -492,12 +492,12 @@ func generateOrder(ctx *jxcontext.Context, jxOrder *JxOrderInfo, addressID int64
}
var (
result *orderman.OrderCount
sum *int //申请物料的店的最近销量,以下会根据销量计算具体袋子的价格
sum int //申请物料的店的最近销量,以下会根据销量计算具体袋子的价格
flag = false //新店袋子拆分当个参数
)
if fromStoreID != 0 {
result, _ = orderman.GetMatterStoreOrderCount(nil, fromStoreID)
sum = &result.Count
sum = result.Count
}
for _, v := range skus {
if storeSkuBind := storeSkuMap[v.SkuID]; storeSkuBind != nil {
@@ -556,19 +556,20 @@ func generateOrder(ctx *jxcontext.Context, jxOrder *JxOrderInfo, addressID int64
}
} else {
//袋子总数小于等于销量就是1分钱只要大于销量其他就按原价
var bagPriceCount = func(jxSku *JxSkuInfo, outJxOrder *JxOrderInfo, sum *int, count float64) {
//这个袋子规格是一份100个
if jxSku.SkuID == 6039382 {
if bagMap[jxSku.SkuID] != 0 {
if *sum > 0 {
if bagMap[jxSku.SkuID]*jxSku.Count <= *sum+int(utils.Float64TwoInt64(count)) {
if sum > 0 {
if bagMap[jxSku.SkuID]*jxSku.Count <= sum+100 {
jxSku.SalePrice = 1
outJxOrder.Skus = append(outJxOrder.Skus, jxSku)
outJxOrder.OrderPrice += int64(1 * jxSku.Count)
} else {
jxSku2 := *jxSku
jxSku2.SalePrice = jxSku.SalePrice
jxSku2.Count = int(int64(jxSku.Count) - utils.Float64TwoInt64(math.Ceil(utils.Int2Float64(*sum)/count)))
jxSku2.Count = int(int64(jxSku.Count) - utils.Float64TwoInt64(math.Ceil(utils.Int2Float64(sum)/100)))
jxSku.SalePrice = 1
jxSku.Count = int(utils.Float64TwoInt64(math.Ceil(utils.Int2Float64(*sum) / count)))
jxSku.Count = int(utils.Float64TwoInt64(math.Ceil(utils.Int2Float64(sum) / 100)))
outJxOrder.Skus = append(outJxOrder.Skus, jxSku)
outJxOrder.Skus = append(outJxOrder.Skus, &jxSku2)
outJxOrder.OrderPrice += jxSku.SalePrice * int64(jxSku.Count)
@@ -578,14 +579,32 @@ func generateOrder(ctx *jxcontext.Context, jxOrder *JxOrderInfo, addressID int64
outJxOrder.Skus = append(outJxOrder.Skus, jxSku)
outJxOrder.OrderPrice += int64(jxSku.Count) * jxSku.SalePrice
}
*sum = *sum - bagMap[jxSku.SkuID]*jxSku.Count
sum = sum - bagMap[jxSku.SkuID]*jxSku.Count
}
}
//这个袋子规格是一份100个
if jxSku.SkuID == 6039382 {
bagPriceCount(jxSku, outJxOrder, sum, 100)
} else if jxSku.SkuID == 6039383 || jxSku.SkuID == 6039384 || jxSku.SkuID == 6039387 || jxSku.SkuID == 6039390 { //这些袋子是一份200个
bagPriceCount(jxSku, outJxOrder, sum, 200)
if bagMap[jxSku.SkuID] != 0 {
if sum > 0 {
if bagMap[jxSku.SkuID]*jxSku.Count <= sum+200 {
jxSku.SalePrice = 1
outJxOrder.Skus = append(outJxOrder.Skus, jxSku)
outJxOrder.OrderPrice += int64(1 * jxSku.Count)
} else {
jxSku2 := *jxSku
jxSku2.SalePrice = jxSku.SalePrice
jxSku2.Count = int(int64(jxSku.Count) - utils.Float64TwoInt64(math.Ceil(utils.Int2Float64(sum)/200)))
jxSku.SalePrice = 1
jxSku.Count = int(utils.Float64TwoInt64(math.Ceil(utils.Int2Float64(sum) / 200)))
outJxOrder.Skus = append(outJxOrder.Skus, jxSku)
outJxOrder.Skus = append(outJxOrder.Skus, &jxSku2)
outJxOrder.OrderPrice += jxSku.SalePrice * int64(jxSku.Count)
outJxOrder.OrderPrice += jxSku2.SalePrice * int64(jxSku2.Count)
}
} else {
outJxOrder.Skus = append(outJxOrder.Skus, jxSku)
outJxOrder.OrderPrice += int64(jxSku.Count) * jxSku.SalePrice
}
sum = sum - bagMap[jxSku.SkuID]*jxSku.Count
}
} else {
outJxOrder.Skus = append(outJxOrder.Skus, jxSku)
outJxOrder.OrderPrice += int64(jxSku.Count) * jxSku.SalePrice