田爽 1 tahun lalu
induk
melakukan
84fdd00f95

+ 7 - 3
src/Hotline.Api/Controllers/KnowledgeController.cs

@@ -367,11 +367,14 @@ namespace Hotline.Api.Controllers
 				   o.Id,
 				   o.Title,
 				   o.Status,
-				   o.Code
+				   o.Code,
+				   o.IsDeleted,
+				   o.ExpiredTime
 			   })
 		   //将结果合并成一个表
 		   .MergeTable()
 		   //取第一条数据
+		   .Where(x=>x.IsDeleted ==false && DateTime.Now <= x.ExpiredTime)
 		   .Where(d => d.index == 1 && d.Status == EKnowledgeStatus.OnShelf)
 		  .ToListAsync();
 			//返回数据
@@ -444,7 +447,7 @@ namespace Hotline.Api.Controllers
 				.Includes(x => x.SystemOrganize)
 				.Includes(x => x.KnowledgeType)
 				.Includes(x => x.HotspotType)
-				.Where(o => o.IsDeleted == false)
+				.Where(x => x.IsDeleted == false)
 				.WhereIF(!string.IsNullOrEmpty(pagedDto.Title), x => x.Title.Contains(pagedDto.Title!))
 				.WhereIF(pagedDto.Status.HasValue, x => x.Status == pagedDto.Status)
 				.WhereIF(pagedDto.IsPublic.HasValue, x => x.IsPublic == pagedDto.IsPublic)
@@ -486,7 +489,7 @@ namespace Hotline.Api.Controllers
 				.Includes(x => x.SystemOrganize)
 				.Includes(x => x.KnowledgeType)
 				.Includes(x => x.HotspotType)
-				.Where(o => o.IsDeleted == false)
+				.Where(x => x.IsDeleted == false)
 				.WhereIF(pagedDto.RetrievalType == EKnowledgeRetrievalType.All && !string.IsNullOrEmpty(pagedDto.Keyword), d => d.Title.Contains(pagedDto.Keyword!) || d.Content.Contains(pagedDto.Keyword!))// || d.Additions.Contains(pagedDto.Keyword)
 				.WhereIF(pagedDto.RetrievalType == EKnowledgeRetrievalType.Title && !string.IsNullOrEmpty(pagedDto.Keyword), d => d.Title.Contains(pagedDto.Keyword!))
 				.WhereIF(pagedDto.RetrievalType == EKnowledgeRetrievalType.Content && !string.IsNullOrEmpty(pagedDto.Keyword), d => d.Content.Contains(pagedDto.Keyword!))
@@ -1021,6 +1024,7 @@ namespace Hotline.Api.Controllers
 			var (total, items) = await _knowledgeCollectRepository.Queryable()
 				.Includes(x=>x.Knowledge)
 				.WhereIF(!string.IsNullOrEmpty(dto.Keyword),x=>x.Knowledge.Title.Contains(dto.Keyword!)||( x.Knowledge.Summary != null &&  x.Knowledge.Summary.Contains(dto.Keyword!)))
+				.Where(x=>x.CreatorId == _sessionContext.UserId)
 				.OrderByDescending(x => x.CreationTime)
 				.ToPagedListAsync(dto.PageIndex, dto.PageSize, HttpContext.RequestAborted);
 			return new PagedDto<KnowledgeCollectDto>(total,_mapper.Map<IReadOnlyList<KnowledgeCollectDto>>(items));

+ 6 - 6
src/Hotline.Share/Dtos/Knowledge/KnowledgeDataDto.cs

@@ -51,7 +51,7 @@ namespace Hotline.Share.Dtos.Knowledge
         /// <summary>
         /// 文档状态名称
         /// </summary>
-        public string StatusName => Status.ToString() == "0" ? "" : Status.GetDescription();
+        public string StatusName => Status.ToString() == "0" ? "" : DateTime.Now > ExpiredTime ? "已过期" : Status.GetDescription();
 
         /// <summary>
         /// 流程ID
@@ -63,6 +63,11 @@ namespace Hotline.Share.Dtos.Knowledge
         /// 是否公开
         /// </summary>
         public bool IsPublic { get; set; }
+
+        /// <summary>
+        /// 过期时间
+        /// </summary>
+        public DateTime? ExpiredTime { get; set; }
 	}
 
     /// <summary>
@@ -100,11 +105,6 @@ namespace Hotline.Share.Dtos.Knowledge
         /// </summary>
         public DateTime? OffShelfTime { get; set; }
 
-        /// <summary>
-        /// 过期时间
-        /// </summary>
-        public DateTime? ExpiredTime { get; set; }
-
         /// <summary>
         /// 申请时间
         /// </summary>