Преглед на файлове

新增角色用户列表

zhontai преди 2 години
родител
ревизия
76893145d6

+ 20 - 0
src/platform/ZhonTai.Admin/Services/Role/Dto/RoleAddRoleUserListInput.cs

@@ -0,0 +1,20 @@
+using System.ComponentModel.DataAnnotations;
+
+namespace ZhonTai.Admin.Services.Role.Dto;
+
+/// <summary>
+/// 添加角色用户列表
+/// </summary>
+public class RoleAddRoleUserListInput
+{
+    /// <summary>
+    /// 角色
+    /// </summary>
+    [Required(ErrorMessage = "请选择角色")]
+    public long RoleId { get; set; }
+
+    /// <summary>
+    /// 用户
+    /// </summary>
+    public long[] UserIds { get; set; }
+}

+ 2 - 0
src/platform/ZhonTai.Admin/Services/Role/IRoleService.cs

@@ -18,6 +18,8 @@ public interface IRoleService
 
     Task<IResultOutput> AddAsync(RoleAddInput input);
 
+    Task<IResultOutput> AddRoleUserListAsync(RoleAddRoleUserListInput input);
+
     Task<IResultOutput> UpdateAsync(RoleUpdateInput input);
 
     Task<IResultOutput> DeleteAsync(long id);

+ 18 - 4
src/platform/ZhonTai.Admin/Services/Role/RoleService.cs

@@ -103,15 +103,29 @@ public class RoleService : BaseService, IRoleService, IDynamicApi
 
 
     /// <summary>
-    /// 新增
+    /// 新增角色用户列表
     /// </summary>
     /// <param name="input"></param>
     /// <returns></returns>
+    public async Task<IResultOutput> AddRoleUserListAsync(RoleAddRoleUserListInput input)
+    {
+        var roleId = input.RoleId;
+        var userIds = await _userRoleRepository.Select.Where(a => a.RoleId == roleId).ToListAsync(a => a.UserId);
+        var insertUserIds = input.UserIds.Except(userIds);
+        if (insertUserIds != null && insertUserIds.Any())
+        {
+            var userRoleList = insertUserIds.Select(userId => new UserRoleEntity { UserId = userId, RoleId = roleId });
+            await _userRoleRepository.InsertAsync(userRoleList);
+        }
+
+        return ResultOutput.Ok();
+    }
+
     public async Task<IResultOutput> AddAsync(RoleAddInput input)
     {
-        if(await _roleRepository.Select.AnyAsync(a=>a.ParentId == input.ParentId && a.Name == input.Name))
+        if (await _roleRepository.Select.AnyAsync(a => a.ParentId == input.ParentId && a.Name == input.Name))
         {
-            return ResultOutput.NotOk($"此{(input.ParentId == 0 ? "分组":"角色")}已存在");
+            return ResultOutput.NotOk($"此{(input.ParentId == 0 ? "分组" : "角色")}已存在");
         }
 
         if (input.Code.NotNull() && await _roleRepository.Select.AnyAsync(a => a.ParentId == input.ParentId && a.Code == input.Code))
@@ -122,7 +136,7 @@ public class RoleService : BaseService, IRoleService, IDynamicApi
         var entity = Mapper.Map<RoleEntity>(input);
         if (entity.Sort == 0)
         {
-            var sort = await _roleRepository.Select.Where(a=>a.ParentId == input.ParentId).MaxAsync(a => a.Sort);
+            var sort = await _roleRepository.Select.Where(a => a.ParentId == input.ParentId).MaxAsync(a => a.Sort);
             entity.Sort = sort + 1;
         }
         var id = (await _roleRepository.InsertAsync(entity)).Id;

+ 17 - 2
src/platform/ZhonTai.Admin/ZhonTai.Admin.xml

@@ -5170,6 +5170,21 @@
             排序
             </summary>
         </member>
+        <member name="T:ZhonTai.Admin.Services.Role.Dto.RoleAddRoleUserListInput">
+            <summary>
+            添加角色用户列表
+            </summary>
+        </member>
+        <member name="P:ZhonTai.Admin.Services.Role.Dto.RoleAddRoleUserListInput.RoleId">
+            <summary>
+            角色
+            </summary>
+        </member>
+        <member name="P:ZhonTai.Admin.Services.Role.Dto.RoleAddRoleUserListInput.UserIds">
+            <summary>
+            用户
+            </summary>
+        </member>
         <member name="P:ZhonTai.Admin.Services.Role.Dto.RoleGetListOutput.Id">
             <summary>
             主键
@@ -5278,9 +5293,9 @@
             <param name="input"></param>
             <returns></returns>
         </member>
-        <member name="M:ZhonTai.Admin.Services.Role.RoleService.AddAsync(ZhonTai.Admin.Services.Role.Dto.RoleAddInput)">
+        <member name="M:ZhonTai.Admin.Services.Role.RoleService.AddRoleUserListAsync(ZhonTai.Admin.Services.Role.Dto.RoleAddRoleUserListInput)">
             <summary>
-            新增
+            新增角色用户列表
             </summary>
             <param name="input"></param>
             <returns></returns>