xf 2 年 前
コミット
25aa6a2927

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

@@ -277,15 +277,11 @@ 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, HttpContext.RequestAborted);
-            if (orgUser is null)
-                throw UserFriendlyException.SameMessage("登录信息获取失败");
-
             var (total, items) = await _knowledgeApplyRepository
                  .Queryable()
                  .Includes(it => it.User)
                  .Includes(it => it.SystemOrganize)
-                 .Where(p => p.DepartmentCode == orgUser.OrgCode)
+                 .Where(p => p.DepartmentCode == _sessionContext.RequiredOrgCode)
                  .WhereIF(!string.IsNullOrEmpty(dto.CreateUserName), d => d.User.Name.Contains(dto.CreateUserName!))
                  .WhereIF(!string.IsNullOrEmpty(dto.CreateBMName), d => d.SystemOrganize.OrgName.Contains(dto.CreateBMName!))
                  .WhereIF(!string.IsNullOrEmpty(dto.ApplyType), d => d.KnowledgeApplyType.ToString() == dto.ApplyType)
@@ -308,15 +304,11 @@ 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, HttpContext.RequestAborted);
-            if (orgUser is null)
-                throw UserFriendlyException.SameMessage("登录信息获取失败");
-
             var (total, items) = await _knowledgeApplyRepository
                 .Queryable(false)
                 .Includes(it => it.User)
                 .Includes(it => it.SystemOrganize)
-                .Where(p => p.DepartmentCode == orgUser.OrgCode)
+                .Where(p => p.DepartmentCode == _sessionContext.RequiredOrgCode)
                 .Where(p => p.Status == EKnowledgeApplyStatus.Handling)
                 .WhereIF(!string.IsNullOrEmpty(dto.CreateUserName), d => d.User.Name.Contains(dto.CreateUserName!))
                 .WhereIF(!string.IsNullOrEmpty(dto.CreateBMName), d => d.SystemOrganize.OrgName.Contains(dto.CreateBMName!))
@@ -340,15 +332,11 @@ 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, HttpContext.RequestAborted);
-            if (orgUser is null)
-                throw UserFriendlyException.SameMessage("登录信息获取失败");
-
             var (total, items) = await _knowledgeApplyRepository
                .Queryable(false)
                .Includes(it => it.User)
                .Includes(it => it.SystemOrganize)
-               .Where(p => p.DepartmentCode == orgUser.OrgCode)
+               .Where(p => p.DepartmentCode == _sessionContext.RequiredOrgCode)
                .Where(p => p.Status == EKnowledgeApplyStatus.Succeed)
                .WhereIF(!string.IsNullOrEmpty(dto.CreateUserName), d => d.User.Name.Contains(dto.CreateUserName!))
                .WhereIF(!string.IsNullOrEmpty(dto.CreateBMName), d => d.SystemOrganize.OrgName.Contains(dto.CreateBMName!))
@@ -372,15 +360,11 @@ 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, HttpContext.RequestAborted);
-            if (orgUser is null)
-                throw UserFriendlyException.SameMessage("登录信息获取失败");
-
             var (total, items) = await _knowledgeApplyRepository
                .Queryable(false)
                .Includes(it => it.User)
                .Includes(it => it.SystemOrganize)
-               .Where(p => p.DepartmentCode == orgUser.OrgCode)
+               .Where(p => p.DepartmentCode == _sessionContext.RequiredOrgCode)
                .Where(p => p.Status == EKnowledgeApplyStatus.Failed)
                .WhereIF(!string.IsNullOrEmpty(dto.CreateUserName), d => d.User.Name.Contains(dto.CreateUserName!))
                .WhereIF(!string.IsNullOrEmpty(dto.CreateBMName), d => d.SystemOrganize.OrgName.Contains(dto.CreateBMName!))

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

@@ -321,7 +321,7 @@ namespace Hotline.Api.Controllers
         [HttpPost("knowledge-alllist")]
         public async Task<PagedDto<KnowledgeDataDto>> AllList([FromBody] AllKnowledgePagedListDto pagedDto)
         {
-            var bmList = await _knowledgeDomainService.GetChildOrgId(_sessionContext.RequiredUserId);
+            var bmList = await _knowledgeService.GetChildBMId(_sessionContext.RequiredOrgId);
             if (bmList == null || bmList.Count == 0)
                 return new PagedDto<KnowledgeDataDto>(0, _mapper.Map<IReadOnlyList<KnowledgeDataDto>>(new List<Knowledge>()));
 
@@ -386,7 +386,7 @@ namespace Hotline.Api.Controllers
         [HttpPost("knowledge-ontheshelf")]
         public async Task<PagedDto<KnowledgeDataDto>> OnTheShelf([FromBody] KnowledgePagedListDto pagedDto)
         {
-            var bmList = await _knowledgeDomainService.GetChildOrgId(_sessionContext.RequiredUserId);
+            var bmList = await _knowledgeService.GetChildBMId(_sessionContext.RequiredOrgId);
             if (bmList == null || bmList.Count == 0)
                 return new PagedDto<KnowledgeDataDto>(0, _mapper.Map<IReadOnlyList<KnowledgeDataDto>>(new List<Knowledge>()));
 
@@ -443,7 +443,7 @@ namespace Hotline.Api.Controllers
         [HttpPost("knowledge-offshelf")]
         public async Task<PagedDto<KnowledgeDataDto>> OffShelf([FromBody] KnowledgePagedListDto pagedDto)
         {
-            var bmList = await _knowledgeDomainService.GetChildOrgId(_sessionContext.RequiredUserId);
+            var bmList = await _knowledgeService.GetChildBMId(_sessionContext.RequiredOrgId);
             if (bmList == null || bmList.Count == 0)
                 return new PagedDto<KnowledgeDataDto>(0, _mapper.Map<IReadOnlyList<KnowledgeDataDto>>(new List<Knowledge>()));
 
@@ -501,7 +501,7 @@ namespace Hotline.Api.Controllers
         [HttpPost("knowledge-underapproval")]
         public async Task<PagedDto<KnowledgeDataDto>> UnderApproval([FromBody] KnowledgePagedListDto pagedDto)
         {
-            var bmList = await _knowledgeDomainService.GetChildOrgId(_sessionContext.RequiredUserId);
+            var bmList = await _knowledgeService.GetChildBMId(_sessionContext.RequiredOrgId);
             if (bmList == null || bmList.Count == 0)
                 return new PagedDto<KnowledgeDataDto>(0, _mapper.Map<IReadOnlyList<KnowledgeDataDto>>(new List<Knowledge>()));
             var (total, items) = await _knowledgeRepository
@@ -533,7 +533,7 @@ namespace Hotline.Api.Controllers
         [HttpPost("knowledge-approved")]
         public async Task<PagedDto<KnowledgeDataDto>> Approved([FromBody] KnowledgePagedListDto pagedDto)
         {
-            var bmList = await _knowledgeDomainService.GetChildOrgId(_sessionContext.RequiredUserId);
+            var bmList = await _knowledgeService.GetChildBMId(_sessionContext.RequiredOrgId);
             if (bmList == null || bmList.Count == 0)
                 return new PagedDto<KnowledgeDataDto>(0, _mapper.Map<IReadOnlyList<KnowledgeDataDto>>(new List<Knowledge>()));
             var (total, items) = await _knowledgeRepository
@@ -604,7 +604,7 @@ namespace Hotline.Api.Controllers
                 throw UserFriendlyException.SameMessage("请输入关键字");
 
             //是否需要验证本部门以及下级部门的数据,不要注释下面这3行
-            var bmList = await _knowledgeDomainService.GetChildOrgId(_sessionContext.RequiredUserId);
+            var bmList = await _knowledgeService.GetChildBMId(_sessionContext.RequiredOrgId);
             if (bmList == null || bmList.Count == 0)
                 return new PagedDto<KnowledgeRetrievalDataDto>(0, _mapper.Map<IReadOnlyList<KnowledgeRetrievalDataDto>>(new List<Knowledge>()));
 

+ 3 - 3
src/Hotline/KnowledgeBase/IKnowledgeDomainService.cs

@@ -5,11 +5,11 @@ namespace Hotline.KnowledgeBase
     public interface IKnowledgeDomainService
     {
         /// <summary>
-        /// 根据用户ID获取当前用户所属部门及下级部门Id
+        /// 根据用户部门ID获取当前用户所属部门及下级部门Id
         /// </summary>
-        /// <param name="userId"></param>
+        /// <param name="RequiredOrgId"></param>
         /// <returns></returns>
-        Task<List<string>> GetChildOrgId(string? userId);
+        Task<List<string>> GetChildBMId(string? RequiredOrgId);
 
         /// <summary>
         /// 知识库-知识修改-查询详情

+ 4 - 6
src/Hotline/KnowledgeBase/KnowledgeDomainService.cs

@@ -35,17 +35,15 @@ namespace Hotline.KnowledgeBase
         /// <summary>
         /// 根据用户ID获取当前用户所属部门及下级部门Id
         /// </summary>
-        /// <param name="userId"></param>
+        /// <param name="RequiredOrgId"></param>
         /// <returns></returns>
-        public async Task<List<string>> GetChildOrgId(string? userId)
+        public async Task<List<string>> GetChildBMId(string? RequiredOrgId)
         {
-            //获取当前用户信息
-            var orgUser = await _userRepository.GetAsync(p => p.Id == userId);
             List<string> list = new();
-            if (orgUser != null && !string.IsNullOrEmpty(orgUser.OrgId))
+            if (!string.IsNullOrEmpty(RequiredOrgId))
             {
                 //根据父级获取子级信息
-                var tempList = await _knowledgeRepository.GetChild(orgUser.OrgId);
+                var tempList = await _knowledgeRepository.GetChild(RequiredOrgId);
                 //获取子级ID
                 list = tempList.Select(it => it.Id).ToList();
             }