LogHubService.cs 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. using SqlSugar;
  2. using WMS.BZModels;
  3. using WMS.BZModels.Dto.Log;
  4. using WMS.BZModels.Models.Log;
  5. using WMS.BZSqlSugar;
  6. using WMS.Info;
  7. using Extensions = WMS.BZModels.Extensions;
  8. namespace WMS.BZServices.KLHC
  9. {
  10. /// <summary>
  11. /// 日志中心服务
  12. /// </summary>
  13. public class LogHubService
  14. {
  15. private readonly Repository<LogInfoModel> _logHubRepository;
  16. public LogHubService(Repository<LogInfoModel> logHubRepository)
  17. {
  18. _logHubRepository = logHubRepository;
  19. }
  20. public PagedInfo<LogInfoModelDto> GetPageList(Pagination pagination, LogInfoModeQueryDto wCSTaskinfoQueryDto)
  21. {
  22. var predicate = Expressionable.Create<LogInfoModel>();
  23. predicate = predicate.AndIF(!string.IsNullOrEmpty(wCSTaskinfoQueryDto?.KeyWord), m => m.SourceMethod.ToString().Contains(wCSTaskinfoQueryDto.KeyWord));
  24. predicate = predicate.AndIF(!string.IsNullOrEmpty(wCSTaskinfoQueryDto?.LogLevel), m => m.LogLevel.Equals(wCSTaskinfoQueryDto.LogLevel));
  25. predicate = predicate.AndIF(!string.IsNullOrEmpty(wCSTaskinfoQueryDto?.LogSource), m => m.LogSource.ToString().Contains(wCSTaskinfoQueryDto.LogSource));
  26. predicate = predicate.AndIF(!string.IsNullOrEmpty(wCSTaskinfoQueryDto?.SourceSystem), m => m.SourceSystem.ToString().Contains(wCSTaskinfoQueryDto.SourceSystem));
  27. predicate = predicate.AndIF(!string.IsNullOrEmpty(wCSTaskinfoQueryDto?.SourceClass), m => m.SourceClass.ToString().Contains(wCSTaskinfoQueryDto.SourceClass));
  28. predicate = predicate.AndIF(!string.IsNullOrEmpty(wCSTaskinfoQueryDto?.SourceMethod), m => m.SourceMethod.ToString().Contains(wCSTaskinfoQueryDto.SourceMethod));
  29. var list = _logHubRepository.Queryable().With(SqlWith.NoLock).Where(predicate.ToExpression()).ToPage<LogInfoModel, LogInfoModelDto>(pagination);
  30. return list;
  31. }
  32. /// <summary>
  33. /// 获取日志级别列表
  34. /// </summary>
  35. /// <returns></returns>
  36. public List<EnumEntity> GetLogLevelList()
  37. {
  38. return Extensions.EnumToList<LogLevel>();
  39. }
  40. /// <summary>
  41. /// 获取日志来源列表
  42. /// </summary>
  43. /// <returns></returns>
  44. public List<EnumEntity2> GetLogSourceList()
  45. {
  46. var list = _logHubRepository.Queryable().With(SqlWith.NoLock).GroupBy(x => x.LogSource).Select(x => new EnumEntity2
  47. {
  48. id = x.LogSource.ToString(),
  49. text = x.LogSource.ToString()
  50. }).ToList();
  51. return list;
  52. }
  53. /// <summary>
  54. /// 获取日志来源系统列表
  55. /// </summary>
  56. /// <returns></returns>
  57. public List<EnumEntity2> GetSourceSystemList()
  58. {
  59. var list = _logHubRepository.Queryable().With(SqlWith.NoLock).GroupBy(x => x.SourceSystem).Select(x => new EnumEntity2
  60. {
  61. id = x.SourceSystem.ToString(),
  62. text = x.SourceSystem.ToString()
  63. }).ToList();
  64. return list;
  65. }
  66. /// <summary>
  67. /// 获取日志来源类列表
  68. /// </summary>
  69. /// <returns></returns>
  70. public List<EnumEntity2> GetSourceClassList()
  71. {
  72. var list = _logHubRepository.Queryable().With(SqlWith.NoLock).GroupBy(x => x.SourceClass).Select(x => new EnumEntity2
  73. {
  74. id = x.SourceClass.ToString(),
  75. text = x.SourceClass.ToString()
  76. }).ToList();
  77. return list;
  78. }
  79. /// <summary>
  80. /// 获取日志来源方法列表
  81. /// </summary>
  82. /// <returns></returns>
  83. public List<EnumEntity2> GetSourceMethodList()
  84. {
  85. var list = _logHubRepository.Queryable().With(SqlWith.NoLock).GroupBy(x => x.SourceMethod).Select(x => new EnumEntity2
  86. {
  87. id = x.SourceMethod.ToString(),
  88. text = x.SourceMethod.ToString()
  89. }).ToList();
  90. return list;
  91. }
  92. }
  93. }