物料订单取消一周买一次的限制,改为优惠价
This commit is contained in:
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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),
|
||||
|
||||
Reference in New Issue
Block a user