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/Auths/Commands/PasswordLoginCommandHandler.cs |   41 +++++++++++++++++++++--------------------
 1 files changed, 21 insertions(+), 20 deletions(-)

diff --git a/FlexJobApi.User.Application/Auths/Commands/PasswordLoginCommandHandler.cs b/FlexJobApi.UserServer.Application/Auths/Commands/PasswordLoginCommandHandler.cs
similarity index 63%
rename from FlexJobApi.User.Application/Auths/Commands/PasswordLoginCommandHandler.cs
rename to FlexJobApi.UserServer.Application/Auths/Commands/PasswordLoginCommandHandler.cs
index 66a3942..30c7ff4 100644
--- a/FlexJobApi.User.Application/Auths/Commands/PasswordLoginCommandHandler.cs
+++ b/FlexJobApi.UserServer.Application/Auths/Commands/PasswordLoginCommandHandler.cs
@@ -11,52 +11,53 @@
 using System.Text;
 using System.Threading.Tasks;
 
-namespace FlexJobApi.User.Application
+namespace FlexJobApi.UserServer.Application
 {
     /// <summary>
     /// 瀵嗙爜鐧诲綍
     /// </summary>
     public class PasswordLoginCommandHandler(
         IRepository<UserAuth> userAuthRep,
-        IRepository<UserInfo> userInfoRep) 
+        IRepository<User> userInfoRep) 
         : IRequestHandler<PasswordLoginCommand, PasswordLoginCommandCallback>
     {
         private readonly IRepository<UserAuth> userAuthRep = userAuthRep;
-        private readonly IRepository<UserInfo> userInfoRep = userInfoRep;
+        private readonly IRepository<User> userInfoRep = userInfoRep;
 
         /// <inheritdoc/>
         public async Task<PasswordLoginCommandCallback> Handle(PasswordLoginCommand request, CancellationToken cancellationToken)
         {
-            var userInfo = await userInfoRep.AsQueryable().AsNoTracking()
-                .Include(it => it.UserAuth)
-                .Where(it => it.UserAuth.UserName == request.UserName && it.Type == request.Type)
+            var user = await userInfoRep.AsQueryable().AsNoTracking()
+                .Where(it => it.UserName == request.UserName && it.Type == request.Type)
                 .Select(it => new
                 {
                     it.Id,
                     it.Avatar,
                     it.Level,
                     it.EnterpriseId,
-                    it.UserAuth.Name,
-                    it.UserAuth.UserName,
-                    it.UserAuth.PhoneNumber,
-                    it.UserAuth.Password
+                    it.Name,
+                    it.UserName,
+                    it.PhoneNumber,
+                    it.Password,
+                    it.Status
                 })
                 .FirstOrDefaultAsync(cancellationToken);
-            if (userInfo == null 
-                || !PBKDF2Encryption.Compare(request.Password, userInfo.Password))
+            if (user == null 
+                || !PBKDF2Encryption.Compare(request.Password, user.Password))
                 throw Oops.Oh(EnumUserErrorCodeType.u1000);
-
+            if (user.Status == EnumUserStatus.Disabled) 
+                throw Oops.Oh(EnumUserErrorCodeType.u1001);
             var logier = new CurrentLogier
             {
-                UserInfoId = userInfo.Id,
-                Avatar = userInfo.Avatar,
-                Name = userInfo.Name,
-                UserName = userInfo.UserName,
-                PhoneNumber = userInfo.PhoneNumber,
-                Level = userInfo.Level,
+                Id = user.Id,
+                Avatar = user.Avatar,
+                Name = user.Name,
+                UserName = user.UserName,
+                PhoneNumber = user.PhoneNumber,
+                Level = user.Level,
                 Type = request.Type,
                 ClientType = request.ClientType,
-                EnterpriseId = userInfo.EnterpriseId,
+                EnterpriseId = user.EnterpriseId,
             };
             JwtUtils.GenerateToken(logier);
 

--
Gitblit v1.9.1