From d1ab857c45b29cf8721bfe1892356a45beeecfd8 Mon Sep 17 00:00:00 2001
From: sunpengfei <i@angelzzz.com>
Date: 星期四, 21 八月 2025 16:47:20 +0800
Subject: [PATCH] feat:开发

---
 FlexJobApi.UserServer.Application/ElectronSign/Commands/ContractTemplateCommandHandler.cs |   36 ++++++++++++++++++++----------------
 1 files changed, 20 insertions(+), 16 deletions(-)

diff --git a/FlexJobApi.UserServer.Application/ElectronSign/Commands/ContractTemplateCommandHandler.cs b/FlexJobApi.UserServer.Application/ElectronSign/Commands/ContractTemplateCommandHandler.cs
index f507dc1..82c8fa9 100644
--- a/FlexJobApi.UserServer.Application/ElectronSign/Commands/ContractTemplateCommandHandler.cs
+++ b/FlexJobApi.UserServer.Application/ElectronSign/Commands/ContractTemplateCommandHandler.cs
@@ -48,9 +48,12 @@
             }
             if (request.EnterpriseId == null) throw Oops.Oh(EnumErrorCodeType.s400, "璇烽�夋嫨浼佷笟");
 
-            var existCode = await rep.AsQueryable().AsNoTracking()
-                .AnyAsync(it => it.Code == request.Code && !it.IsDisabled && it.Id != request.Id);
-            if (existCode) throw Oops.Oh(EnumErrorCodeType.s405, "涓氬姟缂栫爜");
+            if (request.Code.IsNotNull())
+            {
+                var existCode = await rep.AsQueryable().AsNoTracking()
+                    .AnyAsync(it => it.Code == request.Code && !it.IsDisabled && it.Id != request.Id);
+                if (existCode) throw Oops.Oh(EnumErrorCodeType.s405, "涓氬姟缂栫爜");
+            }
 
             var entity = await request.SaveData<ContractTemplate, SaveContractTemplateCommand>(
                  q => q
@@ -59,7 +62,21 @@
                  null,
                  entity =>
                  {
+                     if (entity.Code.IsNotNull() && entity.Name.IsNotNull() && (entity.Code != request.Code || entity.Name != request.Name || entity.WxmpQrCode.IsNull()))
+                     {
+                         entity.WxmpQrCode = wxmpUtils.GetQrCodeOssUrl(new WxmpGetQrCodeCommand
+                         {
+                             UserType = EnumUserType.Personal,
+                             OssScene = "Wxmp/QrCode/ContractTemplate",
+                             OssFileName = $"{request.Name}.png",
+                             Page = "subpackages/mine/mineAgreementSignDetail/mineAgreementSignDetail",
+                             CheckPath = false,
+                             Scene = $"{request.Code}",
+                         }).Result;
+                     }
+
                      request.Adapt(entity);
+
                      if (request.Id == null)
                      {
                          entity.Status = EnumContractTemplateStatus.Wait;
@@ -73,19 +90,6 @@
                  cancellationToken);
 
             await SyncElectronSignContractTemplate(entity);
-
-            if (request.Id == null)
-            {
-                entity.WxmpQrCode = await wxmpUtils.GetQrCodeOssUrl(new WxmpGetQrCodeCommand
-                {
-                    UserType = EnumUserType.Personal,
-                    OssScene = "Wxmp/QrCode/ContractTemplate",
-                    OssFileName = $"{entity.Name}.png",
-                    Page = "subpackages/mine/mineAgreementSignDetail/mineAgreementSignDetail",
-                    CheckPath = false,
-                    Scene = $"{entity.Code}",
-                });
-            }
 
             return entity.Id;
         }

--
Gitblit v1.9.1