diff --git a/OpenAuth.App/ServiceApp/InsTaskHallManager/InsTaskHallApp.cs b/OpenAuth.App/ServiceApp/InsTaskHallManager/InsTaskHallApp.cs index 18a6b6e..a3ec6f6 100644 --- a/OpenAuth.App/ServiceApp/InsTaskHallManager/InsTaskHallApp.cs +++ b/OpenAuth.App/ServiceApp/InsTaskHallManager/InsTaskHallApp.cs @@ -12,6 +12,8 @@ using Microsoft.Extensions.Configuration; using DocumentFormat.OpenXml.Office2010.ExcelAc; using DocumentFormat.OpenXml.Office2010.CustomUI; using NPOI.OpenXmlFormats.Dml; +using Infrastructure.Extensions; +using Moq; namespace OpenAuth.App.ServiceApp.InsTaskHallManager { @@ -48,6 +50,23 @@ namespace OpenAuth.App.ServiceApp.InsTaskHallManager return query; } + /// + /// 完成任务 + /// + /// + public async Task> GetCompleteTaskList() + { + var query = await client.Queryable().Where(r => r.IsCompleted == true&&r.CompleteTime!=null) + .OrderByDescending(r => r.CompleteTime) + .GroupBy(r=>r.CompleteTime.ToString("yyyy-MM-dd")) + .Select(r => new + { + count = SqlFunc.AggregateCount(r.Id), + time= r.CompleteTime.ToString("yyyy-MM-dd") + }).ToListAsync(); + + return query; + } } } diff --git a/OpenAuth.Repository/Domain/InsTask.cs b/OpenAuth.Repository/Domain/InsTask.cs index 9ee9a90..ab77083 100644 --- a/OpenAuth.Repository/Domain/InsTask.cs +++ b/OpenAuth.Repository/Domain/InsTask.cs @@ -99,5 +99,12 @@ namespace OpenAuth.Repository.Domain /// Nullable:False /// public string UpdateUserName { get; set; } + + /// + /// Desc:完成时间 + /// Default: + /// Nullable:true + /// + public DateTime? CompleteTime { get; set; } } } diff --git a/OpenAuth.WebApi/Controllers/ServiceControllers/InsTaskHallController.cs b/OpenAuth.WebApi/Controllers/ServiceControllers/InsTaskHallController.cs index 0419032..a7418c2 100644 --- a/OpenAuth.WebApi/Controllers/ServiceControllers/InsTaskHallController.cs +++ b/OpenAuth.WebApi/Controllers/ServiceControllers/InsTaskHallController.cs @@ -37,5 +37,25 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers } return result; } + + /// + ///已完成任务 + /// + /// + [HttpGet] + public async Task>> GetCompleteTaskList() + { + var result = new Response>(); + try + { + result.Result = await _app.GetCompleteTaskList(); + } + catch (Exception ex) + { + result.Code = 500; + result.Message = ex.InnerException?.Message ?? ex.Message; + } + return result; + } } }