浏览代码

修复日志列表报错

qinchaoyue 3 月之前
父节点
当前提交
d3ece31377
共有 2 个文件被更改,包括 24 次插入20 次删除
  1. 23 19
      src/Hotline.Api/Controllers/SysController.cs
  2. 1 1
      src/Hotline.Share/Dtos/Settings/SystemLogDto.cs

+ 23 - 19
src/Hotline.Api/Controllers/SysController.cs

@@ -57,7 +57,7 @@ namespace Hotline.Api.Controllers
         private readonly IServiceScopeFactory _serviceScopeFactory;
         private readonly IRedisCachingProvider _redisCaching;
         private readonly IEasyCachingProvider _easyCaching;
-		private readonly IOptionsSnapshot<AppConfiguration> _appOptions;
+        private readonly IOptionsSnapshot<AppConfiguration> _appOptions;
 
         /// <summary>
         /// 系统管理相关接口
@@ -475,9 +475,9 @@ namespace Hotline.Api.Controllers
         [HttpGet("common-list")]
         public async Task<IReadOnlyList<SystemCommonOpinion>> GetCommon([FromQuery] ECommonType commonType, bool isOpen)
         {
-            return await _commonOpinionRepository.Queryable().Where(x => x.CommonType == commonType )
-			    .WhereIF(isOpen == true, x =>(x.IsOpen == true || (x.CreatorOrgId == _sessionContext.RequiredOrgId && x.AttributionType == ECommonAttributionType.Org && x.IsOpen == false)))
-				.WhereIF(isOpen == false, x => x.IsOpen == false && x.CreatorId == _sessionContext.RequiredUserId).ToListAsync();
+            return await _commonOpinionRepository.Queryable().Where(x => x.CommonType == commonType)
+                .WhereIF(isOpen == true, x => (x.IsOpen == true || (x.CreatorOrgId == _sessionContext.RequiredOrgId && x.AttributionType == ECommonAttributionType.Org && x.IsOpen == false)))
+                .WhereIF(isOpen == false, x => x.IsOpen == false && x.CreatorId == _sessionContext.RequiredUserId).ToListAsync();
         }
 
         /// <summary>
@@ -567,20 +567,24 @@ namespace Hotline.Api.Controllers
         [HttpGet("log_list")]
         public async Task<PagedDto<SystemLogDto>> List([FromQuery] SysLogPagedKeywordRequest dto)
         {
-	        var (total, items) = await _systemLogRepository.Queryable()
-		        .WhereIF(dto.IsAll.HasValue && !dto.IsAll.Value, x => !string.IsNullOrEmpty(x.Name))
-		        .WhereIF(!string.IsNullOrEmpty(dto.Name), x => x.Name.Contains(dto.Name))
-		        .WhereIF(!string.IsNullOrEmpty(dto.CreatorName), x => x.CreatorName.Contains(dto.CreatorName))
-		        .WhereIF(!string.IsNullOrEmpty(dto.ExecuteUrl), x => x.ExecuteUrl.Contains(dto.ExecuteUrl))
-		        .WhereIF(!string.IsNullOrEmpty(dto.ExecuteParam),
-			        x => SqlFunc.JsonLike(x.ExecuteParam, dto.ExecuteParam))
-		        .WhereIF(dto.StartTime.HasValue && dto.EndTime.HasValue,
-			        x => x.CreationTime >= dto.StartTime && x.CreationTime <= dto.EndTime)
-		        //.WhereIF(!string.IsNullOrEmpty(dto.Keyword), x => x.Name.Contains(dto.Keyword!) || x.CreatorName.Contains(dto.Keyword!))
-		        .OrderByDescending(x => x.CreationTime)
-		        .ToPagedListAsync(dto.PageIndex, dto.PageSize, HttpContext.RequestAborted);
-            return new PagedDto<SystemLogDto>(total, _mapper.Map<IReadOnlyList<SystemLogDto>>(items));
-            
+            var (total, items) = await _systemLogRepository.Queryable()
+                .WhereIF(dto.IsAll.HasValue && !dto.IsAll.Value, x => !string.IsNullOrEmpty(x.Name))
+                .WhereIF(!string.IsNullOrEmpty(dto.Name), x => x.Name.Contains(dto.Name))
+                .WhereIF(!string.IsNullOrEmpty(dto.CreatorName), x => x.CreatorName.Contains(dto.CreatorName))
+                .WhereIF(!string.IsNullOrEmpty(dto.ExecuteUrl), x => x.ExecuteUrl.Contains(dto.ExecuteUrl))
+                .WhereIF(!string.IsNullOrEmpty(dto.ExecuteParam),
+                    x => SqlFunc.JsonLike(x.ExecuteParam, dto.ExecuteParam))
+                .WhereIF(dto.StartTime.HasValue && dto.EndTime.HasValue,
+                    x => x.CreationTime >= dto.StartTime && x.CreationTime <= dto.EndTime)
+                                //.WhereIF(!string.IsNullOrEmpty(dto.Keyword), x => x.Name.Contains(dto.Keyword!) || x.CreatorName.Contains(dto.Keyword!))
+                .Select(x => new SystemLogDto
+                {
+                    ExecuteParam = x.ExecuteParam
+                }, true)
+                .OrderByDescending(x => x.CreationTime)
+                .ToPagedListAsync(dto.PageIndex, dto.PageSize, HttpContext.RequestAborted);
+            return new PagedDto<SystemLogDto>(total, items);
+
         }
 
         /// <summary>
@@ -652,7 +656,7 @@ namespace Hotline.Api.Controllers
         public async Task<List<string>> GetCacheByKey(string key)
         {
             var cacheResult = new List<string>();
-            var result = await _easyCaching.GetAsync<object>(key,cancellationToken: HttpContext.RequestAborted);
+            var result = await _easyCaching.GetAsync<object>(key, cancellationToken: HttpContext.RequestAborted);
             if (result != null)
             {
                 cacheResult.Add(result.ToJson());

+ 1 - 1
src/Hotline.Share/Dtos/Settings/SystemLogDto.cs

@@ -66,7 +66,7 @@ namespace Hotline.Share.Dtos.Settings
 		/// <summary>
 		/// 请求参数 
 		///</summary>
-		public Dictionary<string, object>? ExecuteParam { get; set; }
+		public object? ExecuteParam { get; set; }
 
 		/// <summary>
 		/// 请求结果