fix 临时注释慢查询

This commit is contained in:
2024-08-27 14:48:43 +08:00
parent 4cb7d419de
commit b269ce034b

View File

@@ -436,14 +436,12 @@ public class BalanceService : IBalanceService
.Where(x => x.Status == CanteenBusinessPlaceStatusEnumType.Opened)
.ToListAsync();
//所有消费数据
var bs = await _dbContext.Queryable<BalanceRecordEntity>()
.Where(x => x.Type == BalanceRecordTypeEnumType.Out)
.Where(x => x.Status == BalanceRecordStatusEnumType.Valid)
.ToListAsync();
//可消费人数
var consumerable = bs.DistinctBy(x => x.UserCode).Count();
var consumerable = await _dbContext.Queryable<BalanceRecordEntity>()
.Where(x => x.Type == BalanceRecordTypeEnumType.Out && x.Status == BalanceRecordStatusEnumType.Valid)
.Select(x => x.UserCode)
.Distinct()
.CountAsync();
//消费走势
var months = await GetConsumptionTrendsAsync(1);
@@ -655,11 +653,12 @@ public class BalanceService : IBalanceService
private async Task<List<ConsumptionTrendResponse>> GetConsumptionTrendsAsync(int type)
{
var bs = await _dbContext.Queryable<BalanceRecordEntity>()
.Where(x => x.Type == BalanceRecordTypeEnumType.Out)
.ToListAsync();
//todo
//消费总额
var totalAmount = Math.Round(Math.Abs(bs.Sum(x => x.Amount)), 2);
var totalAmount = await _dbContext.Queryable<BalanceRecordEntity>()
.Where(x => x.Type == BalanceRecordTypeEnumType.Out && x.Status == BalanceRecordStatusEnumType.Valid)
.SumAsync(x => SqlFunc.Abs(x.Amount));
var list = new List<ConsumptionTrendResponse>();
if (type == 1)
@@ -669,13 +668,10 @@ public class BalanceService : IBalanceService
foreach (var month in months)
{
var currentAmount = Math.Round(Math.Abs(bs.Where(x => x.CostDateTime.ToString("yyyy-MM") == month)
.Sum(x => x.Amount)), 2);
var res = new ConsumptionTrendResponse
{
DateTime = month,
CurrentAmount = currentAmount,
CurrentAmount = 0,
TotalAmount = totalAmount
};
list.Add(res);
@@ -688,13 +684,10 @@ public class BalanceService : IBalanceService
foreach (var day in days)
{
var currentAmount = Math.Round(Math.Abs(bs.Where(x => x.CostDateTime.ToString("yyyy-MM-dd") == day)
.Sum(x => x.Amount)), 2);
var res = new ConsumptionTrendResponse
{
DateTime = day,
CurrentAmount = currentAmount,
CurrentAmount = 0,
TotalAmount = totalAmount
};
list.Add(res);