From c97916f276a328fa70696a8582dc0c23144424f9 Mon Sep 17 00:00:00 2001
From: sunpengfei <i@angelzzz.com>
Date: 星期三, 06 八月 2025 16:59:32 +0800
Subject: [PATCH] feat:企业开发

---
 FlexJobApi.User.Application/Enterprises/Commands/EnterpriseCommandHandler.cs |   41 ++++++++++++++++++++++++++++++++++++++---
 1 files changed, 38 insertions(+), 3 deletions(-)

diff --git a/FlexJobApi.User.Application/Enterprises/Commands/EnterpriseCommandHandler.cs b/FlexJobApi.User.Application/Enterprises/Commands/EnterpriseCommandHandler.cs
index f30c36b..de65441 100644
--- a/FlexJobApi.User.Application/Enterprises/Commands/EnterpriseCommandHandler.cs
+++ b/FlexJobApi.User.Application/Enterprises/Commands/EnterpriseCommandHandler.cs
@@ -19,8 +19,11 @@
     public class EnterpriseCommandHandler(
             IRepository<Enterprise> rep,
             IRepository<UserInfo> repUserInfo
-        )
-        : IRequestHandler<SaveEnterpriseCommand, Guid>
+        ) :
+        IRequestHandler<SaveEnterpriseCommand, Guid>,
+        IRequestHandler<SetEnterpriseElectronSignSettingCommand, Guid>,
+        IRequestHandler<SetEnterpriseSmsSettingCommand, Guid>
+
     {
         private readonly IRepository<Enterprise> rep = rep;
         private readonly IRepository<UserInfo> repUserInfo = repUserInfo;
@@ -34,10 +37,12 @@
         public async Task<Guid> Handle(SaveEnterpriseCommand request, CancellationToken cancellationToken)
         {
             var entity = await rep.AsQueryable()
-                .FirstOrDefaultAsync(it => it.SocietyCreditCode == request.SocietyCreditCode);
+                .Include(it => it.EnterpriseAuth)
+                .FirstOrDefaultAsync(it => it.EnterpriseAuth.SocietyCreditCode == request.EnterpriseAuth.SocietyCreditCode);
             if (entity == null)
             {
                 entity = new Enterprise();
+                entity.EnterpriseAuth = new EnterpriseAuth();
                 request.Adapt(entity);
                 await rep.InsertAsync(entity);
             }
@@ -77,5 +82,35 @@
 
             return entity.Id;
         }
+
+        /// <summary>
+        /// 璁剧疆浼佷笟鐢靛瓙绛鹃厤缃�
+        /// </summary>
+        /// <param name="request"></param>
+        /// <param name="cancellationToken"></param>
+        /// <returns></returns>
+        public async Task<Guid> Handle(SetEnterpriseElectronSignSettingCommand request, CancellationToken cancellationToken)
+        {
+            var entity = await rep.AsQueryable().FirstOrDefaultAsync(it => it.Id == request.Id, cancellationToken);
+            if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "璇ヤ紒涓�");
+            request.Adapt(entity);
+            await rep.UpdateAsync(entity);
+            return entity.Id;
+        }
+
+        /// <summary>
+        /// 璁剧疆浼佷笟鐭俊閰嶇疆
+        /// </summary>
+        /// <param name="request"></param>
+        /// <param name="cancellationToken"></param>
+        /// <returns></returns>
+        public async Task<Guid> Handle(SetEnterpriseSmsSettingCommand request, CancellationToken cancellationToken)
+        {
+            var entity = await rep.AsQueryable().FirstOrDefaultAsync(it => it.Id == request.Id, cancellationToken);
+            if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "璇ヤ紒涓�");
+            request.Adapt(entity);
+            await rep.UpdateAsync(entity);
+            return entity.Id;
+        }
     }
 }

--
Gitblit v1.9.1