소스 검색

修改部分操作验证

TANG JIANG 2 년 전
부모
커밋
d86091436c
1개의 변경된 파일8개의 추가작업 그리고 3개의 파일을 삭제
  1. 8 3
      src/Hotline.Api/Controllers/KnowledgeApplyController.cs

+ 8 - 3
src/Hotline.Api/Controllers/KnowledgeApplyController.cs

@@ -8,7 +8,6 @@ using Hotline.Share.Enums.KnowledgeBase;
 using Hotline.Share.Requests;
 using MapsterMapper;
 using Microsoft.AspNetCore.Mvc;
-using System.Threading;
 using XF.Domain.Authentications;
 using XF.Domain.Exceptions;
 
@@ -82,7 +81,7 @@ namespace Hotline.Api.Controllers
             //查询申请信息
             var handle = await _knowledgeApplyRepository.GetAsync(dto.Id, HttpContext.RequestAborted);
 
-            if (handle is null)
+            if (handle is null || handle.Status != EKnowledgeApplyStatus.Handling)
                 throw UserFriendlyException.SameMessage("办理失败");
             handle.Status = EKnowledgeApplyStatus.Succeed;
             handle.HandleTime = DateTime.Now;
@@ -104,6 +103,8 @@ namespace Hotline.Api.Controllers
             var handle = await _knowledgeApplyRepository.GetAsync(Id, HttpContext.RequestAborted);
             if (handle is null)
                 throw UserFriendlyException.SameMessage("申请信息撤销失败");
+            if (handle.Status != EKnowledgeApplyStatus.Handling)
+                throw UserFriendlyException.SameMessage("只能撤销办理中的申请");
             handle.Status = EKnowledgeApplyStatus.Revert;
             await _knowledgeApplyRepository.UpdateAsync(handle, HttpContext.RequestAborted);
         }
@@ -121,6 +122,8 @@ namespace Hotline.Api.Controllers
             var handle = await _knowledgeApplyRepository.GetAsync(Id, HttpContext.RequestAborted);
             if (handle is null)
                 throw UserFriendlyException.SameMessage("退回失败");
+            if (handle.Status != EKnowledgeApplyStatus.Handling)
+                throw UserFriendlyException.SameMessage("只能退回办理中的申请");
             handle.Status = EKnowledgeApplyStatus.Failed;
             handle.ReturnTime = DateTime.Now;
             await _knowledgeApplyRepository.UpdateAsync(handle, HttpContext.RequestAborted);
@@ -138,6 +141,8 @@ namespace Hotline.Api.Controllers
             var handle = await _knowledgeApplyRepository.GetAsync(Id, HttpContext.RequestAborted);
             if (handle is null)
                 throw UserFriendlyException.SameMessage("申请不存在");
+            if (handle.Status != EKnowledgeApplyStatus.Revert || handle.Status != EKnowledgeApplyStatus.Failed)
+                throw UserFriendlyException.SameMessage("只能删除已退回或者撤回的知识申请");
             await _knowledgeApplyRepository.RemoveAsync(handle, false, HttpContext.RequestAborted);
         }
 
@@ -175,7 +180,7 @@ namespace Hotline.Api.Controllers
         {
             var (total, items) = await _knowledgeApplyRepository
                .Queryable()
-               .Where(d => d.CreatorId == _sessionContext.RequiredUserId&&d.KnowledgeApplyType== EKnowledgeApplyType.Add&&d.Status== EKnowledgeApplyStatus.Handling)
+               .Where(d => d.CreatorId == _sessionContext.RequiredUserId && d.KnowledgeApplyType == EKnowledgeApplyType.Add && d.Status == EKnowledgeApplyStatus.Handling)
                .OrderByDescending(p => p.CreationTime)
                .ToPagedListAsync(pagedDto.PageIndex, pagedDto.PageSize, HttpContext.RequestAborted);