From 32288af3e5f12bc48d8360114c872fde5d9ff4a8 Mon Sep 17 00:00:00 2001
From: sunpengfei <i@angelzzz.com>
Date: 星期五, 08 八月 2025 09:09:08 +0800
Subject: [PATCH] pref:优化

---
 FlexJobApi.UserServer.Application/Roles/Queries/GetRoleUserInfosQueryHandler.cs |   27 +++++++++++----------------
 1 files changed, 11 insertions(+), 16 deletions(-)

diff --git a/FlexJobApi.User.Application/Roles/Queries/GetRoleUserInfosQueryHandler.cs b/FlexJobApi.UserServer.Application/Roles/Queries/GetRoleUserInfosQueryHandler.cs
similarity index 63%
rename from FlexJobApi.User.Application/Roles/Queries/GetRoleUserInfosQueryHandler.cs
rename to FlexJobApi.UserServer.Application/Roles/Queries/GetRoleUserInfosQueryHandler.cs
index 454ccc8..4fe37d2 100644
--- a/FlexJobApi.User.Application/Roles/Queries/GetRoleUserInfosQueryHandler.cs
+++ b/FlexJobApi.UserServer.Application/Roles/Queries/GetRoleUserInfosQueryHandler.cs
@@ -1,6 +1,7 @@
 锘縰sing FlexJobApi.Core;
 using Furion.DatabaseAccessor;
 using Furion.FriendlyException;
+using Mapster;
 using MediatR;
 using Microsoft.EntityFrameworkCore;
 using System;
@@ -9,20 +10,20 @@
 using System.Text;
 using System.Threading.Tasks;
 
-namespace FlexJobApi.User.Application
+namespace FlexJobApi.UserServer.Application
 {
     /// <summary>
     /// 鏌ヨ瑙掕壊鐢ㄦ埛鍒楄〃
     /// </summary>
     public class GetRoleUserInfosQueryHandler(
             IRepository<Role> repRole,
-            IRepository<UserInfo> repUserInfo,
-            IRepository<UserInfoRole> repUserInfoRole
+            IRepository<User> repUser,
+            IRepository<UserRole> repUserRole
         ) : IRequestHandler<GetRoleUserInfosQuery, List<GetRoleUserInfosQueryResultItem>>
     {
         private readonly IRepository<Role> repRole = repRole;
-        private readonly IRepository<UserInfo> repUserInfo = repUserInfo;
-        private readonly IRepository<UserInfoRole> repUserInfoRole = repUserInfoRole;
+        private readonly IRepository<User> repUser = repUser;
+        private readonly IRepository<UserRole> repUserRole = repUserRole;
 
         /// <inheritdoc/>
         public async Task<List<GetRoleUserInfosQueryResultItem>> Handle(GetRoleUserInfosQuery request, CancellationToken cancellationToken)
@@ -35,23 +36,17 @@
                 })
                 .FirstOrDefaultAsync(cancellationToken);
             if (role == null) throw Oops.Oh(EnumErrorCodeType.s404, "璇ヨ鑹�");
-            var userInfoIds = await repUserInfoRole.AsQueryable().AsNoTracking()
+            var userIds = await repUserRole.AsQueryable().AsNoTracking()
                 .Where(it => it.RoleId == request.RoleId)
-                .Select(it => it.UserInfoId)
+                .Select(it => it.UserId)
                 .ToListAsync(cancellationToken);
-            var userInfos = await repUserInfo.AsQueryable().AsNoTracking()
-                .Include(it => it.UserAuth)
+            var userInfos = await repUser.AsQueryable().AsNoTracking()
                 .Where(it => it.Type == role.UserType)
-                .Select(it => new GetRoleUserInfosQueryResultItem
-                {
-                    Id = it.Id,
-                    Name = it.UserAuth.Name,
-                    UserName = it.UserAuth.UserName,
-                })
+                .ProjectToType<GetRoleUserInfosQueryResultItem>()
                 .ToListAsync(cancellationToken);
             foreach (var userInfo in userInfos)
             {
-                userInfo.IsChecked = userInfoIds.Contains(userInfo.Id);
+                userInfo.IsChecked = userIds.Contains(userInfo.Id);
             }
             return userInfos;
         }

--
Gitblit v1.9.1