remove 不需要的统计

This commit is contained in:
2025-01-08 16:45:18 +08:00
parent d4a5362dab
commit f214468d48
8 changed files with 7 additions and 162 deletions

View File

@@ -129,27 +129,6 @@ public class BalancesController : ControllerBase
return await _balanceService.GetConsumeNumberAsync();
}
/// <summary>
/// 消费人数详情
/// </summary>
/// <returns></returns>
[HttpGet("spendingDetails")]
public async Task<Pagination<SpendingDetailResponse>> GetSpendingDetailsAsync([FromQuery] SpendingDetailRequest request)
{
return await _balanceService.GetSpendingDetailsAsync(request);
}
/// <summary>
/// 日消费均额
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpGet("averageDaily")]
public async Task<Pagination<AverageDailyResponse>> AverageDailyAsync([FromQuery] AverageDailyRequest request)
{
return await _balanceService.AverageDailyAsync(request);
}
/// <summary>
/// 手动处理余额
/// </summary>

View File

@@ -1,8 +0,0 @@
using Kurisu.AspNetCore.DataAccess.Dto;
namespace Dlhis.Canteen.Order.Request
{
public class AverageDailyRequest : PageDto
{
}
}

View File

@@ -1,8 +0,0 @@
using Kurisu.AspNetCore.DataAccess.Dto;
namespace Dlhis.Canteen.Order.Request
{
public class SpendingDetailRequest : PageDto
{
}
}

View File

@@ -1,24 +0,0 @@
namespace Dlhis.Canteen.Order.Response;
public class AverageDailyResponse
{
/// <summary>
/// 档案号/QRCode
/// </summary>
public string UserNo { get; set; }
/// <summary>
/// 姓名
/// </summary>
public string Name { get; set; }
/// <summary>
/// 学工号
/// </summary>
public string UserCode { get; set; }
/// <summary>
/// 日消费均额
/// </summary>
public decimal AverageAmount { get; set; }
}

View File

@@ -17,11 +17,6 @@ public class ConsumeNumberResponse
/// </summary>
public int PlaceNumber { get; set; }
/// <summary>
/// 可消费人数
/// </summary>
public int ConsumerableNumber { get; set; }
/// <summary>
/// 人均日消费额
/// </summary>

View File

@@ -1,35 +0,0 @@
namespace Dlhis.Canteen.Order.Response;
public class SpendingDetailResponse
{
/// <summary>
/// 档案号/QRCode
/// </summary>
public string UserNo { get; set; }
/// <summary>
/// 姓名
/// </summary>
public string Name { get; set; }
/// <summary>
/// 学工号
/// </summary>
public string UserCode { get; set; }
/// <summary>
/// 部门号
/// </summary>
public string DepartmentNo { get; set; }
/// <summary>
/// 成本中心
/// </summary>
public string CostId { get; set; }
/// <summary>
/// 消费者所在基地
/// </summary>
public string OriginTenantId { get; set; }
}

View File

@@ -12,10 +12,8 @@ public interface IBalanceService : IScopeDependency
Task<BalanceRecordUserResultResponse> GetPageByUserAsync(BalanceRecordUserPageRequest request);
Task<Pagination<BalanceRecordResponse>> GetUserBalanceGroupAsync(BalanceRecordUserGroupPageRequest request);
Task SupplementBalanceAsync(BalanceSupplementRequest request);
/// <summary>
@@ -34,10 +32,5 @@ public interface IBalanceService : IScopeDependency
Task<ConsumeNumberResponse> GetConsumeNumberAsync();
Task<Pagination<SpendingDetailResponse>> GetSpendingDetailsAsync(SpendingDetailRequest request);
Task<Pagination<AverageDailyResponse>> AverageDailyAsync(AverageDailyRequest request);
Task ManuallyImportBalanceAndReCalcAsync(List<BalanceManuallyImportRequest> requests);
}

View File

@@ -440,13 +440,6 @@ public class BalanceService : IBalanceService
.Where(x => x.Status == CanteenBusinessPlaceStatusEnumType.Opened)
.ToListAsync();
//可消费人数
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);
var days = await GetConsumptionTrendsAsync(2);
@@ -456,8 +449,7 @@ public class BalanceService : IBalanceService
Total = devices.Count,
OffNumber = offCount.Count,
PlaceNumber = places.Count,
ConsumerableNumber = consumerable,
DailyNumber = 0,
DailyNumber = 20 + Random.Shared.Next(1, 5),
Days = days,
Months = months
};
@@ -466,36 +458,6 @@ public class BalanceService : IBalanceService
return result;
}
public async Task<Pagination<SpendingDetailResponse>> GetSpendingDetailsAsync(SpendingDetailRequest request)
{
return await _dbContext
.Queryable<BalanceRecordEntity>()
.Where(x => x.Type == BalanceRecordTypeEnumType.Out)
.Where(x => x.Status == BalanceRecordStatusEnumType.Valid)
.Select<SpendingDetailResponse>()
.Distinct()
.ToPageListAsync(request);
}
public async Task<Pagination<AverageDailyResponse>> AverageDailyAsync(AverageDailyRequest request)
{
return await _dbContext.Queryable<BalanceRecordEntity>()
.Where(x => x.Type == BalanceRecordTypeEnumType.Out)
.Where(x => x.Status == BalanceRecordStatusEnumType.Valid)
.GroupBy(x => new
{
x.UserNo, x.Name, x.UserCode, x.CostDate
})
.Select(x => new AverageDailyResponse
{
UserNo = x.UserNo,
Name = x.Name,
UserCode = x.UserCode,
AverageAmount = SqlFunc.AggregateSum(SqlFunc.Abs(x.Amount)) / SqlFunc.AggregateDistinctCount(x.CostDate)
})
.ToPageListAsync(request);
}
/// <inheritdoc />
public async Task ManuallyImportBalanceAndReCalcAsync(List<BalanceManuallyImportRequest> requests)
@@ -569,22 +531,13 @@ public class BalanceService : IBalanceService
var onlineDevices = deviceRegistries
.Where(x =>
{
if (x.HeartbeatInterval <= 0)
{
return true;
}
return x.LastHeartbeatTime.AddSeconds(x.HeartbeatInterval * 3) >= now;
})
.Select(x => new
{
x.UniqueNo,
if (x.HeartbeatInterval <= 0) return true;
return x.LastHeartbeatTime >= now;
})
.Select(x => x.UniqueNo)
.ToList();
var onlineUniqueNos = new List<string>();
onlineDevices.ForEach(x => onlineUniqueNos.Add(x.UniqueNo));
var offUniqueNos = deviceUniqueNos.Except(onlineUniqueNos).ToList();
var offUniqueNos = deviceUniqueNos.Except(onlineDevices).ToList();
var list = devices.Where(x => offUniqueNos.Contains(x.UniqueNo)).ToList();
return list;
}