From 8ffda541b48cbf619f8493196da4fb44d4f3ddc5 Mon Sep 17 00:00:00 2001
From: sunpengfei <i@angelzzz.com>
Date: 星期五, 05 九月 2025 10:22:55 +0800
Subject: [PATCH] feat:开发

---
 FlexJobApi.UserServer.Application/EnterpriseEmployees/Commands/EnterpriseEmployeesCommandHandler.cs |   51 ++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 48 insertions(+), 3 deletions(-)

diff --git a/FlexJobApi.UserServer.Application/EnterpriseEmployees/Commands/EnterpriseEmployeesCommandHandler.cs b/FlexJobApi.UserServer.Application/EnterpriseEmployees/Commands/EnterpriseEmployeesCommandHandler.cs
index 26a0f07..e807a1b 100644
--- a/FlexJobApi.UserServer.Application/EnterpriseEmployees/Commands/EnterpriseEmployeesCommandHandler.cs
+++ b/FlexJobApi.UserServer.Application/EnterpriseEmployees/Commands/EnterpriseEmployeesCommandHandler.cs
@@ -30,6 +30,7 @@
     /// 鐏靛伐鍛戒护澶勭悊鍣�
     /// </summary>
     public class EnterpriseEmployeesCommandHandler(
+            SmsUtils smsUtils,
             IMediator mediator,
             IRepository<EnterpriseEmployee> rep,
             IRepository<User> repUser,
@@ -45,8 +46,10 @@
         IRequestHandler<InviteElectronSignCommand, int>,
         IRequestHandler<PersonalUserElectronSignCommand, PersonalUserElectronSignCommandResult>,
         IRequestHandler<EnterpriseUserElectronSignCommand, EnterpriseUserElectronSignCommandResult>,
-        IRequestHandler<StopElectronSignCommand, int>
+        IRequestHandler<StopElectronSignCommand, int>,
+        IRequestHandler<SendInviteElectronSignSmsCommand, int>
     {
+        private readonly SmsUtils smsUtils = smsUtils;
         private readonly IMediator mediator = mediator;
         private readonly IRepository<EnterpriseEmployee> rep = rep;
         private readonly IRepository<User> repUser = repUser;
@@ -266,6 +269,39 @@
         }
 
         /// <summary>
+        /// 鍙戦�侀個璇风绾︾煭淇�
+        /// </summary>
+        /// <param name="request"></param>
+        /// <param name="cancellationToken"></param>
+        /// <returns></returns>
+        public async Task<int> Handle(SendInviteElectronSignSmsCommand request, CancellationToken cancellationToken)
+        {
+            var logier = JwtUtils.GetCurrentLogier();
+            var entities = await rep.AsQueryable()
+                .Include(it => it.Enterprise)
+                .Include(it => it.ContractTemplate)
+                .Where(it =>
+                    it.EnterpriseId == logier.EnterpriseId
+                    && request.Ids.Contains(it.Id)
+                    && it.UserSignContractStatus == EnumTaskUserSignContractStatus.Wait)
+                .ToListAsync();
+            foreach (var entity in entities)
+            {
+                await smsUtils.Send(new SendSmsModel
+                {
+                    PhoneNumber = entity.ContactPhoneNumber,
+                    TemplateCode = EnumSmsTemplateCode.InviteElectronSign,
+                },
+                new
+                {
+                    name = entity.Enterprise.EnterpriseName,
+                    code = entity.ContractTemplate.Code
+                });
+            }
+            return entities.Count;
+        }
+
+        /// <summary>
         /// 涓汉鐢ㄦ埛绛剧害
         /// </summary>
         /// <param name="request"></param>
@@ -332,7 +368,11 @@
             {
                 throw Oops.Oh(EnumErrorCodeType.s510, result?.Message ?? "绛剧害澶辫触");
             }
-            return result.Result.Adapt<PersonalUserElectronSignCommandResult>();
+            var model = result.Result.Adapt<PersonalUserElectronSignCommandResult>();
+            model.SignContractLongUrl = model.SignContractLongUrl
+                .Replace("https://openapi.bestsign.info:443", "https://wx115.bestsign.info")
+                .Replace("https://openapi.bestsign.cn:443", "https://wx115.bestsign.cn");
+            return model;
         }
 
         /// <summary>
@@ -383,7 +423,11 @@
             {
                 throw Oops.Oh(EnumErrorCodeType.s510, result?.Message ?? "绛剧害澶辫触");
             }
-            return result.Result.Adapt<EnterpriseUserElectronSignCommandResult>();
+            var model = result.Result.Adapt<EnterpriseUserElectronSignCommandResult>();
+            model.SignContractLongUrl = model.SignContractLongUrl
+                .Replace("https://openapi.bestsign.info:443", "https://wx115.bestsign.info")
+                .Replace("https://openapi.bestsign.cn:443", "https://wx115.bestsign.cn");
+            return model;
         }
 
         /// <summary>
@@ -433,5 +477,6 @@
 
             return entities.Count;
         }
+
     }
 }

--
Gitblit v1.9.1