fix 合并餐饮首页接口

This commit is contained in:
cheche
2024-02-23 11:06:54 +08:00
parent e7a4075b78
commit cbb26575ac
4 changed files with 23 additions and 28 deletions

View File

@@ -143,25 +143,9 @@ public class BalancesController : ControllerBase
return await _balanceService.GetConsumeNumberAsync(); return await _balanceService.GetConsumeNumberAsync();
} }
/// <summary>
/// 消费走势
/// </summary>
/// <returns></returns>
[HttpGet("consumptiontrends")]
public async Task<List<ConsumptionTrendResponse>> GetConsumptionTrendsAsync([FromQuery] ConsumptionTrendRequest request)
{
return await _balanceService.GetConsumptionTrendsAsync(request);
}
/// <summary>
/// 餐补走势
/// </summary>
/// <returns></returns>
[HttpGet("supplementtrend")]
public async Task<List<ConsumptionTrendResponse>> GetSupplementTrendsAsync([FromQuery] ConsumptionTrendRequest request)
{
return await _balanceService.GetSupplementTrendsAsync(request);
}
/// <summary> /// <summary>
/// 电子餐券申请记录查询 /// 电子餐券申请记录查询

View File

@@ -26,5 +26,15 @@
/// 人均日消费额 /// 人均日消费额
/// </summary> /// </summary>
public int DailyNumber { get; set; } public int DailyNumber { get; set; }
/// <summary>
/// 日消费额走势图
/// </summary>
public List<ConsumptionTrendResponse> Days { get; set; }
/// <summary>
/// 月消费额走势图
/// </summary>
public List<ConsumptionTrendResponse> Months { get; set; }
} }
} }

View File

@@ -27,9 +27,8 @@ public interface IBalanceService : IScopeDependency
Task<ConsumeNumberResponse> GetConsumeNumberAsync(); Task<ConsumeNumberResponse> GetConsumeNumberAsync();
Task<List<ConsumptionTrendResponse>> GetConsumptionTrendsAsync(ConsumptionTrendRequest request);
Task<List<ConsumptionTrendResponse>> GetSupplementTrendsAsync(ConsumptionTrendRequest request);
Task<Pagination<OaEMealVoucherResponse>> GetOaEMealVoucherAsync([FromQuery] OaEMealVoucherRequest request); Task<Pagination<OaEMealVoucherResponse>> GetOaEMealVoucherAsync([FromQuery] OaEMealVoucherRequest request);

View File

@@ -575,18 +575,25 @@ public class BalanceService : IBalanceService
var monthlySpending = monthbs.Sum(x => x.Amount); var monthlySpending = monthbs.Sum(x => x.Amount);
//当日消费人数 //当日消费人数
var monthlyCount = monthbs.Select(x => x.UserCode).Distinct().Count(); var monthlyCount = monthbs.Select(x => x.UserCode).Distinct().Count();
//消费走势
var months = await GetConsumptionTrendsAsync(ConsumptionTrendEnumType.Month);
var days = await GetConsumptionTrendsAsync(ConsumptionTrendEnumType.Day);
var res = new ConsumeNumberResponse var res = new ConsumeNumberResponse
{ {
Total = devices.Count(), Total = devices.Count(),
OffNumber = offCount, OffNumber = offCount,
PlaceNumber = places.Count(), PlaceNumber = places.Count(),
ConsumerableNumber = consumerable, ConsumerableNumber = consumerable,
DailyNumber = monthlyCount != 0 ? (int)Math.Ceiling(monthlySpending / monthlyCount) : 0 DailyNumber = monthlyCount != 0 ? Math.Abs((int)Math.Ceiling(monthlySpending / monthlyCount)) : 0,
Days = days,
Months = months
}; };
return res; return res;
} }
public async Task<List<ConsumptionTrendResponse>> GetConsumptionTrendsAsync(ConsumptionTrendRequest request) private async Task<List<ConsumptionTrendResponse>> GetConsumptionTrendsAsync(ConsumptionTrendEnumType type)
{ {
var bs = await _dbContext.Queryable<BalanceRecordEntity>() var bs = await _dbContext.Queryable<BalanceRecordEntity>()
.Where(x => x.Type == BalanceRecordTypeEnumType.Out) .Where(x => x.Type == BalanceRecordTypeEnumType.Out)
@@ -595,7 +602,7 @@ public class BalanceService : IBalanceService
var totalAmount = Math.Round(Math.Abs(bs.Sum(x => x.Amount)), 2); var totalAmount = Math.Round(Math.Abs(bs.Sum(x => x.Amount)), 2);
var list = new List<ConsumptionTrendResponse>(); var list = new List<ConsumptionTrendResponse>();
if (request.Type == ConsumptionTrendEnumType.Month) if (type == ConsumptionTrendEnumType.Month)
{ {
//月与总额对比 //月与总额对比
var months = GetMonthsOfYear(); var months = GetMonthsOfYear();
@@ -636,11 +643,6 @@ public class BalanceService : IBalanceService
return list; return list;
} }
public async Task<List<ConsumptionTrendResponse>> GetSupplementTrendsAsync(ConsumptionTrendRequest request)
{
//todo
return new List<ConsumptionTrendResponse>();
}
public async Task<Pagination<OaEMealVoucherResponse>> GetOaEMealVoucherAsync(OaEMealVoucherRequest request) public async Task<Pagination<OaEMealVoucherResponse>> GetOaEMealVoucherAsync(OaEMealVoucherRequest request)
{ {