diff --git a/business/jxcallback/orderman/orderman_ext.go b/business/jxcallback/orderman/orderman_ext.go index b64a8db65..13e2375f9 100644 --- a/business/jxcallback/orderman/orderman_ext.go +++ b/business/jxcallback/orderman/orderman_ext.go @@ -487,16 +487,22 @@ 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 + minus := afsInfo[v.SkuID].Count // 1 if minus > v.SkuCount2 { minus = v.SkuCount2 } - v.SkuCount2 -= minus - if minus == 0 { // 有售后单,且通过,部分商品缺重等情况 - if v.EarningType == model.EarningTypeQuote { + // 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 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 { // 整个退 + } } afsInfo[v.SkuID].Count -= minus