From c64476cc5168706f7fe87b8a2311afd8d620efe5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Thu, 9 Apr 2020 10:55:10 +0800 Subject: [PATCH] =?UTF-8?q?=E7=89=A9=E6=96=99=E8=AE=A2=E5=8D=95=E6=99=AE?= =?UTF-8?q?=E9=80=9A=E4=BA=BA=E4=B9=9F=E8=83=BD=E5=8D=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/purchase/jx/localjx/order.go | 34 ++++++++++--------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/business/partner/purchase/jx/localjx/order.go b/business/partner/purchase/jx/localjx/order.go index 249b21245..8b35f1c43 100644 --- a/business/partner/purchase/jx/localjx/order.go +++ b/business/partner/purchase/jx/localjx/order.go @@ -504,7 +504,7 @@ func generateOrder(ctx *jxcontext.Context, jxOrder *JxOrderInfo, addressID int64 sum int //申请物料的店的最近销量,以下会根据销量计算具体袋子的价格 flag = false //新店袋子拆分当个参数 ) - if fromStoreID != 0 { + if fromStoreID != 0 && fromStoreID != -1 { result, _ = orderman.GetMatterStoreOrderCount(nil, fromStoreID) sum = result.Count } @@ -527,26 +527,28 @@ func generateOrder(ctx *jxcontext.Context, jxOrder *JxOrderInfo, addressID int64 Weight: sku.Weight, Name: jxutils.ComposeSkuName(sku.Prefix, sku.Name, sku.Comment, sku.Unit, sku.SpecQuality, sku.SpecUnit, 0, sku.ExPrefix, sku.ExPrefixBegin, sku.ExPrefixEnd), } - //活动商品要拆分,一分钱的单独列一个(count为1),正常价格的列在一起(count叠加) - if storeSkuBind.ActPrice != 0 && storeSkuBind.ActPrice < storeSkuBind.JxPrice { - jxSku.SalePrice = int64(storeSkuBind.ActPrice) - jxSku.Count = 1 + if fromStoreID != -1 { + //活动商品要拆分,一分钱的单独列一个(count为1),正常价格的列在一起(count叠加) + if storeSkuBind.ActPrice != 0 && storeSkuBind.ActPrice < storeSkuBind.JxPrice { + jxSku.SalePrice = int64(storeSkuBind.ActPrice) + jxSku.Count = 1 - outJxOrder.Skus = append(outJxOrder.Skus, jxSku) - outJxOrder.OrderPrice += int64(jxSku.Count) * jxSku.SalePrice - outJxOrder.Weight += jxSku.Count * jxSku.Weight - if v.Count-1 > 0 { - jxSku2 := *jxSku - jxSku2.SalePrice = jxSku.Price - jxSku2.Count = v.Count - 1 + outJxOrder.Skus = append(outJxOrder.Skus, jxSku) + outJxOrder.OrderPrice += int64(jxSku.Count) * jxSku.SalePrice + outJxOrder.Weight += jxSku.Count * jxSku.Weight + if v.Count-1 > 0 { + jxSku2 := *jxSku + jxSku2.SalePrice = jxSku.Price + jxSku2.Count = v.Count - 1 - jxSku = &jxSku2 - } else { - jxSku = nil + jxSku = &jxSku2 + } else { + jxSku = nil + } } } if jxSku != nil { - if fromStoreID == 0 { + if fromStoreID == 0 || fromStoreID == -1 { outJxOrder.Skus = append(outJxOrder.Skus, jxSku) outJxOrder.OrderPrice += int64(jxSku.Count) * jxSku.SalePrice } else { //以下else为物料订单袋子金额和数量处理