This commit is contained in:
邹宗楠
2024-07-01 09:01:18 +08:00
parent 851d30cbc0
commit 741773cb3e
3 changed files with 27 additions and 26 deletions

View File

@@ -452,15 +452,20 @@ func (c *OrderManager) ExportOrders(ctx *jxcontext.Context, fromDateStr, toDateS
var order *model.GoodsOrderExt
var orders2 []*model.GoodsOrderExt
for _, v := range orders {
globals.SugarLogger.Debugf("========orders := %s", utils.Format4Output(orders, false))
globals.SugarLogger.Debugf("========afsSkuMap := %s", utils.Format4Output(afsSkuMap, false))
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
if minus > v.SkuCount2 {
minus = v.SkuCount2
}
v.SkuCount2 -= minus
if minus == 0 { // 有售后单,且通过,部分商品缺重等情况
if v.EarningType == model.EarningTypeQuote {
v.SkuShopPrice = v.SkuShopPrice - utils.Float64TwoInt(float64(afsInfo[v.SkuID].UserMoney)/float64(v.SkuSalePrice)*float64(v.SkuShopPrice))
v.SkuSalePrice = v.SkuSalePrice - int(afsInfo[v.SkuID].UserMoney)
v.SkuEarningPrice = v.SkuEarningPrice - utils.Float64TwoInt(float64(afsInfo[v.SkuID].UserMoney)/float64(v.SkuSalePrice)*float64(v.SkuEarningPrice))
}
}
afsInfo[v.SkuID].Count -= minus
}
}
@@ -485,9 +490,9 @@ func (c *OrderManager) ExportOrders(ctx *jxcontext.Context, fromDateStr, toDateS
skuStr = strings.Join([]string{
utils.Int2Str(v.SkuID),
utils.Int2Str(v.SkuCount2),
utils.Int2Str(v.SkuShopPrice),
utils.Int2Str(v.SkuSalePrice),
utils.Int2Str(earningPrice),
utils.Int2Str(v.SkuShopPrice), // 本地结算金额
utils.Int2Str(v.SkuSalePrice), // 售卖金额
utils.Int2Str(earningPrice), //
}, ",")
} else { // 扣点
skuStr = strings.Join([]string{
@@ -1293,12 +1298,13 @@ func (c *OrderManager) getAfsOrderSkuInfo4ExportOrders(ctx *jxcontext.Context, f
SELECT t2.*
FROM afs_order t1
JOIN order_sku_financial t2 ON t2.vendor_order_id = t1.vendor_order_id AND t2.vendor_id = t1.vendor_id AND t2.is_afs_order = 1 AND t1.afs_order_id = t2.afs_order_id
WHERE t1.afs_finished_at >= ? AND t1.afs_finished_at <= ? AND t1.status = ?
WHERE t1.afs_finished_at >= ? AND t1.afs_finished_at <= ? AND (t1.status = ? OR t1.status = ?)
`
sqlParams := []interface{}{
fromDate,
toDate,
model.AfsOrderStatusFinished,
model.AfsOrderStatusNew,
}
var skus []*model.OrderSkuFinancial
if err = dao.GetRows(dao.GetDB(), &skus, sql, sqlParams...); err == nil {
@@ -1313,6 +1319,7 @@ func (c *OrderManager) getAfsOrderSkuInfo4ExportOrders(ctx *jxcontext.Context, f
skuMap[key][skuID] = v
} else {
skuMap[key][skuID].Count += v.Count
skuMap[key][skuID].UserMoney += v.UserMoney
}
}
}