李昊 4 年之前
父節點
當前提交
1c2954317f

+ 1 - 1
gx_api/GxPress/Model/GxPress.Result/User/UserResult.cs

@@ -43,7 +43,7 @@ namespace GxPress.Result.User
         /// <summary>
         /// 部门ID
         /// </summary>
-        public int DepartmentId { get; set; }
+        public IEnumerable<int> DepartmentId { get; set; }
         /// <summary>
         /// 角色ID
         /// </summary>

+ 9 - 0
gx_api/GxPress/Repository/GxPress.Repository.Implement/DepartmentUser/DepartmentUserRepository.cs

@@ -43,6 +43,15 @@ namespace GxPress.Repository.Implement.DepartmentUser
             return await _repository.GetAllAsync<int>(Q.Where(nameof(Entity.DepartmentUser.DepartmentId), departmentId).Select(nameof(Entity.DepartmentUser.UserId)));
         }
         /// <summary>
+        /// 根据用户D获取部门ID
+        /// </summary>
+        /// <param name="departmentId"></param>
+        /// <returns></returns>
+        public async Task<IEnumerable<int>> GetDepartmentIdsAsync(int userId)
+        {
+            return await _repository.GetAllAsync<int>(Q.Where(nameof(Entity.DepartmentUser.UserId), userId).Select(nameof(Entity.DepartmentUser.DepartmentId)));
+        }
+        /// <summary>
         /// 添加部门成员
         /// </summary>
         /// <param name="request"></param>

+ 3 - 3
gx_api/GxPress/Repository/GxPress.Repository.Implement/UserRepository.cs

@@ -451,9 +451,9 @@ namespace GxPress.Repository.Implement
             foreach (var item in items)
             {
                 //获取部门
-                var department = await _departmentRepository.GetAsync(item.DepartmentId);
-                if (department != null)
-                    item.DepartmentName = department.Name;
+                // var department = await _departmentRepository.GetAsync(item.DepartmentId);
+                // if (department != null)
+                //     item.DepartmentName = department.Name;
                 var role = await _roleRepository.GetAsync(item.RoleId);
                 if (role != null)
                     item.RoleName = role.Name;

+ 8 - 2
gx_api/GxPress/Repository/GxPress.Repository.Interface/DepartmentUser/IDepartmentUserRepository.cs

@@ -19,11 +19,17 @@ namespace GxPress.Repository.Interface.DepartmentUser
         /// <param name="request"></param>
         /// <returns></returns>
         Task<bool> AddDepartmentUserAsync(DepartmentUserInRequest request);
-          /// <summary>
+        /// <summary>
         /// 添加部门成员
         /// </summary>
         /// <param name="request"></param>
         /// <returns></returns>
-       Task<bool> AddDepartmentUserAsync(IEnumerable<int> departmentIds, int userId);
+        Task<bool> AddDepartmentUserAsync(IEnumerable<int> departmentIds, int userId);
+        /// <summary>
+        /// 根据用户D获取部门ID
+        /// </summary>
+        /// <param name="departmentId"></param>
+        /// <returns></returns>
+        Task<IEnumerable<int>> GetDepartmentIdsAsync(int userId);
     }
 }

+ 5 - 0
gx_api/GxPress/Service/GxPress.Service.Implement/UserService.cs

@@ -210,6 +210,7 @@ namespace GxPress.Service.Implement
                 // departmentName =
                 //     await _departmentRepository.GetDepartmentFullPathAsync(item.DepartmentId, departmentName);
                 // item.DepartmentName = departmentName;
+                item.DepartmentId = await departmentUserRepository.GetDepartmentIdsAsync(item.Id);
                 var role = await _roleRepository.GetAsync(item.RoleId);
                 if (role != null)
                     item.RoleName = role.Name;
@@ -424,6 +425,10 @@ namespace GxPress.Service.Implement
             {
                 await departmentUserRepository.AddDepartmentUserAsync(request.DepartmentId, id);
             }
+            if (!string.IsNullOrEmpty(request.DepartmentName))
+            {
+                user.DepartmentName = request.DepartmentName;
+            }
             if (!string.IsNullOrEmpty(request.Nick))
                 user.Nick = request.Nick;
             if (!string.IsNullOrEmpty(request.Description))