From 7680508cab1dbc08b3e0c34a1f9dea7c5a4106db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Fri, 10 Apr 2020 09:05:36 +0800 Subject: [PATCH] =?UTF-8?q?=E7=89=A9=E6=96=99=E8=AE=A2=E5=8D=95=E5=8F=96?= =?UTF-8?q?=E6=B6=88=E4=B8=80=E5=91=A8=E4=B9=B0=E4=B8=80=E6=AC=A1=E7=9A=84?= =?UTF-8?q?=E9=99=90=E5=88=B6=EF=BC=8C=E6=94=B9=E4=B8=BA=E4=BC=98=E6=83=A0?= =?UTF-8?q?=E4=BB=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/purchase/jx/localjx/order.go | 139 +++++++++--------- .../purchase/jx/localjx/tonglianpay.go | 14 +- 2 files changed, 78 insertions(+), 75 deletions(-) diff --git a/business/partner/purchase/jx/localjx/order.go b/business/partner/purchase/jx/localjx/order.go index 3567843a0..80740eb9a 100644 --- a/business/partner/purchase/jx/localjx/order.go +++ b/business/partner/purchase/jx/localjx/order.go @@ -552,88 +552,93 @@ func generateOrder(ctx *jxcontext.Context, jxOrder *JxOrderInfo, addressID int64 outJxOrder.Skus = append(outJxOrder.Skus, jxSku) outJxOrder.OrderPrice += int64(jxSku.Count) * jxSku.SalePrice } else { //以下else为物料订单袋子金额和数量处理 - if result.Count == 0 && result.Flag { //这个条件被认为是新店,袋子限量 - if bagMap[jxSku.SkuID] != 0 { //如果他买了袋子,第一个袋子算1分钱,其余按原价(包括所有袋子) - if !flag { - salePirce := jxSku.SalePrice - count := jxSku.Count - jxSku.SalePrice = 1 - jxSku.Count = 1 - outJxOrder.Skus = append(outJxOrder.Skus, jxSku) - outJxOrder.OrderPrice += int64(jxSku.Count) * jxSku.SalePrice - if count > 1 { - jxSku2 := *jxSku - jxSku2.SalePrice = salePirce - jxSku2.Count = count - 1 - outJxOrder.Skus = append(outJxOrder.Skus, &jxSku2) - outJxOrder.OrderPrice += int64(jxSku2.Count) * jxSku2.SalePrice - outJxOrder.Weight += jxSku2.Count * jxSku2.Weight + if !result.Flag { //只要flag是false就按原价申请,是true再按订单量 + outJxOrder.Skus = append(outJxOrder.Skus, jxSku) + outJxOrder.OrderPrice += int64(jxSku.Count) * jxSku.SalePrice + } else { + if result.Count == 0 { //这个条件被认为是新店,袋子限量 + if bagMap[jxSku.SkuID] != 0 { //如果他买了袋子,第一个袋子算1分钱,其余按原价(包括所有袋子) + if !flag { + salePirce := jxSku.SalePrice + count := jxSku.Count + jxSku.SalePrice = 1 + jxSku.Count = 1 + outJxOrder.Skus = append(outJxOrder.Skus, jxSku) + outJxOrder.OrderPrice += int64(jxSku.Count) * jxSku.SalePrice + if count > 1 { + jxSku2 := *jxSku + jxSku2.SalePrice = salePirce + jxSku2.Count = count - 1 + outJxOrder.Skus = append(outJxOrder.Skus, &jxSku2) + outJxOrder.OrderPrice += int64(jxSku2.Count) * jxSku2.SalePrice + outJxOrder.Weight += jxSku2.Count * jxSku2.Weight + } + flag = true + } else { + outJxOrder.Skus = append(outJxOrder.Skus, jxSku) + outJxOrder.OrderPrice += int64(jxSku.Count) * jxSku.SalePrice } - flag = true } else { outJxOrder.Skus = append(outJxOrder.Skus, jxSku) outJxOrder.OrderPrice += int64(jxSku.Count) * jxSku.SalePrice } } else { - outJxOrder.Skus = append(outJxOrder.Skus, jxSku) - outJxOrder.OrderPrice += int64(jxSku.Count) * jxSku.SalePrice - } - } else { - //袋子总数小于等于销量就是1分钱,只要大于销量其他就按原价 - //这个袋子规格是一份100个 - 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) + //袋子总数小于等于销量就是1分钱,只要大于销量其他就按原价 + //这个袋子规格是一份100个 + 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))) + outJxOrder.Weight += jxSku2.Count * jxSku2.Weight + 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 += jxSku.SalePrice * int64(jxSku.Count) + outJxOrder.OrderPrice += jxSku2.SalePrice * int64(jxSku2.Count) + } } else { - jxSku2 := *jxSku - jxSku2.SalePrice = jxSku.SalePrice - jxSku2.Count = int(int64(jxSku.Count) - utils.Float64TwoInt64(math.Ceil(utils.Int2Float64(sum)/100))) - outJxOrder.Weight += jxSku2.Count * jxSku2.Weight - 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 += jxSku.SalePrice * int64(jxSku.Count) - outJxOrder.OrderPrice += jxSku2.SalePrice * int64(jxSku2.Count) + outJxOrder.OrderPrice += int64(jxSku.Count) * jxSku.SalePrice } - } else { - 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 - } - } else if jxSku.SkuID == 6039383 || jxSku.SkuID == 6039384 || jxSku.SkuID == 6039387 || jxSku.SkuID == 6039390 { //这些袋子是一份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 if jxSku.SkuID == 6039383 || jxSku.SkuID == 6039384 || jxSku.SkuID == 6039387 || jxSku.SkuID == 6039390 { //这些袋子是一份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))) + outJxOrder.Weight += jxSku2.Count * jxSku2.Weight + 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 { - jxSku2 := *jxSku - jxSku2.SalePrice = jxSku.SalePrice - jxSku2.Count = int(int64(jxSku.Count) - utils.Float64TwoInt64(math.Ceil(utils.Int2Float64(sum)/200))) - outJxOrder.Weight += jxSku2.Count * jxSku2.Weight - 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) + outJxOrder.OrderPrice += int64(jxSku.Count) * jxSku.SalePrice } - } else { - 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 + } else { + outJxOrder.Skus = append(outJxOrder.Skus, jxSku) + outJxOrder.OrderPrice += int64(jxSku.Count) * jxSku.SalePrice } - } else { - outJxOrder.Skus = append(outJxOrder.Skus, jxSku) - outJxOrder.OrderPrice += int64(jxSku.Count) * jxSku.SalePrice } } } diff --git a/business/partner/purchase/jx/localjx/tonglianpay.go b/business/partner/purchase/jx/localjx/tonglianpay.go index 9faeb1aeb..e7d60b769 100644 --- a/business/partner/purchase/jx/localjx/tonglianpay.go +++ b/business/partner/purchase/jx/localjx/tonglianpay.go @@ -2,7 +2,6 @@ package localjx import ( "encoding/json" - "fmt" "strings" "time" @@ -12,7 +11,6 @@ import ( "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/business/auth2/authprovider/weixin" - "git.rosy.net.cn/jx-callback/business/jxcallback/orderman" "git.rosy.net.cn/jx-callback/business/jxutils" "git.rosy.net.cn/jx-callback/business/jxutils/jxcontext" "git.rosy.net.cn/jx-callback/business/model" @@ -21,12 +19,12 @@ import ( ) func pay4OrderByTL(ctx *jxcontext.Context, order *model.GoodsOrder, vendorPayType string) (orderPay *model.OrderPay, err error) { - if order.FromStoreID != 0 { - result, _ := orderman.GetMatterStoreOrderCount(nil, order.FromStoreID) - if !result.Flag { - return nil, fmt.Errorf("该门店[%v]已在一周内申请过物料,请勿重复申请!", order.FromStoreID) - } - } + // if order.FromStoreID != 0 { + // result, _ := orderman.GetMatterStoreOrderCount(nil, order.FromStoreID) + // if !result.Flag { + // return nil, fmt.Errorf("该门店[%v]已在一周内申请过物料,请勿重复申请!", order.FromStoreID) + // } + // } payCreatedAt := time.Now() param := &tonglianpayapi.CreateUnitorderOrderParam{ Trxamt: int(order.ActualPayPrice),