diff --git a/business/partner/purchase/jx/localjx/order.go b/business/partner/purchase/jx/localjx/order.go index 952445542..c6bf46ab6 100644 --- a/business/partner/purchase/jx/localjx/order.go +++ b/business/partner/purchase/jx/localjx/order.go @@ -498,16 +498,25 @@ func generateOrder(ctx *jxcontext.Context, jxOrder *JxOrderInfo, addressID int64 } } if jxSku != nil { - outJxOrder.Skus = append(outJxOrder.Skus, jxSku) if fromStoreID == 0 { + outJxOrder.Skus = append(outJxOrder.Skus, jxSku) outJxOrder.OrderPrice += int64(jxSku.Count) * jxSku.SalePrice } else { if jxSku.SkuID == 6039382 { if bagMap[jxSku.SkuID] != 0 { 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)/100))) + jxSku.SalePrice = 1 + 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 += int64(1 * math.Ceil(utils.Int2Float64(sum)/100)) outJxOrder.OrderPrice += (int64(jxSku.Count) - utils.Float64TwoInt64(math.Ceil(utils.Int2Float64(sum)/100))) * jxSku.SalePrice } @@ -519,14 +528,21 @@ func generateOrder(ctx *jxcontext.Context, jxOrder *JxOrderInfo, addressID int64 } if jxSku.SkuID == 6039383 || jxSku.SkuID == 6039384 || jxSku.SkuID == 6039387 || jxSku.SkuID == 6039390 { if bagMap[jxSku.SkuID] != 0 { - globals.SugarLogger.Debugf("daizi1,[%v]", sum) 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 += int64(1 * math.Ceil(utils.Int2Float64(sum)/200)) outJxOrder.OrderPrice += (int64(jxSku.Count) - utils.Float64TwoInt64(math.Ceil(utils.Int2Float64(sum)/200))) * jxSku.SalePrice - globals.SugarLogger.Debugf("daizi2,[%v]", outJxOrder.OrderPrice) } } else { outJxOrder.OrderPrice += int64(jxSku.Count) * jxSku.SalePrice @@ -534,6 +550,7 @@ func generateOrder(ctx *jxcontext.Context, jxOrder *JxOrderInfo, addressID int64 sum = sum - bagMap[jxSku.SkuID]*jxSku.Count } } + outJxOrder.OrderPrice += int64(jxSku.Count) * jxSku.SalePrice } outJxOrder.Weight += jxSku.Count * jxSku.Weight }