1
This commit is contained in:
@@ -487,25 +487,30 @@ func (c *OrderManager) ExportOrders(ctx *jxcontext.Context, fromDateStr, toDateS
|
|||||||
for _, v := range orders {
|
for _, v := range orders {
|
||||||
if afsInfo := afsSkuMap[jxutils.ComposeUniversalOrderID(v.VendorOrderID, v.VendorID)]; afsInfo != nil {
|
if afsInfo := afsSkuMap[jxutils.ComposeUniversalOrderID(v.VendorOrderID, v.VendorID)]; afsInfo != nil {
|
||||||
if afsInfo[v.SkuID] != nil && afsInfo[v.SkuID].Count >= 0 {
|
if afsInfo[v.SkuID] != nil && afsInfo[v.SkuID].Count >= 0 {
|
||||||
minus := afsInfo[v.SkuID].Count // 1
|
minus := afsInfo[v.SkuID].Count
|
||||||
if minus > v.SkuCount2 {
|
if minus > v.SkuCount2 {
|
||||||
minus = v.SkuCount2
|
minus = v.SkuCount2
|
||||||
}
|
}
|
||||||
// SkuCount2 4
|
|
||||||
// SkuCount2 1
|
if minus == 0 { // 退差价的,count还在
|
||||||
// minus 1
|
if afsInfo[v.SkuID].Count == model.NO && v.EarningType == model.EarningTypeQuote {
|
||||||
v.SkuCount2 -= minus // 3 0
|
|
||||||
if minus == 0 && v.EarningType == model.EarningTypeQuote { // 有售后单,且通过,部分商品缺重等情况
|
|
||||||
if afsInfo[v.SkuID].Count == model.NO { // 退差价的,count还在
|
|
||||||
// 300 - 413/1*300
|
|
||||||
v.SkuShopPrice = v.SkuShopPrice - utils.Float64TwoInt(float64(afsInfo[v.SkuID].UserMoney)/float64(v.SkuSalePrice)*float64(v.SkuShopPrice))
|
v.SkuShopPrice = v.SkuShopPrice - utils.Float64TwoInt(float64(afsInfo[v.SkuID].UserMoney)/float64(v.SkuSalePrice)*float64(v.SkuShopPrice))
|
||||||
v.SkuEarningPrice = v.SkuEarningPrice - utils.Float64TwoInt(float64(afsInfo[v.SkuID].UserMoney)/float64(v.SkuSalePrice)*float64(v.SkuEarningPrice))
|
v.SkuEarningPrice = v.SkuEarningPrice - utils.Float64TwoInt(float64(afsInfo[v.SkuID].UserMoney)/float64(v.SkuSalePrice)*float64(v.SkuEarningPrice))
|
||||||
v.SkuSalePrice = v.SkuSalePrice - int(afsInfo[v.SkuID].UserMoney)
|
v.SkuSalePrice = v.SkuSalePrice - int(afsInfo[v.SkuID].UserMoney)
|
||||||
} else if afsInfo[v.SkuID].Count == model.YES { // 整个退
|
}
|
||||||
|
} else {
|
||||||
|
// 同一个商品有多个商品列表,且有不定退货
|
||||||
|
ordersByOrder, _, _ := dao.GetOrders(dao.GetDB(), nil, true, true, fromDateStr, toDateStr, false, nil, false, "", map[string]interface{}{"orderID": v.VendorOrderID}, 0, model.UnlimitedPageSize)
|
||||||
|
if len(ordersByOrder) == 1 {
|
||||||
|
v.SkuCount2 -= minus
|
||||||
|
} else {
|
||||||
|
for _, obo := range ordersByOrder {
|
||||||
|
if obo.SkuCount2 == v.SkuCount2 && obo.SkuCount2 == minus {
|
||||||
|
v.SkuCount2 -= minus
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
afsInfo[v.SkuID].Count -= minus
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if v.SkuCount2 > 0 {
|
if v.SkuCount2 > 0 {
|
||||||
|
|||||||
Reference in New Issue
Block a user