订单结算价根据活动结算价修改
This commit is contained in:
@@ -364,17 +364,28 @@ func (c *OrderManager) updateOrderSkuOtherInfo(order *model.GoodsOrder, db *dao.
|
||||
salePrice = 0
|
||||
}
|
||||
v.EarningPrice = jxutils.CaculateSkuEarningPrice(v.ShopPrice, salePrice, storePayPercentage)
|
||||
//重复购买有结算价的商品需要拆分,第一个商品按结算价,后面的商品按shopprice 或者 saleprice,然后把原来的商品信息删了
|
||||
if v.Count > 1 && v.EarningPrice != 0 {
|
||||
sku := v
|
||||
sku.Count = v.Count - 1
|
||||
v.Count = 1
|
||||
if v.ShopPrice < v.SalePrice {
|
||||
sku.EarningPrice = v.ShopPrice
|
||||
//TODO 重复购买有结算价的商品需要拆分,第一个商品按结算价,后面的商品按shopprice 或者 saleprice, 2020-05-06
|
||||
if v.Count > 1 {
|
||||
storeID := 0
|
||||
if order.StoreID == 0 {
|
||||
storeID = order.JxStoreID
|
||||
} else {
|
||||
sku.EarningPrice = v.SalePrice
|
||||
storeID = order.StoreID
|
||||
}
|
||||
result, _ := dao.GetEffectiveActStoreSkuInfo(db, 0, nil, 0, []int{storeID}, []int{v.SkuID}, order.OrderCreatedAt, order.OrderCreatedAt)
|
||||
if len(result) > 0 {
|
||||
if result[0].EarningPrice != 0 {
|
||||
sku := v
|
||||
sku.Count = v.Count - 1
|
||||
v.Count = 1
|
||||
if v.ShopPrice < v.SalePrice {
|
||||
sku.EarningPrice = v.ShopPrice
|
||||
} else {
|
||||
sku.EarningPrice = v.SalePrice
|
||||
}
|
||||
orderSkus = append(orderSkus, sku)
|
||||
}
|
||||
}
|
||||
orderSkus = append(orderSkus, sku)
|
||||
}
|
||||
}
|
||||
// 直营店始终按比例结算,不考虑活动与结算表
|
||||
|
||||
@@ -332,44 +332,53 @@ func (c *OrderManager) ExportOrders(ctx *jxcontext.Context, fromDateStr, toDateS
|
||||
order.SkuInfo2 += ";" + skuStr1
|
||||
}
|
||||
} else if v.SkuCount2 > 1 {
|
||||
if v.SkuEarningPrice != 0 {
|
||||
skuStr1 := strings.Join([]string{
|
||||
utils.Int2Str(v.SkuID),
|
||||
utils.Int2Str(v.SkuCount2),
|
||||
utils.Int2Str(v.SkuShopPrice),
|
||||
utils.Int2Str(v.SkuSalePrice),
|
||||
utils.Int2Str(v.SkuEarningPrice),
|
||||
}, ",")
|
||||
skuStr2 := strings.Join([]string{
|
||||
utils.Int2Str(v.SkuID),
|
||||
utils.Int2Str(1),
|
||||
utils.Int2Str(v.SkuShopPrice),
|
||||
utils.Int2Str(v.SkuSalePrice),
|
||||
utils.Int2Str(v.SkuEarningPrice),
|
||||
}, ",")
|
||||
price := 0
|
||||
if v.SkuShopPrice < v.SkuSalePrice {
|
||||
price = v.SkuShopPrice
|
||||
} else {
|
||||
price = v.SkuSalePrice
|
||||
}
|
||||
skuStr3 := strings.Join([]string{
|
||||
utils.Int2Str(v.SkuID),
|
||||
utils.Int2Str(v.SkuCount2 - 1),
|
||||
utils.Int2Str(v.SkuShopPrice),
|
||||
utils.Int2Str(v.SkuSalePrice),
|
||||
utils.Int2Str(price),
|
||||
}, ",")
|
||||
if order == nil || v.ID != order.ID {
|
||||
order = v
|
||||
v.CourierVendorName = model.VendorChineseNames[v.WaybillVendorID]
|
||||
v.Status2 = model.OrderStatusName[v.Status]
|
||||
v.SkuInfo = skuStr1
|
||||
v.SkuInfo2 = skuStr2 + ";" + skuStr3
|
||||
orders2 = append(orders2, v)
|
||||
} else {
|
||||
order.SkuInfo += ";" + skuStr1
|
||||
order.SkuInfo2 += ";" + skuStr2 + ";" + skuStr3
|
||||
storeID := 0
|
||||
if v.StoreID == 0 {
|
||||
storeID = v.JxStoreID
|
||||
} else {
|
||||
storeID = v.StoreID
|
||||
}
|
||||
result, _ := dao.GetEffectiveActStoreSkuInfo(dao.GetDB(), 0, nil, 0, []int{storeID}, []int{v.SkuID}, v.OrderCreatedAt, v.OrderCreatedAt)
|
||||
if len(result) > 0 {
|
||||
if result[0].EarningPrice != 0 {
|
||||
skuStr1 := strings.Join([]string{
|
||||
utils.Int2Str(v.SkuID),
|
||||
utils.Int2Str(v.SkuCount2),
|
||||
utils.Int2Str(v.SkuShopPrice),
|
||||
utils.Int2Str(v.SkuSalePrice),
|
||||
utils.Int2Str(v.SkuEarningPrice),
|
||||
}, ",")
|
||||
skuStr2 := strings.Join([]string{
|
||||
utils.Int2Str(v.SkuID),
|
||||
utils.Int2Str(1),
|
||||
utils.Int2Str(v.SkuShopPrice),
|
||||
utils.Int2Str(v.SkuSalePrice),
|
||||
utils.Int2Str(v.SkuEarningPrice),
|
||||
}, ",")
|
||||
price := 0
|
||||
if v.SkuShopPrice < v.SkuSalePrice {
|
||||
price = v.SkuShopPrice
|
||||
} else {
|
||||
price = v.SkuSalePrice
|
||||
}
|
||||
skuStr3 := strings.Join([]string{
|
||||
utils.Int2Str(v.SkuID),
|
||||
utils.Int2Str(v.SkuCount2 - 1),
|
||||
utils.Int2Str(v.SkuShopPrice),
|
||||
utils.Int2Str(v.SkuSalePrice),
|
||||
utils.Int2Str(price),
|
||||
}, ",")
|
||||
if order == nil || v.ID != order.ID {
|
||||
order = v
|
||||
v.CourierVendorName = model.VendorChineseNames[v.WaybillVendorID]
|
||||
v.Status2 = model.OrderStatusName[v.Status]
|
||||
v.SkuInfo = skuStr1
|
||||
v.SkuInfo2 = skuStr2 + ";" + skuStr3
|
||||
orders2 = append(orders2, v)
|
||||
} else {
|
||||
order.SkuInfo += ";" + skuStr1
|
||||
order.SkuInfo2 += ";" + skuStr2 + ";" + skuStr3
|
||||
}
|
||||
}
|
||||
} else {
|
||||
skuStr1 := strings.Join([]string{
|
||||
|
||||
Reference in New Issue
Block a user