Compare commits

..

No commits in common. "d6da655daee90297767d386e135f794b6846f269" and "ac3e2caf780c3dd88f51a025b5924177483cbba3" have entirely different histories.

View File

@ -1215,14 +1215,12 @@ public class OrderRepository : OmsSqlSugarRepository<Order>, IOrderRepository, I
return feeQuery;
}
// SqlSugar:在同一 ISugarQueryable 上 Select 后再 Where/ToPageList,会沿用投影列,
// 导致 Amount/Currency 等未选字段落成默认值(金额全 0、币种空)。候选查询与最终查询拆开。
var candidates = await feeQuery
.Select(f => new { f.Id, f.OrderId, f.Type, f.CostItem, f.ChargingStage })
.ToListAsync(cancellationToken);
if (candidates.Count == 0)
{
return db.Queryable<OrderFee>().Where(_ => false);
return feeQuery.Where(_ => false);
}
var winningIds = candidates
@ -1234,9 +1232,7 @@ public class OrderRepository : OmsSqlSugarRepository<Order>, IOrderRepository, I
.Id)
.ToArray();
return db.Queryable<OrderFee>()
.Where(fee => !fee.IsDeleted)
.Where(f => winningIds.Contains(f.Id));
return feeQuery.Where(f => winningIds.Contains(f.Id));
}
private static int GetChargingStageRank(string? stage) =>