فهرست منبع

知识申请处理

TANG JIANG 2 سال پیش
والد
کامیت
21dc403632

+ 4 - 4
src/Hotline.Api/Controllers/KnowledgeApplyController.cs

@@ -106,7 +106,7 @@ namespace Hotline.Api.Controllers
             if (handle.Status != EKnowledgeApplyStatus.Handling)
                 throw UserFriendlyException.SameMessage("只能撤销办理中的申请");
             handle.Status = EKnowledgeApplyStatus.Revert;
-            handle.HandleTime = DateTime.Now;
+            handle.RevokeTime = DateTime.Now;
             await _knowledgeApplyRepository.UpdateAsync(handle, HttpContext.RequestAborted);
         }
 
@@ -197,9 +197,9 @@ namespace Hotline.Api.Controllers
         /// 我的知识申请--全部
         /// </summary>
         /// <returns></returns>
-        [Permission(EPermission.KnowledgeAllApply)]
+        //[Permission(EPermission.KnowledgeAllApply)]
         [HttpGet()]
-        public async Task<PagedDto<KnowledgeApply>> GetApplyList([FromQuery] KnowledgeApplyPagedDto dto)
+        public async Task<PagedDto<KnowledgeApplyHandlePageDto>> GetApplyList([FromQuery] KnowledgeApplyPagedDto dto)
         {
             return await _knowApplication.GetApplyList(dto, HttpContext.RequestAborted);
         }
@@ -212,7 +212,7 @@ namespace Hotline.Api.Controllers
         /// </summary>
         /// <returns></returns>
         [HttpGet("handlelist")]
-        public async Task<PagedDto<KnowledgeApplyPageDto>> AllHandle([FromQuery] KnowledgeHandlePagedDto dto)
+        public async Task<PagedDto<KnowledgeApplyHandlePageDto>> AllHandle([FromQuery] KnowledgeHandlePagedDto dto)
         {
             return await _knowApplication.GetApplyHandleList(dto, HttpContext.RequestAborted);
         }

+ 2 - 2
src/Hotline.Application/Knowledge/IKnowApplication.cs

@@ -19,7 +19,7 @@ namespace Hotline.Application.Knowledge
         /// <param name="pagedDto"></param>
         /// <param name="cancellationToken"></param>
         /// <returns></returns>
-        Task<PagedDto<KnowledgeApply>> GetApplyList(KnowledgeApplyPagedDto pagedDto, CancellationToken cancellationToken);
+        Task<PagedDto<KnowledgeApplyHandlePageDto>> GetApplyList(KnowledgeApplyPagedDto pagedDto, CancellationToken cancellationToken);
 
         /// <summary>
         /// 申请处理查询
@@ -27,6 +27,6 @@ namespace Hotline.Application.Knowledge
         /// <param name="pagedDto"></param>
         /// <param name="cancellationToken"></param>
         /// <returns></returns>
-        Task<PagedDto<KnowledgeApplyPageDto>> GetApplyHandleList(KnowledgeHandlePagedDto pagedDto, CancellationToken cancellationToken);
+        Task<PagedDto<KnowledgeApplyHandlePageDto>> GetApplyHandleList(KnowledgeHandlePagedDto pagedDto, CancellationToken cancellationToken);
     }
 }

+ 8 - 8
src/Hotline.Application/Knowledge/KnowApplication.cs

@@ -108,7 +108,7 @@ namespace Hotline.Application.Knowledge
         /// <param name="pagedDto"></param>
         /// <param name="cancellationToken"></param>
         /// <returns></returns>
-        public async Task<PagedDto<KnowledgeApply>> GetApplyList(KnowledgeApplyPagedDto pagedDto, CancellationToken cancellationToken)
+        public async Task<PagedDto<KnowledgeApplyHandlePageDto>> GetApplyList(KnowledgeApplyPagedDto pagedDto, CancellationToken cancellationToken)
         {
             var (total, items) = await _knowledgeApplyRepository
                .Queryable()
@@ -117,14 +117,14 @@ namespace Hotline.Application.Knowledge
                .Where(d => d.CreatorId == _sessionContext.RequiredUserId)
                .WhereIF(pagedDto.Status.HasValue, d => d.Status == pagedDto.Status)
                .WhereIF(pagedDto.ApplyType.HasValue, d => d.KnowledgeApplyType == pagedDto.ApplyType)
-               .WhereIF(!string.IsNullOrEmpty(pagedDto.IsOvertime) && pagedDto.IsOvertime == "0", d => d.ExpiredTime <= DateTime.Now)
-               .WhereIF(!string.IsNullOrEmpty(pagedDto.IsOvertime) && pagedDto.IsOvertime == "1", d => d.ExpiredTime > DateTime.Now)
+               .WhereIF(!string.IsNullOrEmpty(pagedDto.IsOvertime) && pagedDto.IsOvertime == "0", d => d.IsOvertime ==true)
+               .WhereIF(!string.IsNullOrEmpty(pagedDto.IsOvertime) && pagedDto.IsOvertime == "1", d => d.IsOvertime == false)
                .WhereIF(pagedDto.StartTime.HasValue, d => d.CreationTime >= pagedDto.StartTime)
                .WhereIF(pagedDto.EndTime.HasValue, d => d.CreationTime <= pagedDto.EndTime)
                .OrderByDescending(p => p.CreationTime)
                .ToPagedListAsync(pagedDto.PageIndex, pagedDto.PageSize, cancellationToken);
 
-            return new PagedDto<KnowledgeApply>(total, _mapper.Map<IReadOnlyList<KnowledgeApply>>(items));
+            return new PagedDto<KnowledgeApplyHandlePageDto>(total, _mapper.Map<IReadOnlyList<KnowledgeApplyHandlePageDto>>(items));
         }
 
         /// <summary>
@@ -133,7 +133,7 @@ namespace Hotline.Application.Knowledge
         /// <param name="pagedDto"></param>
         /// <param name="cancellationToken"></param>
         /// <returns></returns>
-        public async Task<PagedDto<KnowledgeApplyPageDto>> GetApplyHandleList(KnowledgeHandlePagedDto pagedDto, CancellationToken cancellationToken)
+        public async Task<PagedDto<KnowledgeApplyHandlePageDto>> GetApplyHandleList(KnowledgeHandlePagedDto pagedDto, CancellationToken cancellationToken)
         {
             var (total, items) = await _knowledgeApplyRepository
                  .Queryable()
@@ -143,14 +143,14 @@ namespace Hotline.Application.Knowledge
                  .WhereIF(pagedDto.Status.HasValue, d => d.Status == pagedDto.Status)
                  .WhereIF(!string.IsNullOrEmpty(pagedDto.Keyword), d => d.User.Name.Contains(pagedDto.Keyword!) || d.SystemOrganize.OrgName.Contains(pagedDto.Keyword!))
                  .WhereIF(pagedDto.ApplyType.HasValue, d => d.KnowledgeApplyType == pagedDto.ApplyType)
-                 .WhereIF(!string.IsNullOrEmpty(pagedDto.IsOvertime) && pagedDto.IsOvertime == "0", d => d.ExpiredTime <= DateTime.Now)
-                 .WhereIF(!string.IsNullOrEmpty(pagedDto.IsOvertime) && pagedDto.IsOvertime == "1", d => d.ExpiredTime > DateTime.Now)
+                 .WhereIF(!string.IsNullOrEmpty(pagedDto.IsOvertime) && pagedDto.IsOvertime == "0", d => d.IsOvertime == true)
+                 .WhereIF(!string.IsNullOrEmpty(pagedDto.IsOvertime) && pagedDto.IsOvertime == "1", d => d.IsOvertime == false)
                  .WhereIF(pagedDto.StartTime.HasValue, d => d.CreationTime >= pagedDto.StartTime)
                  .WhereIF(pagedDto.EndTime.HasValue, d => d.CreationTime <= pagedDto.EndTime)
                  .OrderByDescending(p => p.CreationTime)
                  .ToPagedListAsync(pagedDto.PageIndex, pagedDto.PageSize, cancellationToken);
 
-            return new PagedDto<KnowledgeApplyPageDto>(total, _mapper.Map<IReadOnlyList<KnowledgeApplyPageDto>>(items));
+            return new PagedDto<KnowledgeApplyHandlePageDto>(total, _mapper.Map<IReadOnlyList<KnowledgeApplyHandlePageDto>>(items));
         }
     }
 }

+ 1 - 1
src/Hotline.Application/Mappers/MapperConfigs.cs

@@ -84,7 +84,7 @@ namespace Hotline.Application.Mappers
             #endregion
 
             #region Knowledge
-            config.NewConfig<KnowledgeApply, KnowledgeApplyPageDto>()
+            config.NewConfig<KnowledgeApply, KnowledgeApplyHandlePageDto>()
                  .Map(d => d.CreationName, x => x.User.Name)
                    .Map(d => d.CreationOrgName, x => x.SystemOrganize.OrgName);
 

+ 13 - 1
src/Hotline.Share/Dtos/Knowledge/KnowledgeApplyPageDto.cs

@@ -2,7 +2,7 @@
 
 namespace Hotline.Share.Dtos.Knowledge
 {
-    public record KnowledgeApplyPageDto
+    public record KnowledgeApplyHandlePageDto
     {
         /// <summary>
         /// ID
@@ -39,6 +39,11 @@ namespace Hotline.Share.Dtos.Knowledge
         /// </summary>
         public DateTime? ExpiredTime { get; set; }
 
+        /// <summary>
+        /// 是否已经超期
+        /// </summary>
+        public bool IsOvertime { get; set; }
+
         /// <summary>
         /// 创建
         /// </summary>
@@ -53,5 +58,12 @@ namespace Hotline.Share.Dtos.Knowledge
         /// 退回时间
         /// </summary>
         public DateTime? ReturnTime { get; set; }
+
+        /// <summary>
+        /// 撤销时间
+        /// </summary>
+        public DateTime? RevokeTime { get; set; }
     }
+
+  
 }

+ 2 - 2
src/Hotline.Share/Dtos/Knowledge/KnowledgeApplyPagedDto.cs

@@ -8,7 +8,7 @@ namespace Hotline.Share.Dtos.Knowledge
     /// </summary>
     ///  <param name="Status"></param>
     /// <param name="ApplyType"></param>
-    /// <param name="IsOvertime"></param>
+    /// <param name="IsOvertime">0:已超期;1:未超期</param>
     /// <param name="StartTime"></param>
     /// <param name="EndTime"></param>
     public record KnowledgeApplyPagedDto(EKnowledgeApplyStatus? Status, EKnowledgeApplyType? ApplyType, string? IsOvertime, DateTime? StartTime, DateTime? EndTime) : PagedRequest;
@@ -18,7 +18,7 @@ namespace Hotline.Share.Dtos.Knowledge
     /// </summary>
     /// <param name="Status"></param>
     /// <param name="ApplyType"></param>
-    /// <param name="IsOvertime"></param>
+    /// <param name="IsOvertime">0:已超期;1:未超期</param>
     /// <param name="StartTime"></param>
     /// <param name="EndTime"></param>
     public record KnowledgeHandlePagedDto(EKnowledgeApplyStatus? Status, EKnowledgeApplyType? ApplyType, string? IsOvertime, DateTime? StartTime, DateTime? EndTime) : PagedKeywordRequest;

+ 11 - 0
src/Hotline/KnowledgeBase/KnowledgeApply.cs

@@ -46,6 +46,11 @@ public class KnowledgeApply : FullStateEntity
     /// </summary>
     public DateTime? ExpiredTime { get; set; }
 
+    /// <summary>
+    /// 是否已经超期
+    /// </summary>
+    public bool IsOvertime { get; set; }
+
     /// <summary>
     /// 处理完成时间
     /// </summary>
@@ -56,9 +61,15 @@ public class KnowledgeApply : FullStateEntity
     /// </summary>
     public DateTime? ReturnTime { get; set; }
 
+    /// <summary>
+    /// 撤销时间
+    /// </summary>
+    public DateTime? RevokeTime { get; set; }
+
     /// <summary>
     /// 办理或者退回意见
     /// </summary>
+    [SugarColumn(IsNullable = true)]
     public string Opinion { get; set; }
 
     /// <summary>