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/Enterprises/Commands/EnterpriseCommandHandler.cs |   53 ++++++++++++++++++++++++-----------------------------
 1 files changed, 24 insertions(+), 29 deletions(-)

diff --git a/FlexJobApi.User.Application/Enterprises/Commands/EnterpriseCommandHandler.cs b/FlexJobApi.UserServer.Application/Enterprises/Commands/EnterpriseCommandHandler.cs
similarity index 66%
rename from FlexJobApi.User.Application/Enterprises/Commands/EnterpriseCommandHandler.cs
rename to FlexJobApi.UserServer.Application/Enterprises/Commands/EnterpriseCommandHandler.cs
index a151896..ca8469b 100644
--- a/FlexJobApi.User.Application/Enterprises/Commands/EnterpriseCommandHandler.cs
+++ b/FlexJobApi.UserServer.Application/Enterprises/Commands/EnterpriseCommandHandler.cs
@@ -11,14 +11,14 @@
 using System.Text;
 using System.Threading.Tasks;
 
-namespace FlexJobApi.User.Application
+namespace FlexJobApi.UserServer.Application
 {
     /// <summary>
     /// 浼佷笟鍛戒护澶勭悊鍣�
     /// </summary>
     public class EnterpriseCommandHandler(
             IRepository<Enterprise> rep,
-            IRepository<UserInfo> repUserInfo
+            IRepository<User> repUser
         ) :
         IRequestHandler<SaveEnterpriseCommand, Guid>,
         IRequestHandler<SetEnterpriseElectronSignSettingCommand, Guid>,
@@ -26,7 +26,7 @@
 
     {
         private readonly IRepository<Enterprise> rep = rep;
-        private readonly IRepository<UserInfo> repUserInfo = repUserInfo;
+        private readonly IRepository<User> repUser = repUser;
 
         /// <summary>
         /// 淇濆瓨浼佷笟
@@ -37,12 +37,10 @@
         public async Task<Guid> Handle(SaveEnterpriseCommand request, CancellationToken cancellationToken)
         {
             var entity = await rep.AsQueryable()
-                .Include(it => it.EnterpriseAuth)
-                .FirstOrDefaultAsync(it => it.EnterpriseAuth.SocietyCreditCode == request.EnterpriseAuth.SocietyCreditCode);
+                .FirstOrDefaultAsync(it => it.SocietyCreditCode == request.SocietyCreditCode);
             if (entity == null)
             {
                 entity = new Enterprise();
-                entity.EnterpriseAuth = new EnterpriseAuth();
                 request.Adapt(entity);
                 await rep.InsertAsync(entity);
             }
@@ -52,39 +50,36 @@
                 await rep.UpdateAsync(entity);
             }
 
-            var checkExist = await repUserInfo.AsQueryable()
-                .AnyAsync(it =>
-                    it.Type == EnumUserType.Enterprise
-                    && it.EnterpriseId != entity.Id
-                    && it.UserAuth.UserName == request.UserName);
-            if (checkExist) throw Oops.Oh(EnumErrorCodeType.s405, "璇ヨ处鍙�");
-
-            var userInfo = await repUserInfo.AsQueryable()
-                .Include(it => it.UserAuth)
+            var user = await repUser.AsQueryable()
                 .FirstOrDefaultAsync(it =>
                     it.Type == EnumUserType.Enterprise
-                    && it.EnterpriseId == entity.Id);
-            if (userInfo == null)
+                    && it.UserName == request.UserName);
+            if (user == null)
             {
-                userInfo = new UserInfo
+                if (request.Password.IsNull()) throw Oops.Oh(EnumErrorCodeType.s400, "璇峰~鍐欏瘑鐮�");
+                user = new User
                 {
                     EnterpriseId = entity.Id,
                     Type = EnumUserType.Enterprise,
-                    Status = EnumUserInfoStatus.Normal,
-                    UserAuth = new UserAuth
-                    {
-                        Name = request.Contacts,
-                        UserName = request.UserName,
-                        PhoneNumber = request.ContactPhoneNumber,
-                        Password = PBKDF2Encryption.Encrypt(MD5Encryption.Encrypt(request.Password))
-                    }
+                    Name = request.Contacts,
+                    PhoneNumber = request.ContactPhoneNumber,
+                    UserName = request.UserName,
+                    Password = PBKDF2Encryption.Encrypt(request.Password),
+                    Level = 100,
+                    Status = EnumUserStatus.Normal,
                 };
-                await repUserInfo.InsertAsync(userInfo);
+                await repUser.InsertAsync(user);
             }
             else
             {
-                userInfo.UserAuth.PhoneNumber = request.ContactPhoneNumber;
-                await repUserInfo.UpdateAsync(userInfo);
+                if (user.EnterpriseId != entity.Id) throw Oops.Oh(EnumErrorCodeType.s405, "璇ヨ处鍙�");
+                user.Name = request.Contacts;
+                user.PhoneNumber = request.ContactPhoneNumber;
+                if (request.Password.IsNotNull())
+                {
+                    user.Password = PBKDF2Encryption.Encrypt(request.Password);
+                }
+                await repUser.UpdateAsync(user);
             }
 
             return entity.Id;

--
Gitblit v1.9.1