public async Task <LogItemsListModel> GetLogs(LogsQueryModel filter) { var logs = _context.AnalysisLogs .Where(x => x.AnalysisQueueId == filter.QueueId) .OrderBy(x => x.Id); var total = await logs.CountAsync(); var paginated = await logs .Skip(filter.PageSize *(filter.Page - 1)) .Take(filter.PageSize) .ToListAsync(); var suIds = paginated.Where(x => x.AnalyzedUnitType != StatUnitTypes.EnterpriseGroup) .Select(x => x.AnalyzedUnitId); var egIds = paginated.Where(x => x.AnalyzedUnitType == StatUnitTypes.EnterpriseGroup) .Select(x => x.AnalyzedUnitId); var names = (await _context.StatisticalUnits .Where(su => suIds.Contains(su.RegId)) .ToDictionaryAsync(x => (x.RegId, x.UnitType), x => x.Name)) .Concat(await _context.EnterpriseGroups .Where(eg => egIds.Contains(eg.RegId)) .ToDictionaryAsync(x => (x.RegId, StatUnitTypes.EnterpriseGroup), x => x.Name)) .ToDictionary(x => x.Key, x => x.Value); var result = paginated.Select(x => new LogItemModel { Id = x.Id, SummaryMessages = x.SummaryMessages.Split(';'), UnitId = x.AnalyzedUnitId, UnitName = names[(x.AnalyzedUnitId, x.AnalyzedUnitType)],
public ActionResult GetLogsListByPage(LogsQueryModel logsQuery) { var list = _logsServer.GetLogsByPage(logsQuery, out int Total); return(Json(new MessageModel <PageModel <Logs> >() { success = true, msg = "数据获取成功", response = new PageModel <Logs>() { TotalCount = Total, data = list.ToList(), } })); }
public async Task <IActionResult> GetQueueLog(LogsQueryModel query) => Ok(await _svc.GetLogs(query));