|
@@ -74,15 +74,16 @@ namespace XdCxRhDW.App.Controllers
|
|
|
using (RHDWContext db = new RHDWContext())
|
|
|
{
|
|
|
var query = db.LogRes.AsQueryable();
|
|
|
- if (!string.IsNullOrWhiteSpace(dto.Module))
|
|
|
+ if (!string.IsNullOrWhiteSpace(dto.Module) && dto.Module != "全部")
|
|
|
query = query.Where(p => p.Module == dto.Module);
|
|
|
- if (dto.LogTimeBegin != null)
|
|
|
+ if (dto.LogTimeBegin != null && dto.LogTimeBegin != DateTime.MinValue)
|
|
|
query = query.Where(p => p.LogTime >= dto.LogTimeBegin);
|
|
|
- if (dto.LogTimeEnd != null)
|
|
|
+ if (dto.LogTimeEnd != null && dto.LogTimeEnd != DateTime.MinValue)
|
|
|
query = query.Where(p => p.LogTime <= dto.LogTimeEnd);
|
|
|
var res = await query.OrderBy(p => p.Module).ThenByDescending(t => t.LogTime).ToListAsync();
|
|
|
var dtoRes = res.Select(t => new LogInfoDto
|
|
|
{
|
|
|
+ ID = t.ID,
|
|
|
LogTime = t.LogTime,
|
|
|
LogType = (EnumLogTypeDto)(int)t.LogType,
|
|
|
Module = t.Module,
|
|
@@ -103,10 +104,10 @@ namespace XdCxRhDW.App.Controllers
|
|
|
return Error<List<LogInfoDto>>("日志信息查询异常");
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 获取所有日志模块
|
|
|
/// </summary>
|
|
|
- /// <param name="dto">日志查询参数</param>
|
|
|
/// <returns></returns>
|
|
|
[HttpPost]
|
|
|
public async Task<AjaxResult<List<LogModulesResDto>>> GetModules()
|
|
@@ -119,7 +120,7 @@ namespace XdCxRhDW.App.Controllers
|
|
|
var dtoRes = res.Select(p => new LogModulesResDto()
|
|
|
{
|
|
|
Module = p
|
|
|
- }).OrderBy(p => p).ToList();
|
|
|
+ }).OrderBy(p => p.Module).ToList();
|
|
|
|
|
|
return Success(dtoRes);
|
|
|
}
|
|
@@ -136,5 +137,45 @@ namespace XdCxRhDW.App.Controllers
|
|
|
return Error<List<LogModulesResDto>>("日志模块查询异常");
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 删除日志
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpPost]
|
|
|
+ public async Task<AjaxResult> Delete(IEnumerable<LogDeleteDto> dto)
|
|
|
+ {
|
|
|
+ if (dto == null || !dto.Any()) return Success();
|
|
|
+ try
|
|
|
+ {
|
|
|
+ var ids = dto.Select(p => p.ID);
|
|
|
+ using (RHDWContext db = new RHDWContext())
|
|
|
+ {
|
|
|
+ var delItems = await db.LogRes.Where(p => ids.Contains(p.ID)).ToListAsync();
|
|
|
+ var delItemsReal = db.LogRes.RemoveRange(delItems);
|
|
|
+ db.SaveChanges();
|
|
|
+ await Add(new LogInfoDto()
|
|
|
+ {
|
|
|
+ LogTime = DateTime.Now,
|
|
|
+ LogType = EnumLogTypeDto.Info,
|
|
|
+ Module = "平台",
|
|
|
+ Msg = $"用户删除了{delItemsReal.LongCount()}行日志"
|
|
|
+ });
|
|
|
+ return Success();
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ catch (TaskCanceledException)
|
|
|
+ {
|
|
|
+ Serilog.Log.Warning($"日志信息删除超时.共{dto.Count()}条记录");
|
|
|
+ return Error("日志信息删除超时");
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ Serilog.Log.Error(ex, "日志信息删除异常.共{dto.Count()}条记录");
|
|
|
+ return Error("日志信息删除异常");
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|