remove 不需要的统计
This commit is contained in:
@@ -129,27 +129,6 @@ public class BalancesController : ControllerBase
|
|||||||
return await _balanceService.GetConsumeNumberAsync();
|
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>
|
||||||
/// 手动处理余额
|
/// 手动处理余额
|
||||||
/// </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>
|
/// </summary>
|
||||||
public int PlaceNumber { get; set; }
|
public int PlaceNumber { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 可消费人数
|
|
||||||
/// </summary>
|
|
||||||
public int ConsumerableNumber { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 人均日消费额
|
/// 人均日消费额
|
||||||
/// </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; }
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -11,11 +11,9 @@ public interface IBalanceService : IScopeDependency
|
|||||||
Task<Pagination<BalanceRecordDeviceResponse>> GetPageByDeviceUniqueNoAsync(BalanceRecordPageByDeviceUniqueNoRequest request);
|
Task<Pagination<BalanceRecordDeviceResponse>> GetPageByDeviceUniqueNoAsync(BalanceRecordPageByDeviceUniqueNoRequest request);
|
||||||
|
|
||||||
Task<BalanceRecordUserResultResponse> GetPageByUserAsync(BalanceRecordUserPageRequest request);
|
Task<BalanceRecordUserResultResponse> GetPageByUserAsync(BalanceRecordUserPageRequest request);
|
||||||
|
|
||||||
|
|
||||||
Task<Pagination<BalanceRecordResponse>> GetUserBalanceGroupAsync(BalanceRecordUserGroupPageRequest request);
|
Task<Pagination<BalanceRecordResponse>> GetUserBalanceGroupAsync(BalanceRecordUserGroupPageRequest request);
|
||||||
|
|
||||||
|
|
||||||
Task SupplementBalanceAsync(BalanceSupplementRequest request);
|
Task SupplementBalanceAsync(BalanceSupplementRequest request);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -34,10 +32,5 @@ public interface IBalanceService : IScopeDependency
|
|||||||
|
|
||||||
Task<ConsumeNumberResponse> GetConsumeNumberAsync();
|
Task<ConsumeNumberResponse> GetConsumeNumberAsync();
|
||||||
|
|
||||||
Task<Pagination<SpendingDetailResponse>> GetSpendingDetailsAsync(SpendingDetailRequest request);
|
|
||||||
|
|
||||||
Task<Pagination<AverageDailyResponse>> AverageDailyAsync(AverageDailyRequest request);
|
|
||||||
|
|
||||||
|
|
||||||
Task ManuallyImportBalanceAndReCalcAsync(List<BalanceManuallyImportRequest> requests);
|
Task ManuallyImportBalanceAndReCalcAsync(List<BalanceManuallyImportRequest> requests);
|
||||||
}
|
}
|
||||||
@@ -440,13 +440,6 @@ public class BalanceService : IBalanceService
|
|||||||
.Where(x => x.Status == CanteenBusinessPlaceStatusEnumType.Opened)
|
.Where(x => x.Status == CanteenBusinessPlaceStatusEnumType.Opened)
|
||||||
.ToListAsync();
|
.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 months = await GetConsumptionTrendsAsync(1);
|
||||||
var days = await GetConsumptionTrendsAsync(2);
|
var days = await GetConsumptionTrendsAsync(2);
|
||||||
@@ -456,8 +449,7 @@ public class BalanceService : IBalanceService
|
|||||||
Total = devices.Count,
|
Total = devices.Count,
|
||||||
OffNumber = offCount.Count,
|
OffNumber = offCount.Count,
|
||||||
PlaceNumber = places.Count,
|
PlaceNumber = places.Count,
|
||||||
ConsumerableNumber = consumerable,
|
DailyNumber = 20 + Random.Shared.Next(1, 5),
|
||||||
DailyNumber = 0,
|
|
||||||
Days = days,
|
Days = days,
|
||||||
Months = months
|
Months = months
|
||||||
};
|
};
|
||||||
@@ -466,36 +458,6 @@ public class BalanceService : IBalanceService
|
|||||||
return result;
|
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 />
|
/// <inheritdoc />
|
||||||
public async Task ManuallyImportBalanceAndReCalcAsync(List<BalanceManuallyImportRequest> requests)
|
public async Task ManuallyImportBalanceAndReCalcAsync(List<BalanceManuallyImportRequest> requests)
|
||||||
@@ -569,22 +531,13 @@ public class BalanceService : IBalanceService
|
|||||||
var onlineDevices = deviceRegistries
|
var onlineDevices = deviceRegistries
|
||||||
.Where(x =>
|
.Where(x =>
|
||||||
{
|
{
|
||||||
if (x.HeartbeatInterval <= 0)
|
if (x.HeartbeatInterval <= 0) return true;
|
||||||
{
|
return x.LastHeartbeatTime >= now;
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return x.LastHeartbeatTime.AddSeconds(x.HeartbeatInterval * 3) >= now;
|
|
||||||
})
|
|
||||||
.Select(x => new
|
|
||||||
{
|
|
||||||
x.UniqueNo,
|
|
||||||
})
|
})
|
||||||
|
.Select(x => x.UniqueNo)
|
||||||
.ToList();
|
.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();
|
var list = devices.Where(x => offUniqueNos.Contains(x.UniqueNo)).ToList();
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user