From c21b8be5e1e6f4afef6993fd8291dbbe3930a0f4 Mon Sep 17 00:00:00 2001 From: luolan Date: Sat, 12 Jul 2025 15:00:55 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=94=A8=E6=88=B7=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E5=8A=9F=E8=83=BD=E5=B9=B6=E6=9B=B4=E6=96=B0=E6=B3=A8?= =?UTF-8?q?=E5=86=8C=E9=A1=B5=E9=9D=A2=E5=92=8C=E6=8E=A7=E5=88=B6=E5=99=A8?= =?UTF-8?q?=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Identity/Pages/Account/Register.cshtml | 5 ++ .../Identity/Pages/Account/Register.cshtml.cs | 7 ++- .../Admin/AdminDictionaryController.cs | 2 +- .../Controllers/Admin/AdminRoleControllers.cs | 15 +++-- AGSS/Models/Entities/User.cs | 3 +- AGSS/Services/UserService.cs | 57 +++++++++++++++++++ 6 files changed, 80 insertions(+), 9 deletions(-) diff --git a/AGSS/Areas/Identity/Pages/Account/Register.cshtml b/AGSS/Areas/Identity/Pages/Account/Register.cshtml index cdbeffe..eba2f18 100644 --- a/AGSS/Areas/Identity/Pages/Account/Register.cshtml +++ b/AGSS/Areas/Identity/Pages/Account/Register.cshtml @@ -12,6 +12,11 @@

创建新账户。


+
+ + + +
diff --git a/AGSS/Areas/Identity/Pages/Account/Register.cshtml.cs b/AGSS/Areas/Identity/Pages/Account/Register.cshtml.cs index 59f2d3c..a5310f8 100644 --- a/AGSS/Areas/Identity/Pages/Account/Register.cshtml.cs +++ b/AGSS/Areas/Identity/Pages/Account/Register.cshtml.cs @@ -110,9 +110,12 @@ namespace AGSS.Areas.Identity.Pages.Account [MaxLength(10)] - [Display(Name = "Confirm password")] public string Sex { get; set; } + + [MaxLength(10)] + public string UserName { get; set; } + } @@ -131,7 +134,7 @@ namespace AGSS.Areas.Identity.Pages.Account var user = CreateUser(); user.Id = Guid.NewGuid().ToString(); user.Sex = Input.Sex; - await _userStore.SetUserNameAsync(user, Input.Email, CancellationToken.None); + await _userStore.SetUserNameAsync(user, Input.UserName, CancellationToken.None); await _emailStore.SetEmailAsync(user, Input.Email, CancellationToken.None); var result = await _userManager.CreateAsync(user, Input.Password); diff --git a/AGSS/Controllers/Admin/AdminDictionaryController.cs b/AGSS/Controllers/Admin/AdminDictionaryController.cs index 95758fe..45bc88b 100644 --- a/AGSS/Controllers/Admin/AdminDictionaryController.cs +++ b/AGSS/Controllers/Admin/AdminDictionaryController.cs @@ -174,7 +174,7 @@ namespace AGSS.Controllers.Admin return Ok(new ReturnTemplate(200, "删除子级字典成功", null)); } - [HttpGet] + [HttpPost] public IActionResult GetChildDictionaries([FromBody] ChildDictionaryRequest request) { if (string.IsNullOrWhiteSpace(request.Value)) diff --git a/AGSS/Controllers/Admin/AdminRoleControllers.cs b/AGSS/Controllers/Admin/AdminRoleControllers.cs index e33728f..09bcf08 100644 --- a/AGSS/Controllers/Admin/AdminRoleControllers.cs +++ b/AGSS/Controllers/Admin/AdminRoleControllers.cs @@ -169,8 +169,13 @@ public class AdminRoleControllers:ControllerBase } - - + [HttpGet] + public async Task AllRole() + { + + return Ok(new ReturnTemplate(200,"查询成功啦!", _roleManager.Roles.ToList())); + + } @@ -189,11 +194,12 @@ public class AdminRoleControllers:ControllerBase IList usersInRole = null; if (string.IsNullOrWhiteSpace(request.RoleName)) { - usersInRole = _userManager.Users.ToList(); + usersInRole = await _userService.GetUsersProfileByUserNameAsync(request.UserName); } else { - usersInRole = await _userService.GetUsersProfileInRoleAsync(request.RoleName); + var usersInRole1 = await _userService.GetUsersProfileInRoleAsync(request.RoleName); + usersInRole = usersInRole1.Where(a => a.UserName.Contains(request.UserName)).ToList(); } @@ -220,6 +226,7 @@ public class AdminRoleControllers:ControllerBase { + public string UserName { get; set; } /// /// 表示角色的名称。此属性用于指定或获取与用户管理相关的角色名称。 /// 在进行角色分配、查询等操作时,需要提供正确的角色名称以确保操作的成功执行。 diff --git a/AGSS/Models/Entities/User.cs b/AGSS/Models/Entities/User.cs index 0ac6258..242326c 100644 --- a/AGSS/Models/Entities/User.cs +++ b/AGSS/Models/Entities/User.cs @@ -5,8 +5,7 @@ namespace AGSS.Models.Entities; public class UserModel:IdentityUser { - - public string? Sex { get; set; } + public string? Sex { get; set; } [MaxLength(100)] public string? Description { get; set; } [MaxLength(200)] diff --git a/AGSS/Services/UserService.cs b/AGSS/Services/UserService.cs index 29ec325..440d43b 100644 --- a/AGSS/Services/UserService.cs +++ b/AGSS/Services/UserService.cs @@ -1,6 +1,7 @@ using AGSS.Models; using AGSS.Models.Entities; using Microsoft.AspNetCore.Identity; +using Microsoft.EntityFrameworkCore; namespace AGSS.Services; @@ -69,4 +70,60 @@ public class UserService // For now, returning the first user's profile return userProfiles; } + + + public async Task> GetUsersProfileByUserNameAsync(string userName) + { + var users = await _userManager.Users + .Where(u => u.UserName.Contains(userName)) + .Select(u => new UserProfile + { + Id = u.Id, + UserName = u.UserName, + Email = u.Email, + Sex = u.Sex, + Description = u.Description, + Config = u.Config, + JobCode = u.JobCode, + JobName = u.JobName, + Birthday = u.Birthday, + MenuCode = u.MenuCode, + MenuName = u.MenuName + }) + .ToListAsync(); + + if (users == null || !users.Any()) + { + throw new ArgumentException("No users found with the specified username"); + } + + return users; + } + + public async Task> GetUsersProfileAllAsync() + { + var users = await _userManager.Users + .Select(u => new UserProfile + { + Id = u.Id, + UserName = u.UserName, + Email = u.Email, + Sex = u.Sex, + Description = u.Description, + Config = u.Config, + JobCode = u.JobCode, + JobName = u.JobName, + Birthday = u.Birthday, + MenuCode = u.MenuCode, + MenuName = u.MenuName + }) + .ToListAsync(); + + if (users == null || !users.Any()) + { + throw new ArgumentException("No users found"); + } + + return users; + } } \ No newline at end of file