物料订单取消一周买一次的限制,改为优惠价

This commit is contained in:
苏尹岚
2020-04-10 09:05:36 +08:00
parent c635fcef85
commit 7680508cab
2 changed files with 78 additions and 75 deletions

View File

@@ -552,88 +552,93 @@ func generateOrder(ctx *jxcontext.Context, jxOrder *JxOrderInfo, addressID int64
outJxOrder.Skus = append(outJxOrder.Skus, jxSku) outJxOrder.Skus = append(outJxOrder.Skus, jxSku)
outJxOrder.OrderPrice += int64(jxSku.Count) * jxSku.SalePrice outJxOrder.OrderPrice += int64(jxSku.Count) * jxSku.SalePrice
} else { //以下else为物料订单袋子金额和数量处理 } else { //以下else为物料订单袋子金额和数量处理
if result.Count == 0 && result.Flag { //这个条件被认为是新店,袋子限 if !result.Flag { //只要flag是false就按原价申请是true再按订单
if bagMap[jxSku.SkuID] != 0 { //如果他买了袋子第一个袋子算1分钱其余按原价包括所有袋子 outJxOrder.Skus = append(outJxOrder.Skus, jxSku)
if !flag { outJxOrder.OrderPrice += int64(jxSku.Count) * jxSku.SalePrice
salePirce := jxSku.SalePrice } else {
count := jxSku.Count if result.Count == 0 { //这个条件被认为是新店,袋子限量
jxSku.SalePrice = 1 if bagMap[jxSku.SkuID] != 0 { //如果他买了袋子第一个袋子算1分钱其余按原价包括所有袋子
jxSku.Count = 1 if !flag {
outJxOrder.Skus = append(outJxOrder.Skus, jxSku) salePirce := jxSku.SalePrice
outJxOrder.OrderPrice += int64(jxSku.Count) * jxSku.SalePrice count := jxSku.Count
if count > 1 { jxSku.SalePrice = 1
jxSku2 := *jxSku jxSku.Count = 1
jxSku2.SalePrice = salePirce outJxOrder.Skus = append(outJxOrder.Skus, jxSku)
jxSku2.Count = count - 1 outJxOrder.OrderPrice += int64(jxSku.Count) * jxSku.SalePrice
outJxOrder.Skus = append(outJxOrder.Skus, &jxSku2) if count > 1 {
outJxOrder.OrderPrice += int64(jxSku2.Count) * jxSku2.SalePrice jxSku2 := *jxSku
outJxOrder.Weight += jxSku2.Count * jxSku2.Weight 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 { } else {
outJxOrder.Skus = append(outJxOrder.Skus, jxSku) outJxOrder.Skus = append(outJxOrder.Skus, jxSku)
outJxOrder.OrderPrice += int64(jxSku.Count) * jxSku.SalePrice outJxOrder.OrderPrice += int64(jxSku.Count) * jxSku.SalePrice
} }
} else { } else {
outJxOrder.Skus = append(outJxOrder.Skus, jxSku) //袋子总数小于等于销量就是1分钱只要大于销量其他就按原价
outJxOrder.OrderPrice += int64(jxSku.Count) * jxSku.SalePrice //这个袋子规格是一份100个
} if jxSku.SkuID == 6039382 {
} else { if bagMap[jxSku.SkuID] != 0 {
//袋子总数小于等于销量就是1分钱只要大于销量其他就按原价 if sum > 0 {
//这个袋子规格是一份100个 if bagMap[jxSku.SkuID]*jxSku.Count <= sum+100 {
if jxSku.SkuID == 6039382 { jxSku.SalePrice = 1
if bagMap[jxSku.SkuID] != 0 { outJxOrder.Skus = append(outJxOrder.Skus, jxSku)
if sum > 0 { outJxOrder.OrderPrice += int64(1 * jxSku.Count)
if bagMap[jxSku.SkuID]*jxSku.Count <= sum+100 { } else {
jxSku.SalePrice = 1 jxSku2 := *jxSku
outJxOrder.Skus = append(outJxOrder.Skus, jxSku) jxSku2.SalePrice = jxSku.SalePrice
outJxOrder.OrderPrice += int64(1 * jxSku.Count) 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 { } 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, jxSku)
outJxOrder.Skus = append(outJxOrder.Skus, &jxSku2) outJxOrder.OrderPrice += int64(jxSku.Count) * jxSku.SalePrice
outJxOrder.OrderPrice += jxSku.SalePrice * int64(jxSku.Count)
outJxOrder.OrderPrice += jxSku2.SalePrice * int64(jxSku2.Count)
} }
} else { sum = sum - bagMap[jxSku.SkuID]*jxSku.Count
outJxOrder.Skus = append(outJxOrder.Skus, jxSku)
outJxOrder.OrderPrice += int64(jxSku.Count) * jxSku.SalePrice
} }
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 {
} else if jxSku.SkuID == 6039383 || jxSku.SkuID == 6039384 || jxSku.SkuID == 6039387 || jxSku.SkuID == 6039390 { //这些袋子是一份200个 if sum > 0 {
if bagMap[jxSku.SkuID] != 0 { if bagMap[jxSku.SkuID]*jxSku.Count <= sum+200 {
if sum > 0 { jxSku.SalePrice = 1
if bagMap[jxSku.SkuID]*jxSku.Count <= sum+200 { outJxOrder.Skus = append(outJxOrder.Skus, jxSku)
jxSku.SalePrice = 1 outJxOrder.OrderPrice += int64(1 * jxSku.Count)
outJxOrder.Skus = append(outJxOrder.Skus, jxSku) } else {
outJxOrder.OrderPrice += int64(1 * jxSku.Count) 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 { } 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, jxSku)
outJxOrder.Skus = append(outJxOrder.Skus, &jxSku2) outJxOrder.OrderPrice += int64(jxSku.Count) * jxSku.SalePrice
outJxOrder.OrderPrice += jxSku.SalePrice * int64(jxSku.Count)
outJxOrder.OrderPrice += jxSku2.SalePrice * int64(jxSku2.Count)
} }
} else { sum = sum - bagMap[jxSku.SkuID]*jxSku.Count
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
} }
} else {
outJxOrder.Skus = append(outJxOrder.Skus, jxSku)
outJxOrder.OrderPrice += int64(jxSku.Count) * jxSku.SalePrice
} }
} }
} }

View File

@@ -2,7 +2,6 @@ package localjx
import ( import (
"encoding/json" "encoding/json"
"fmt"
"strings" "strings"
"time" "time"
@@ -12,7 +11,6 @@ import (
"git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/auth2/authprovider/weixin" "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"
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext" "git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
"git.rosy.net.cn/jx-callback/business/model" "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) { func pay4OrderByTL(ctx *jxcontext.Context, order *model.GoodsOrder, vendorPayType string) (orderPay *model.OrderPay, err error) {
if order.FromStoreID != 0 { // if order.FromStoreID != 0 {
result, _ := orderman.GetMatterStoreOrderCount(nil, order.FromStoreID) // result, _ := orderman.GetMatterStoreOrderCount(nil, order.FromStoreID)
if !result.Flag { // if !result.Flag {
return nil, fmt.Errorf("该门店[%v]已在一周内申请过物料,请勿重复申请!", order.FromStoreID) // return nil, fmt.Errorf("该门店[%v]已在一周内申请过物料,请勿重复申请!", order.FromStoreID)
} // }
} // }
payCreatedAt := time.Now() payCreatedAt := time.Now()
param := &tonglianpayapi.CreateUnitorderOrderParam{ param := &tonglianpayapi.CreateUnitorderOrderParam{
Trxamt: int(order.ActualPayPrice), Trxamt: int(order.ActualPayPrice),