Selaa lähdekoodia

修改查询方式

TANG JIANG 2 vuotta sitten
vanhempi
commit
ec8b8d5cf8

+ 23 - 24
src/Hotline.Api/Controllers/KnowledgeApplyController.cs

@@ -50,9 +50,8 @@ namespace Hotline.Api.Controllers
         public async Task<string> ApplyAdd([FromBody] KnowledgeApplyDto dto)
         {
             var ka = _mapper.Map<KnowledgeApply>(dto);
-            ka.CreationTime = DateTime.Now;
             ka.Status = EKnowledgeApplyStatus.Handling;
-            return await _knowledgeApplyRepository.AddAsync(ka);
+            return await _knowledgeApplyRepository.AddAsync(ka, HttpContext.RequestAborted);
         }
 
         /// <summary>
@@ -65,7 +64,7 @@ namespace Hotline.Api.Controllers
         public async Task UpdateAdd([FromBody] UpdateKnowledgeApplyDto dto)
         {
             var ka = _mapper.Map<KnowledgeApply>(dto);
-            await _knowledgeApplyRepository.UpdateAsync(ka);
+            await _knowledgeApplyRepository.UpdateAsync(ka, HttpContext.RequestAborted);
         }
 
         /// <summary>
@@ -78,13 +77,13 @@ namespace Hotline.Api.Controllers
         public async Task ApplyHandle(string Id)
         {
             //查询申请信息
-            var handle = await _knowledgeApplyRepository.GetAsync(Id);
+            var handle = await _knowledgeApplyRepository.GetAsync(Id, HttpContext.RequestAborted);
 
             if (handle is null)
                 throw UserFriendlyException.SameMessage("办理失败");
             handle.Status = EKnowledgeApplyStatus.Succeed;
             //修改办理信息
-            await _knowledgeApplyRepository.UpdateAsync(handle);
+            await _knowledgeApplyRepository.UpdateAsync(handle, HttpContext.RequestAborted);
         }
 
         /// <summary>
@@ -96,11 +95,11 @@ namespace Hotline.Api.Controllers
         [HttpPost("apply-handle/{Id}")]
         public async Task ApplyRevoke(string Id)
         {
-            var handle = await _knowledgeApplyRepository.GetAsync(Id);
+            var handle = await _knowledgeApplyRepository.GetAsync(Id, HttpContext.RequestAborted);
             if (handle is null)
                 throw UserFriendlyException.SameMessage("申请信息撤销失败");
             handle.Status = EKnowledgeApplyStatus.Revert;
-            await _knowledgeApplyRepository.UpdateAsync(handle);
+            await _knowledgeApplyRepository.UpdateAsync(handle, HttpContext.RequestAborted);
         }
 
         /// <summary>
@@ -113,11 +112,11 @@ namespace Hotline.Api.Controllers
         public async Task ApplyReturn(string Id)
         {
             //查询申请信息
-            var handle = await _knowledgeApplyRepository.GetAsync(Id);
+            var handle = await _knowledgeApplyRepository.GetAsync(Id, HttpContext.RequestAborted);
             if (handle is null)
                 throw UserFriendlyException.SameMessage("退回失败");
             handle.Status = EKnowledgeApplyStatus.Failed;
-            await _knowledgeApplyRepository.UpdateAsync(handle);
+            await _knowledgeApplyRepository.UpdateAsync(handle, HttpContext.RequestAborted);
         }
 
         /// <summary>
@@ -128,13 +127,13 @@ namespace Hotline.Api.Controllers
         [HttpGet("apply-info")]
         public async Task<DataKnowledgeApplyDto> ApplyInfo(string Id)
         {
-            var handle = await _knowledgeApplyRepository.GetAsync(Id);
+            var handle = await _knowledgeApplyRepository.GetAsync(Id, HttpContext.RequestAborted);
             if (handle is null)
                 throw UserFriendlyException.SameMessage("申请信息查询失败");
             DataKnowledgeApplyDto dataKnowledgeApplyDto = new();
             _mapper.Map(handle, dataKnowledgeApplyDto);
 
-            var knowledge = await _knowledgeRepository.GetAsync(p => p.Applies.Contains(Id));
+            var knowledge = await _knowledgeRepository.GetAsync(p => p.Applies.Contains(Id), HttpContext.RequestAborted);
             if (knowledge != null)
             {
                 dataKnowledgeApplyDto.KBID = knowledge.Id;
@@ -164,7 +163,7 @@ namespace Hotline.Api.Controllers
                   .WhereIF(dto.StartTime != null, d => d.CreationTime >= dto.StartTime)
                   .WhereIF(dto.EndTime != null, d => d.CreationTime <= dto.EndTime)
                   .OrderByDescending(p => p.CreationTime)
-                  .ToPagedListAsync(dto.PageIndex, dto.PageSize);
+                  .ToPagedListAsync(dto.PageIndex, dto.PageSize, HttpContext.RequestAborted);
 
             return new PagedDto<KnowledgeApply>(total, _mapper.Map<IReadOnlyList<KnowledgeApply>>(items));
         }
@@ -189,7 +188,7 @@ namespace Hotline.Api.Controllers
                .WhereIF(dto.StartTime != null, d => d.CreationTime >= dto.StartTime)
                .WhereIF(dto.EndTime != null, d => d.CreationTime <= dto.EndTime)
                .OrderByDescending(p => p.CreationTime)
-               .ToPagedListAsync(dto.PageIndex, dto.PageSize);
+               .ToPagedListAsync(dto.PageIndex, dto.PageSize, HttpContext.RequestAborted);
 
             return new PagedDto<KnowledgeApply>(total, _mapper.Map<IReadOnlyList<KnowledgeApply>>(items));
         }
@@ -214,7 +213,7 @@ namespace Hotline.Api.Controllers
               .WhereIF(dto.StartTime != null, d => d.CreationTime >= dto.StartTime)
               .WhereIF(dto.EndTime != null, d => d.CreationTime <= dto.EndTime)
               .OrderByDescending(p => p.CreationTime)
-              .ToPagedListAsync(dto.PageIndex, dto.PageSize);
+              .ToPagedListAsync(dto.PageIndex, dto.PageSize, HttpContext.RequestAborted);
 
             return new PagedDto<KnowledgeApply>(total, _mapper.Map<IReadOnlyList<KnowledgeApply>>(items));
         }
@@ -239,7 +238,7 @@ namespace Hotline.Api.Controllers
               .WhereIF(dto.StartTime != null, d => d.CreationTime >= dto.StartTime)
               .WhereIF(dto.EndTime != null, d => d.CreationTime <= dto.EndTime)
               .OrderByDescending(p => p.CreationTime)
-              .ToPagedListAsync(dto.PageIndex, dto.PageSize);
+              .ToPagedListAsync(dto.PageIndex, dto.PageSize, HttpContext.RequestAborted);
 
             return new PagedDto<KnowledgeApply>(total, _mapper.Map<IReadOnlyList<KnowledgeApply>>(items));
         }
@@ -264,7 +263,7 @@ namespace Hotline.Api.Controllers
               .WhereIF(dto.StartTime != null, d => d.CreationTime >= dto.StartTime)
               .WhereIF(dto.EndTime != null, d => d.CreationTime <= dto.EndTime)
               .OrderByDescending(p => p.CreationTime)
-              .ToPagedListAsync(dto.PageIndex, dto.PageSize);
+              .ToPagedListAsync(dto.PageIndex, dto.PageSize, HttpContext.RequestAborted);
 
             return new PagedDto<KnowledgeApply>(total, _mapper.Map<IReadOnlyList<KnowledgeApply>>(items));
         }
@@ -278,7 +277,7 @@ namespace Hotline.Api.Controllers
         [HttpPost("apply-allhandle")]
         public async Task<PagedDto<KnowledgeApplyPageDto>> AllHandle([FromQuery] KnowledgeHandlePagedDto dto)
         {
-            var orgUser = await _userRepository.GetAsync(p => p.Id == _sessionContext.RequiredUserId);
+            var orgUser = await _userRepository.GetAsync(p => p.Id == _sessionContext.RequiredUserId, HttpContext.RequestAborted);
             if (orgUser is null)
                 throw UserFriendlyException.SameMessage("登录信息获取失败");
 
@@ -295,7 +294,7 @@ namespace Hotline.Api.Controllers
                  .WhereIF(dto.StartTime != null, d => d.CreationTime >= dto.StartTime)
                  .WhereIF(dto.EndTime != null, d => d.CreationTime <= dto.EndTime)
                  .OrderByDescending(p => p.CreationTime)
-                 .ToPagedListAsync(dto.PageIndex, dto.PageSize);
+                 .ToPagedListAsync(dto.PageIndex, dto.PageSize, HttpContext.RequestAborted);
 
             return new PagedDto<KnowledgeApplyPageDto>(total, _mapper.Map<IReadOnlyList<KnowledgeApplyPageDto>>(items));
         }
@@ -309,7 +308,7 @@ namespace Hotline.Api.Controllers
         [HttpPost("apply-processinghandle")]
         public async Task<PagedDto<KnowledgeApplyPageDto>> ProcessingHandle([FromQuery] KnowledgeHandlePagedDto dto)
         {
-            var orgUser = await _userRepository.GetAsync(p => p.Id == _sessionContext.RequiredUserId);
+            var orgUser = await _userRepository.GetAsync(p => p.Id == _sessionContext.RequiredUserId, HttpContext.RequestAborted);
             if (orgUser is null)
                 throw UserFriendlyException.SameMessage("登录信息获取失败");
 
@@ -327,7 +326,7 @@ namespace Hotline.Api.Controllers
                 .WhereIF(dto.StartTime != null, d => d.CreationTime >= dto.StartTime)
                 .WhereIF(dto.EndTime != null, d => d.CreationTime <= dto.EndTime)
                 .OrderByDescending(p => p.CreationTime)
-                .ToPagedListAsync(dto.PageIndex, dto.PageSize);
+                .ToPagedListAsync(dto.PageIndex, dto.PageSize, HttpContext.RequestAborted);
 
             return new PagedDto<KnowledgeApplyPageDto>(total, _mapper.Map<IReadOnlyList<KnowledgeApplyPageDto>>(items));
         }
@@ -341,7 +340,7 @@ namespace Hotline.Api.Controllers
         [HttpPost("apply-endhandle")]
         public async Task<PagedDto<KnowledgeApplyPageDto>> EndHandle([FromQuery] KnowledgeHandlePagedDto dto)
         {
-            var orgUser = await _userRepository.GetAsync(p => p.Id == _sessionContext.RequiredUserId);
+            var orgUser = await _userRepository.GetAsync(p => p.Id == _sessionContext.RequiredUserId, HttpContext.RequestAborted);
             if (orgUser is null)
                 throw UserFriendlyException.SameMessage("登录信息获取失败");
 
@@ -359,7 +358,7 @@ namespace Hotline.Api.Controllers
                .WhereIF(dto.StartTime != null, d => d.CreationTime >= dto.StartTime)
                .WhereIF(dto.EndTime != null, d => d.CreationTime <= dto.EndTime)
                .OrderByDescending(p => p.CreationTime)
-               .ToPagedListAsync(dto.PageIndex, dto.PageSize);
+               .ToPagedListAsync(dto.PageIndex, dto.PageSize, HttpContext.RequestAborted);
 
             return new PagedDto<KnowledgeApplyPageDto>(total, _mapper.Map<IReadOnlyList<KnowledgeApplyPageDto>>(items));
         }
@@ -373,7 +372,7 @@ namespace Hotline.Api.Controllers
         [HttpPost("apply-returnhandle")]
         public async Task<PagedDto<KnowledgeApplyPageDto>> ReturnHandle([FromQuery] KnowledgeHandlePagedDto dto)
         {
-            var orgUser = await _userRepository.GetAsync(p => p.Id == _sessionContext.RequiredUserId);
+            var orgUser = await _userRepository.GetAsync(p => p.Id == _sessionContext.RequiredUserId, HttpContext.RequestAborted);
             if (orgUser is null)
                 throw UserFriendlyException.SameMessage("登录信息获取失败");
 
@@ -391,7 +390,7 @@ namespace Hotline.Api.Controllers
                .WhereIF(dto.StartTime != null, d => d.CreationTime >= dto.StartTime)
                .WhereIF(dto.EndTime != null, d => d.CreationTime <= dto.EndTime)
                .OrderByDescending(p => p.CreationTime)
-               .ToPagedListAsync(dto.PageIndex, dto.PageSize);
+               .ToPagedListAsync(dto.PageIndex, dto.PageSize, HttpContext.RequestAborted);
 
             return new PagedDto<KnowledgeApplyPageDto>(total, _mapper.Map<IReadOnlyList<KnowledgeApplyPageDto>>(items));
 

+ 21 - 21
src/Hotline.Api/Controllers/KnowledgeCommonController.cs

@@ -55,7 +55,7 @@ namespace Hotline.Api.Controllers
             type.IsEnable = true;
             string FullName = await _knowledgeTypeService.GetFullName(type.ParentId);
             type.SpliceName = string.IsNullOrEmpty(FullName) ? dto.Name : FullName + "-" + dto.Name;
-            return await _knowledgeTypeRepository.AddAsync(type);
+            return await _knowledgeTypeRepository.AddAsync(type, HttpContext.RequestAborted);
         }
 
         /// <summary>
@@ -68,7 +68,7 @@ namespace Hotline.Api.Controllers
         public async Task TypeUpdate([FromBody] UpdateKnowledgeTypeDto dto)
         {
             //查询原有数据
-            var type = await _knowledgeTypeRepository.GetAsync(dto.Id);
+            var type = await _knowledgeTypeRepository.GetAsync(dto.Id, HttpContext.RequestAborted);
             if (type is null)
                 throw UserFriendlyException.SameMessage("编辑失败!");
 
@@ -78,14 +78,14 @@ namespace Hotline.Api.Controllers
                 result = true;
             //转换
             _mapper.Map(dto, type);
-            //如果更改了名称,则修改全程,为更改不修改
+            //如果更改了名称,则修改全称,未更改不修改
             if (result)
             {
                 string FullName = await _knowledgeTypeService.GetFullName(type.ParentId);
                 type.SpliceName = string.IsNullOrEmpty(FullName) ? dto.Name : FullName + "-" + dto.Name;
             }
             //修改数据
-            await _knowledgeTypeRepository.UpdateAsync(type);
+            await _knowledgeTypeRepository.UpdateAsync(type, HttpContext.RequestAborted);
             //如果修改了名称,对应修改子分类全称
             if (result)
                 await _knowledgeTypeService.UpdateChildNode(type.Id);
@@ -103,7 +103,7 @@ namespace Hotline.Api.Controllers
             KnowledgeTypeDto knowledgeTypeDto = new();
             if (!string.IsNullOrEmpty(Id))
             {
-                var type = await _knowledgeTypeRepository.GetAsync(p => p.Id == Id);
+                var type = await _knowledgeTypeRepository.GetAsync(p => p.Id == Id, HttpContext.RequestAborted);
                 _mapper.Map(type, knowledgeTypeDto);
             }
             var list = await _knowledgeTypeRepository.QueryAsync(p => p.IsEnable == true);
@@ -126,7 +126,7 @@ namespace Hotline.Api.Controllers
         [HttpGet("type-info")]
         public async Task<KnowledgeType> TypeInfo(string Id)
         {
-            var types = await _knowledgeTypeRepository.GetAsync(Id);
+            var types = await _knowledgeTypeRepository.GetAsync(Id, HttpContext.RequestAborted);
             if (types is null)
                 throw UserFriendlyException.SameMessage("查询失败!");
             return types;
@@ -142,23 +142,23 @@ namespace Hotline.Api.Controllers
         public async Task TypeDelete(string Id)
         {
             //查询数据是否存在
-            var sandard = await _knowledgeTypeRepository.GetAsync(Id);
+            var sandard = await _knowledgeTypeRepository.GetAsync(Id, HttpContext.RequestAborted);
             if (sandard is null)
                 throw UserFriendlyException.SameMessage("分类不存在!");
 
             //查询是否有子级分类
 
-            var checkChild = await _knowledgeTypeRepository.CountAsync(p => p.ParentId == Id);
+            var checkChild = await _knowledgeTypeRepository.CountAsync(p => p.ParentId == Id, HttpContext.RequestAborted);
             if (checkChild > 0)
                 throw UserFriendlyException.SameMessage("存在子级分类!");
 
             //查询是否有知识分类
-            var checkKnowledge = await _knowledgeRepository.CountAsync(p => p.KnowledgeTypeId == Id);
+            var checkKnowledge = await _knowledgeRepository.CountAsync(p => p.KnowledgeTypeId == Id, HttpContext.RequestAborted);
             if (checkKnowledge > 0)
                 throw UserFriendlyException.SameMessage("分类存在知识!");
 
             //删除操作
-            await _knowledgeTypeRepository.RemoveAsync(sandard, true);
+            await _knowledgeTypeRepository.RemoveAsync(sandard, false, HttpContext.RequestAborted);
 
         }
 
@@ -172,7 +172,7 @@ namespace Hotline.Api.Controllers
         public async Task TypeChangeState(string Id)
         {
             //查询数据是否存在
-            var type = await _knowledgeTypeRepository.GetAsync(Id);
+            var type = await _knowledgeTypeRepository.GetAsync(Id, HttpContext.RequestAborted);
             if (type is null)
                 throw UserFriendlyException.SameMessage("分类不存在!");
             if (type.IsEnable)//禁用
@@ -185,7 +185,7 @@ namespace Hotline.Api.Controllers
                     foreach (var item in getChild)
                     {
                         item.IsEnable = false;
-                        await _knowledgeTypeRepository.UpdateAsync(item);
+                        await _knowledgeTypeRepository.UpdateAsync(item, HttpContext.RequestAborted);
                     }
                 }
                 ////查询是否有子级,如果有子级启用,则不能禁用
@@ -197,7 +197,7 @@ namespace Hotline.Api.Controllers
             else //启用
             {
                 //查询上级是否是启用状态,如果是禁用状态不能修改
-                var CheckParent = await _knowledgeTypeRepository.GetAsync(type.ParentId);
+                var CheckParent = await _knowledgeTypeRepository.GetAsync(type.ParentId, HttpContext.RequestAborted);
                 if (CheckParent is null)
                     throw UserFriendlyException.SameMessage("分类启用失败!");
                 if (!CheckParent.IsEnable)
@@ -205,7 +205,7 @@ namespace Hotline.Api.Controllers
 
                 //将状态修改为启用
                 type.IsEnable = true;
-                await _knowledgeTypeRepository.UpdateAsync(type);
+                await _knowledgeTypeRepository.UpdateAsync(type, HttpContext.RequestAborted);
             }
 
         }
@@ -220,7 +220,7 @@ namespace Hotline.Api.Controllers
         public async Task TypeChangeStateAndOffShelf(string Id)
         {
             //查询数据是否存在
-            var type = await _knowledgeTypeRepository.GetAsync(Id);
+            var type = await _knowledgeTypeRepository.GetAsync(Id, HttpContext.RequestAborted);
             if (type is null)
                 throw UserFriendlyException.SameMessage("分类不存在!");
             if (type.IsEnable)//启用状态
@@ -233,7 +233,7 @@ namespace Hotline.Api.Controllers
                     foreach (var item in getChild)
                     {
                         item.IsEnable = false;
-                        await _knowledgeTypeRepository.UpdateAsync(item);
+                        await _knowledgeTypeRepository.UpdateAsync(item, HttpContext.RequestAborted);
                         //下架知识
                         //查询当前分类下的知识(查询条件:此分类下/状态为成功/未删除/已上架)
                         var knowList = _knowledgeRepository.Queryable().Where(p => p.KnowledgeTypeId == item.Id && p.Status == EKnowledgeStatus.Succeed && p.IsDeleted == false && p.IsOnShelf == true).ToList();
@@ -244,7 +244,7 @@ namespace Hotline.Api.Controllers
                             {
                                 itemKnow.IsOnShelf = false;
                                 itemKnow.OffShelfTime = DateTime.Now;
-                                await _knowledgeRepository.UpdateAsync(itemKnow);
+                                await _knowledgeRepository.UpdateAsync(itemKnow, HttpContext.RequestAborted);
                             }
                         }
                     }
@@ -281,7 +281,7 @@ namespace Hotline.Api.Controllers
             if (string.IsNullOrEmpty(Id))
                 throw UserFriendlyException.SameMessage("ID不能为空!");
 
-            var sandard = await _knowledgeStandardRepository.GetAsync(Id);
+            var sandard = await _knowledgeStandardRepository.GetAsync(Id, HttpContext.RequestAborted);
             if (sandard is null)
                 throw UserFriendlyException.SameMessage("编写规范查询失败!");
             return sandard;
@@ -299,7 +299,7 @@ namespace Hotline.Api.Controllers
             if (string.IsNullOrEmpty(Id))
                 throw UserFriendlyException.SameMessage("ID不能为空!");
             //删除操作
-            await _knowledgeStandardRepository.RemoveAsync(Id);
+            await _knowledgeStandardRepository.RemoveAsync(Id, HttpContext.RequestAborted);
 
         }
 
@@ -314,7 +314,7 @@ namespace Hotline.Api.Controllers
         {
             var sandard = _mapper.Map<KnowledgeStandard>(dto);
             sandard.CreationTime = DateTime.Now;
-            await _knowledgeStandardRepository.AddAsync(sandard);
+            await _knowledgeStandardRepository.AddAsync(sandard, HttpContext.RequestAborted);
         }
 
         /// <summary>
@@ -327,7 +327,7 @@ namespace Hotline.Api.Controllers
         public async Task StandardUpdate([FromBody] UpdateKnowledgeStandardDto dto)
         {
             var sandard = _mapper.Map<KnowledgeStandard>(dto);
-            await _knowledgeStandardRepository.UpdateAsync(sandard);
+            await _knowledgeStandardRepository.UpdateAsync(sandard, HttpContext.RequestAborted);
         }
         #endregion
 

+ 28 - 28
src/Hotline.Api/Controllers/KnowledgeController.cs

@@ -62,7 +62,7 @@ namespace Hotline.Api.Controllers
                 kn.Code = Convert.ToInt64((DateTime.Now - new DateTime(1970, 1, 1, 0, 0, 0, 0)).TotalSeconds).ToString();
             kn.PageView = 0;
             kn.CreationTime = DateTime.Now;
-            return await _knowledgeTempRepository.AddAsync(kn);
+            return await _knowledgeTempRepository.AddAsync(kn, HttpContext.RequestAborted);
         }
 
         /// <summary>
@@ -75,7 +75,7 @@ namespace Hotline.Api.Controllers
         public async Task KnowledgeTempUpdate([FromBody] UpdateKnowledgeDto dto)
         {
             var kn = _mapper.Map<KnowledgeTemp>(dto);
-            await _knowledgeTempRepository.UpdateAsync(kn);
+            await _knowledgeTempRepository.UpdateAsync(kn, HttpContext.RequestAborted);
         }
 
         /// <summary>
@@ -86,7 +86,7 @@ namespace Hotline.Api.Controllers
         [HttpGet("knowledgetemp-info")]
         public async Task<KnowledgeTemp> KnowledgeTempInfo(string Id)
         {
-            var temp = await _knowledgeTempRepository.GetAsync(Id);
+            var temp = await _knowledgeTempRepository.GetAsync(Id, HttpContext.RequestAborted);
             if (temp is null)
                 throw UserFriendlyException.SameMessage("知识草稿查询失败!");
             return temp;
@@ -104,7 +104,7 @@ namespace Hotline.Api.Controllers
             if (string.IsNullOrEmpty(Id))
                 throw UserFriendlyException.SameMessage("Id不能为空!");
 
-            await _knowledgeTempRepository.RemoveAsync(p => p.Id == Id);
+            await _knowledgeTempRepository.RemoveAsync(p => p.Id == Id,false, HttpContext.RequestAborted);
         }
 
         #endregion
@@ -118,11 +118,11 @@ namespace Hotline.Api.Controllers
         [HttpGet("knowledge-updateinfo")]
         public async Task<Knowledge> KnowledgeUpdateInfo(string Id)
         {
-            var know = await _knowledgeRepository.GetAsync(Id);
+            var know = await _knowledgeRepository.GetAsync(Id, HttpContext.RequestAborted);
             if (know is null)
             {
                 //再次查询草稿箱数据
-                var tempKnow = await _knowledgeTempRepository.GetAsync(Id);
+                var tempKnow = await _knowledgeTempRepository.GetAsync(Id, HttpContext.RequestAborted);
                 if (tempKnow is null)
                     throw UserFriendlyException.SameMessage("知识查询失败!");
                 know = new Knowledge();
@@ -139,7 +139,7 @@ namespace Hotline.Api.Controllers
         [HttpGet("knowledge-info")]
         public async Task<Knowledge> KnowledgeInfo(string Id)
         {
-            var know = await _knowledgeRepository.GetAsync(Id);
+            var know = await _knowledgeRepository.GetAsync(Id, HttpContext.RequestAborted);
             if (know is null)
                 throw UserFriendlyException.SameMessage("知识查询失败!");
             //写入浏览记录
@@ -148,11 +148,11 @@ namespace Hotline.Api.Controllers
                 CreationTime = DateTime.Now,
                 KnowledgeId = know.Id
             };
-            await _knowledgePVRepository.AddAsync(knowledgePv);
+            await _knowledgePVRepository.AddAsync(knowledgePv, HttpContext.RequestAborted);
 
             //修改浏览量
             know.PageView++;
-            await _knowledgeRepository.UpdateAsync(know);
+            await _knowledgeRepository.UpdateAsync(know, HttpContext.RequestAborted);
             return know;
         }
 
@@ -179,7 +179,7 @@ namespace Hotline.Api.Controllers
             kn.CreationTime = DateTime.Now;
             kn.Status = EKnowledgeStatus.Auditing;
 
-            return await _knowledgeRepository.AddAsync(kn);
+            return await _knowledgeRepository.AddAsync(kn, HttpContext.RequestAborted);
             //调用流程创建
 
 
@@ -199,7 +199,7 @@ namespace Hotline.Api.Controllers
             //知识修改逻辑
             //如果可以修改,此条数据不动,重新写入一条新数据,知识编号不变,版本号+1
 
-            var know = await _knowledgeRepository.GetAsync(dto.Id);
+            var know = await _knowledgeRepository.GetAsync(dto.Id, HttpContext.RequestAborted);
             if (know is null || know.IsDeleted)
                 throw UserFriendlyException.SameMessage("无效知识");
             if (know.Status == EKnowledgeStatus.Auditing)
@@ -213,7 +213,7 @@ namespace Hotline.Api.Controllers
             knowledge.Version = know.Version + 1;
             //新增一条数据
 
-            await _knowledgeRepository.AddAsync(knowledge);
+            await _knowledgeRepository.AddAsync(knowledge, HttpContext.RequestAborted);
 
             //调用流程创建
 
@@ -231,11 +231,11 @@ namespace Hotline.Api.Controllers
         [HttpGet("knowledge-delete")]
         public async Task KnowledgeDelete(string Id)
         {
-            var know = await _knowledgeRepository.GetAsync(Id);
+            var know = await _knowledgeRepository.GetAsync(Id, HttpContext.RequestAborted);
             if (know != null && know.IsDeleted == false)
             {
                 know.DeletionTime = DateTime.Now;
-                await _knowledgeRepository.RemoveAsync(know, true);
+                await _knowledgeRepository.RemoveAsync(know, false, HttpContext.RequestAborted);
             }
             else
             {
@@ -258,7 +258,7 @@ namespace Hotline.Api.Controllers
             //审批操作
             foreach (var item in Ids)
             {
-                var know = await _knowledgeRepository.GetAsync(item);
+                var know = await _knowledgeRepository.GetAsync(item, HttpContext.RequestAborted);
                 if (know != null)
                 {
                     //调用流程审批接口
@@ -275,7 +275,7 @@ namespace Hotline.Api.Controllers
                     {
                         know.Status = EKnowledgeStatus.Failed;
                     }
-                    await _knowledgeRepository.UpdateAsync(know);
+                    await _knowledgeRepository.UpdateAsync(know, HttpContext.RequestAborted);
                 }
             }
         }
@@ -289,13 +289,13 @@ namespace Hotline.Api.Controllers
         [HttpGet("knowledge-offshelf")]
         public async Task KnowledgeOffShelf(string Id)
         {
-            var know = await _knowledgeRepository.GetAsync(Id);
+            var know = await _knowledgeRepository.GetAsync(Id, HttpContext.RequestAborted);
             if (know != null && know.IsOnShelf == true)
             {
                 know.IsOnShelf = false;
                 know.OnShelfTime = null;
                 know.OffShelfTime = DateTime.Now;
-                await _knowledgeRepository.AddAsync(know);
+                await _knowledgeRepository.UpdateAsync(know, HttpContext.RequestAborted);
             }
             else
             {
@@ -312,13 +312,13 @@ namespace Hotline.Api.Controllers
         [HttpGet("knowledge-ontheshelf")]
         public async Task KnowledgeOnTheShelf(string Id)
         {
-            var know = await _knowledgeRepository.GetAsync(Id);
+            var know = await _knowledgeRepository.GetAsync(Id, HttpContext.RequestAborted);
             if (know != null && know.IsOnShelf == false)
             {
                 know.IsOnShelf = true;
                 know.OnShelfTime = DateTime.Now;
                 know.OffShelfTime = null;
-                await _knowledgeRepository.AddAsync(know);
+                await _knowledgeRepository.UpdateAsync(know, HttpContext.RequestAborted);
             }
             else
             {
@@ -348,7 +348,7 @@ namespace Hotline.Api.Controllers
              .WhereIF(pagedDto.StartTime != null, d => d.CreationTime >= pagedDto.StartTime)
              .WhereIF(pagedDto.EndTime != null, d => d.CreationTime <= pagedDto.EndTime)
              .OrderByDescending(p => p.CreationTime)
-             .ToPagedListAsync(pagedDto.PageIndex, pagedDto.PageSize);
+             .ToPagedListAsync(pagedDto.PageIndex, pagedDto.PageSize, HttpContext.RequestAborted);
 
             return new PagedDto<KnowledgeDataDto>(total, _mapper.Map<IReadOnlyList<KnowledgeDataDto>>(items));
         }
@@ -611,7 +611,7 @@ namespace Hotline.Api.Controllers
               .WhereIF(pagedDto.StartTime != null, d => d.CreationTime >= pagedDto.StartTime)
               .WhereIF(pagedDto.EndTime != null, d => d.CreationTime <= pagedDto.EndTime)
               .OrderByDescending(p => p.CreationTime)
-              .ToPagedListAsync(pagedDto.PageIndex, pagedDto.PageSize);
+              .ToPagedListAsync(pagedDto.PageIndex, pagedDto.PageSize, HttpContext.RequestAborted);
 
             return new PagedDto<KnowledgeDataDto>(total, _mapper.Map<IReadOnlyList<KnowledgeDataDto>>(items));
         }
@@ -643,7 +643,7 @@ namespace Hotline.Api.Controllers
               .WhereIF(pagedDto.StartTime != null, d => d.CreationTime >= pagedDto.StartTime)
               .WhereIF(pagedDto.EndTime != null, d => d.CreationTime <= pagedDto.EndTime)
               .OrderByDescending(p => p.CreationTime)
-              .ToPagedListAsync(pagedDto.PageIndex, pagedDto.PageSize);
+              .ToPagedListAsync(pagedDto.PageIndex, pagedDto.PageSize, HttpContext.RequestAborted);
 
             return new PagedDto<KnowledgeDataDto>(total, _mapper.Map<IReadOnlyList<KnowledgeDataDto>>(items));
         }
@@ -675,7 +675,7 @@ namespace Hotline.Api.Controllers
               .WhereIF(pagedDto.StartTime != null, d => d.CreationTime >= pagedDto.StartTime)
               .WhereIF(pagedDto.EndTime != null, d => d.CreationTime <= pagedDto.EndTime)
               .OrderByDescending(p => p.CreationTime)
-              .ToPagedListAsync(pagedDto.PageIndex, pagedDto.PageSize);
+              .ToPagedListAsync(pagedDto.PageIndex, pagedDto.PageSize, HttpContext.RequestAborted);
 
             return new PagedDto<KnowledgeDataDto>(total, _mapper.Map<IReadOnlyList<KnowledgeDataDto>>(items));
         }
@@ -751,7 +751,7 @@ namespace Hotline.Api.Controllers
               .WhereIF(!string.IsNullOrEmpty(pagedDto.Title), d => d.Title.Contains(pagedDto.Title!))
 
               .OrderByDescending(p => p.CreationTime)
-              .ToPagedListAsync(pagedDto.PageIndex, pagedDto.PageSize);
+              .ToPagedListAsync(pagedDto.PageIndex, pagedDto.PageSize, HttpContext.RequestAborted);
 
             return new PagedDto<KnowledgeApprovalDataDto>(total, _mapper.Map<IReadOnlyList<KnowledgeApprovalDataDto>>(items));
         }
@@ -780,7 +780,7 @@ namespace Hotline.Api.Controllers
               .WhereIF(!string.IsNullOrEmpty(pagedDto.Title), d => d.Title.Contains(pagedDto.Title!))
 
               .OrderByDescending(p => p.CreationTime)
-              .ToPagedListAsync(pagedDto.PageIndex, pagedDto.PageSize);
+              .ToPagedListAsync(pagedDto.PageIndex, pagedDto.PageSize, HttpContext.RequestAborted);
 
             return new PagedDto<KnowledgeApprovalDataDto>(total, _mapper.Map<IReadOnlyList<KnowledgeApprovalDataDto>>(items));
         }
@@ -807,7 +807,7 @@ namespace Hotline.Api.Controllers
               .WhereIF(!string.IsNullOrEmpty(pagedDto.Title), d => d.Title.Contains(pagedDto.Title!))
 
               .OrderByDescending(p => p.CreationTime)
-              .ToPagedListAsync(pagedDto.PageIndex, pagedDto.PageSize);
+              .ToPagedListAsync(pagedDto.PageIndex, pagedDto.PageSize, HttpContext.RequestAborted);
 
             return new PagedDto<KnowledgeApprovalDataDto>(total, _mapper.Map<IReadOnlyList<KnowledgeApprovalDataDto>>(items));
         }
@@ -832,7 +832,7 @@ namespace Hotline.Api.Controllers
               .WhereIF(!string.IsNullOrEmpty(pagedDto.Title), d => d.Title.Contains(pagedDto.Title!))
 
               .OrderByDescending(p => p.CreationTime)
-              .ToPagedListAsync(pagedDto.PageIndex, pagedDto.PageSize);
+              .ToPagedListAsync(pagedDto.PageIndex, pagedDto.PageSize, HttpContext.RequestAborted);
 
             return new PagedDto<KnowledgeApprovalDataDto>(total, _mapper.Map<IReadOnlyList<KnowledgeApprovalDataDto>>(items));
         }