remove 不需要的统计
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
using Kurisu.AspNetCore.DataAccess.Dto;
|
||||
|
||||
namespace Dlhis.Canteen.Order.Request
|
||||
{
|
||||
public class AverageDailyRequest : PageDto
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
using Kurisu.AspNetCore.DataAccess.Dto;
|
||||
|
||||
namespace Dlhis.Canteen.Order.Request
|
||||
{
|
||||
public class SpendingDetailRequest : PageDto
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -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; }
|
||||
}
|
||||
@@ -17,11 +17,6 @@ public class ConsumeNumberResponse
|
||||
/// </summary>
|
||||
public int PlaceNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 可消费人数
|
||||
/// </summary>
|
||||
public int ConsumerableNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 人均日消费额
|
||||
/// </summary>
|
||||
|
||||
@@ -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; }
|
||||
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user