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