fix 查询分页

This commit is contained in:
cheche
2024-01-26 17:40:23 +08:00
parent 40c655c9ff
commit f83afdb4d0
13 changed files with 188 additions and 41 deletions

View File

@@ -82,8 +82,8 @@ public class BalancesController : ControllerBase
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpGet("recordByCostI")]
public async Task<List<BalanceRecordCostIdResponse>> RecordByCostIdAsync([FromQuery] BalanceRecordPageByCostIdRequest request)
[HttpGet("recordByCostId")]
public async Task<Pagination<BalanceRecordCostIdResponse>> RecordByCostIdAsync([FromQuery] BalanceRecordPageByCostIdRequest request)
{
return await _balanceService.RecordByCostIdAsync(request);
}
@@ -105,7 +105,7 @@ public class BalancesController : ControllerBase
/// <param name="request"></param>
/// <returns></returns>
[HttpGet("recordSummaryByNo")]
public async Task<List<BalanceRecordSummaryRespones>> BalanceRecordSummaryByNoAsync([FromQuery] BalanceRecordSummaryRequest request)
public async Task<Pagination<BalanceRecordSummaryRespones>> BalanceRecordSummaryByNoAsync([FromQuery] BalanceRecordSummaryRequest request)
{
return await _balanceService.BalanceRecordSummaryByNoAsync(request);
}
@@ -116,7 +116,7 @@ public class BalancesController : ControllerBase
/// <param name="request"></param>
/// <returns></returns>
[HttpGet("recordSummaryByTid")]
public async Task<List<BalanceRecordSummaryRespones>> BalanceRecordSummaryByTidAsync([FromQuery] BalanceRecordSummaryRequest request)
public async Task<Pagination<BalanceRecordSummaryRespones>> BalanceRecordSummaryByTidAsync([FromQuery] BalanceRecordSummaryRequest request)
{
return await _balanceService.BalanceRecordSummaryByTidAsync(request);
}
@@ -128,7 +128,7 @@ public class BalancesController : ControllerBase
/// <param name="request"></param>
/// <returns></returns>
[HttpGet("BalanceRecordSummaryAsync")]
public async Task<List<BalanceRecordAnalysisRespones>> BalanceRecordAnalysisAsync([FromQuery] BalanceRecordAnalysisRequest request)
public async Task<Pagination<BalanceRecordAnalysisRespones>> BalanceRecordAnalysisAsync([FromQuery] BalanceRecordAnalysisRequest request)
{
return await _balanceService.BalanceRecordAnalysisAsync(request);
}

View File

@@ -1,8 +1,9 @@
using SqlSugar;
using Kurisu.Core.DataAccess.Dto;
using SqlSugar;
namespace Dlhis.Canteen.Order.Request
{
public class BalanceRecordAnalysisRequest
public class BalanceRecordAnalysisRequest : PageDto
{
/// <summary>
/// 开始日期

View File

@@ -14,13 +14,13 @@ public interface IBalanceService : IScopeDependency
Task ObsoluteAsync(BalanceRecordObsoluteRequest request);
Task<List<BalanceRecordCostIdResponse>> RecordByCostIdAsync(BalanceRecordPageByCostIdRequest request);
Task<Pagination<BalanceRecordCostIdResponse>> RecordByCostIdAsync(BalanceRecordPageByCostIdRequest request);
Task<Pagination<BalanceRecordResponse>> RecordPageDetailsAsync(BalanceRecordPageDetailsRequest request);
Task<List<BalanceRecordSummaryRespones>> BalanceRecordSummaryByNoAsync(BalanceRecordSummaryRequest request);
Task<Pagination<BalanceRecordSummaryRespones>> BalanceRecordSummaryByNoAsync(BalanceRecordSummaryRequest request);
Task<List<BalanceRecordSummaryRespones>> BalanceRecordSummaryByTidAsync(BalanceRecordSummaryRequest request);
Task<Pagination<BalanceRecordSummaryRespones>> BalanceRecordSummaryByTidAsync(BalanceRecordSummaryRequest request);
Task<List<BalanceRecordAnalysisRespones>> BalanceRecordAnalysisAsync(BalanceRecordAnalysisRequest request);
Task<Pagination<BalanceRecordAnalysisRespones>> BalanceRecordAnalysisAsync(BalanceRecordAnalysisRequest request);
}

View File

@@ -76,7 +76,7 @@ public class BalanceService : IBalanceService
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public async Task<List<BalanceRecordCostIdResponse>> RecordByCostIdAsync(BalanceRecordPageByCostIdRequest request)
public async Task<Pagination<BalanceRecordCostIdResponse>> RecordByCostIdAsync(BalanceRecordPageByCostIdRequest request)
{
var shiftCodeDict = await GetShiftCode();
@@ -102,20 +102,14 @@ public class BalanceService : IBalanceService
// 每个餐次人数
obj.BreakfastNumberOfPeople = costIdGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Breakfast"]);
obj.LunchNumberOfPeople = costIdGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Lunch"]);
obj.DinnerNumberOfPeople = costIdGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Dinner"]);
obj.LateNightNumberOfPeople = costIdGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["LateNight"]);
//餐次金额
obj.BreakfastAmount = costIdGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Breakfast"]).Sum(x => x.Amount);
obj.LunchAmount = costIdGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Lunch"]).Sum(x => x.Amount);
obj.DinnerAmount = costIdGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Dinner"]).Sum(x => x.Amount);
obj.LateNightAmount = costIdGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["LateNight"]).Sum(x => x.Amount);
// 每个餐次单价
@@ -127,9 +121,23 @@ public class BalanceService : IBalanceService
// 总人数 总金额
obj.TotalNumberOfPeople = obj.BreakfastNumberOfPeople + obj.LunchNumberOfPeople + obj.DinnerNumberOfPeople + obj.LateNightNumberOfPeople;
obj.TotalAmount = obj.BreakfastAmount + obj.LunchAmount + obj.DinnerAmount + obj.LateNightAmount;
lst.Add(obj);
}
return lst;
// 分页操作
var startIndex = (request.PageIndex - 1) * request.PageSize;
var pagedData = lst.Skip(startIndex).Take(request.PageSize).ToList();
var pagination = new Pagination<BalanceRecordCostIdResponse>
{
PageIndex = request.PageIndex,
PageSize = request.PageSize,
Total = lst.Count, // 使用原始列表的总数进行分页
Data = pagedData
};
return pagination;
}
/// <summary>
@@ -188,7 +196,7 @@ public class BalanceService : IBalanceService
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public async Task<List<BalanceRecordSummaryRespones>> BalanceRecordSummaryByNoAsync(BalanceRecordSummaryRequest request)
public async Task<Pagination<BalanceRecordSummaryRespones>> BalanceRecordSummaryByNoAsync(BalanceRecordSummaryRequest request)
{
var shiftCodeDict = await GetShiftCode();
@@ -245,7 +253,19 @@ public class BalanceService : IBalanceService
lst.Add(obj);
}
return lst;
// 分页操作
var startIndex = (request.PageIndex - 1) * request.PageSize;
var pagedData = lst.Skip(startIndex).Take(request.PageSize).ToList();
var pagination = new Pagination<BalanceRecordSummaryRespones>
{
PageIndex = request.PageIndex,
PageSize = request.PageSize,
Total = lst.Count, // 使用原始列表的总数进行分页
Data = pagedData
};
return pagination;
}
/// <summary>
@@ -253,7 +273,7 @@ public class BalanceService : IBalanceService
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public async Task<List<BalanceRecordSummaryRespones>> BalanceRecordSummaryByTidAsync(BalanceRecordSummaryRequest request)
public async Task<Pagination<BalanceRecordSummaryRespones>> BalanceRecordSummaryByTidAsync(BalanceRecordSummaryRequest request)
{
var shiftCodeDict = await GetShiftCode();
@@ -309,7 +329,19 @@ public class BalanceService : IBalanceService
obj.TotalAmount = obj.BreakfastAmount + obj.LunchAmount + obj.DinnerAmount + obj.LateNightAmount;
lst.Add(obj);
}
return lst;
// 分页操作
var startIndex = (request.PageIndex - 1) * request.PageSize;
var pagedData = lst.Skip(startIndex).Take(request.PageSize).ToList();
var pagination = new Pagination<BalanceRecordSummaryRespones>
{
PageIndex = request.PageIndex,
PageSize = request.PageSize,
Total = lst.Count, // 使用原始列表的总数进行分页
Data = pagedData
};
return pagination;
}
/// <summary>
@@ -317,7 +349,7 @@ public class BalanceService : IBalanceService
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public async Task<List<BalanceRecordAnalysisRespones>> BalanceRecordAnalysisAsync(BalanceRecordAnalysisRequest request)
public async Task<Pagination<BalanceRecordAnalysisRespones>> BalanceRecordAnalysisAsync(BalanceRecordAnalysisRequest request)
{
var shiftCodeDict = await GetShiftCode();
@@ -348,7 +380,19 @@ public class BalanceService : IBalanceService
obj.TotalNumberOfPeople = obj.BreakfastNumberOfPeople + obj.LunchNumberOfPeople + obj.DinnerNumberOfPeople + obj.LateNightNumberOfPeople;
lst.Add(obj);
}
return lst;
// 分页操作
var startIndex = (request.PageIndex - 1) * request.PageSize;
var pagedData = lst.Skip(startIndex).Take(request.PageSize).ToList();
var pagination = new Pagination<BalanceRecordAnalysisRespones>
{
PageIndex = request.PageIndex,
PageSize = request.PageSize,
Total = lst.Count, // 使用原始列表的总数进行分页
Data = pagedData
};
return pagination;
}

View File

@@ -0,0 +1,12 @@
{
"version": 1,
"isRoot": true,
"tools": {
"dotnet-ef": {
"version": "8.0.1",
"commands": [
"dotnet-ef"
]
}
}
}

View File

@@ -3,6 +3,7 @@ using Dlhis.Common.Response;
using Dlhis.Common.Services;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Org.BouncyCastle.Asn1.Ocsp;
namespace Dlhis.Common.Controllers;
@@ -51,19 +52,30 @@ public class ApkFileController : ControllerBase
[HttpPost("local")]
[RequestSizeLimit(100_000_0000)]
public async Task<ApkFileResponse> FormLocalFileUpload([FromForm] ApkRequest request)
public async Task<ApkFileFormLocalResponse> FormLocalFileUpload([FromForm] ApkRequest request)
{
return await _apkFIileService.FormLocalFileUpload(request);
}
/// <summary>
/// 查看最新版本
/// </summary>
/// <param name="fileName"></param>
/// <returns></returns>
[HttpGet("latestFile")]
public async Task<ApkFileFormLocalResponse> LatestFile(string fileName)
{
return await _apkFIileService.LatestFile(fileName);
}
/// <summary>
/// 本地文件下载
/// </summary>
/// <param name="filePath"></param>
/// <param name="fileName"></param>
/// <returns></returns>
[HttpGet("local")]
public IActionResult FormLocalDownloadFile(string filePath)
public IActionResult FormLocalDownloadFile(string fileName)
{
return _apkFIileService.FormLocalDownloadFile(filePath);
return _apkFIileService.FormLocalDownloadFile(fileName);
}
}

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
https://go.microsoft.com/fwlink/?LinkID=208121.
-->
<Project>
<PropertyGroup>
<DeleteExistingFiles>false</DeleteExistingFiles>
<ExcludeApp_Data>false</ExcludeApp_Data>
<LaunchSiteAfterPublish>true</LaunchSiteAfterPublish>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<PublishProvider>FileSystem</PublishProvider>
<PublishUrl>D:\新建下载\迪联科技\common</PublishUrl>
<WebPublishMethod>FileSystem</WebPublishMethod>
<_TargetId>Folder</_TargetId>
</PropertyGroup>
</Project>

View File

@@ -12,6 +12,11 @@
/// </summary>
public int VersionCode { get; set; }
/// <summary>
/// 版本名称
/// </summary>
public int VersionName { get; set; }
/// <summary>
/// 修改信息
/// </summary>

View File

@@ -0,0 +1,25 @@
namespace Dlhis.Common.Response
{
public class ApkFileFormLocalResponse
{
/// <summary>
/// 文件名称
/// </summary>
public string Name { get; set; }
/// <summary>
/// 版本号
/// </summary>
public int VersionCode { get; set; }
/// <summary>
/// 版本名称
/// </summary>
public int VersionName { get; set; }
/// <summary>
/// 修改信息
/// </summary>
public string UpdateMessage { get; set; }
}
}

View File

@@ -19,6 +19,11 @@ namespace Dlhis.Common.Response
/// </summary>
public int VersionCode { get; set; }
/// <summary>
/// 版本名称
/// </summary>
public int VersionName { get; set; }
/// <summary>
/// 修改信息
/// </summary>

View File

@@ -24,13 +24,16 @@ namespace Dlhis.Common.Services;
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
Task<ApkFileResponse> FormLocalFileUpload(ApkRequest request);
Task<ApkFileFormLocalResponse> FormLocalFileUpload(ApkRequest request);
Task<ApkFileFormLocalResponse> LatestFile(string fileName);
/// <summary>
/// 本地下载
/// </summary>
/// <param name="filePath"></param>
/// <param name="fileName"></param>
/// <returns></returns>
IActionResult FormLocalDownloadFile(string filePath);
IActionResult FormLocalDownloadFile(string fileName);
}

View File

@@ -70,7 +70,7 @@ public class ApkFIileService : IApkFIileService
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public async Task<ApkFileResponse> FormLocalFileUpload(ApkRequest request)
public async Task<ApkFileFormLocalResponse> FormLocalFileUpload(ApkRequest request)
{
//上传
var completeFilePath = FormSingleFileUpload(request.formFile);
@@ -88,6 +88,7 @@ public class ApkFIileService : IApkFIileService
Name = fileName,
Url = completeFilePath,
VersionCode = request.VersionCode,
VersionName = request.VersionName,
UpdateMessage = request.UpdateMessage,
};
await _dbContext.InsertAsync(info);
@@ -96,11 +97,12 @@ public class ApkFIileService : IApkFIileService
{
entity.Url = completeFilePath;
entity.VersionCode = request.VersionCode;
entity.VersionName = request.VersionName;
entity.UpdateMessage = request.UpdateMessage;
await _dbContext.UpdateAsync(entity);
}
var newEntity = await _dbContext.Queryable<ApkFileEntity>().Where(x => x.Name == fileName).FirstAsync();
var res = newEntity.Adapt<ApkFileResponse>();
var res = newEntity.Adapt<ApkFileFormLocalResponse>();
return res;
}
@@ -143,17 +145,32 @@ public class ApkFIileService : IApkFIileService
throw;
}
}
/// <summary>
/// 返回最新版本信息
/// </summary>
/// <param name="fileName"></param>
/// <returns></returns>
public async Task<ApkFileFormLocalResponse> LatestFile(string fileName)
{
var info = await _dbContext.Queryable<ApkFileEntity>()
.Where(x => x.Name == fileName)
.OrderByDescending(x => x.VersionCode)
.FirstAsync();
info.ThrowIfNull($"没有{fileName}信息");
var res = info.Adapt<ApkFileFormLocalResponse>();
return res;
}
/// <summary>
/// 本地下载
/// </summary>
/// <param name="filePath"></param>
/// <param name="fileName"></param>
/// <returns></returns>
public IActionResult FormLocalDownloadFile(string filePath)
public IActionResult FormLocalDownloadFile(string fileName)
{
string fileName = Path.GetFileName(filePath);
return new FileStreamResult(new FileStream(filePath, FileMode.Open), "application/octet-stream") { FileDownloadName = fileName };
var filePath = "D:\\apk\\";
string path = filePath + fileName;
return new FileStreamResult(new FileStream(path, FileMode.Open), "application/octet-stream") { FileDownloadName = fileName };
}
}

View File

@@ -32,6 +32,12 @@ public class ApkFileEntity : SugarBaseEntity
[SugarColumn(ColumnDescription = "版本号")]
public int VersionCode { get; set; }
/// <summary>
/// 版本名称
/// </summary>
[SugarColumn(ColumnDescription = "版本名称")]
public int VersionName { get; set; }
/// <summary>
/// 修改信息
/// </summary>