1
This commit is contained in:
@@ -487,25 +487,30 @@ func (c *OrderManager) ExportOrders(ctx *jxcontext.Context, fromDateStr, toDateS
|
||||
for _, v := range orders {
|
||||
if afsInfo := afsSkuMap[jxutils.ComposeUniversalOrderID(v.VendorOrderID, v.VendorID)]; afsInfo != nil {
|
||||
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 {
|
||||
minus = v.SkuCount2
|
||||
}
|
||||
// SkuCount2 4
|
||||
// SkuCount2 1
|
||||
// minus 1
|
||||
v.SkuCount2 -= minus // 3 0
|
||||
if minus == 0 && v.EarningType == model.EarningTypeQuote { // 有售后单,且通过,部分商品缺重等情况
|
||||
if afsInfo[v.SkuID].Count == model.NO { // 退差价的,count还在
|
||||
// 300 - 413/1*300
|
||||
|
||||
if minus == 0 { // 退差价的,count还在
|
||||
if afsInfo[v.SkuID].Count == model.NO && v.EarningType == model.EarningTypeQuote {
|
||||
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.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 {
|
||||
|
||||
Reference in New Issue
Block a user