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为物料订单袋子金额和数量处理