From dbde30883895c6047995d84a846c36f79fc0a895 Mon Sep 17 00:00:00 2001
From: sunpengfei <i@angelzzz.com>
Date: 星期五, 22 八月 2025 15:12:08 +0800
Subject: [PATCH] feat:开发

---
 FlexJobApi.Core/Entities/UserServer/Enterprises/EnterpriseEmployeeContract.cs                            |    4 
 FlexJobApi.Core/Models/UserServer/EnterpriseEmployees/Queries/GetEnterpriseEmployeeElectronSignQuery.cs  |   67 ++++++++++++++++
 FlexJobApi.Core/FlexJobApi.Core.xml                                                                      |   76 ++++++++++++++++++
 FlexJobApi.UserServer.Application/Users/Queries/GetPersonalUserInfosQueryHandler.cs                      |    5 -
 FlexJobApi.Core/Models/UserServer/EnterpriseEmployees/Queries/GetEnterpriseEmployeeElectronSignsQuery.cs |    2 
 FlexJobApi.UserServer.Application/Users/Commands/SyncUserCommandHandler.cs                               |   17 +++-
 FlexJobApi.Core/Entities/UserServer/Enterprises/EnterpriseEmployee.cs                                    |   11 ++
 7 files changed, 166 insertions(+), 16 deletions(-)

diff --git a/FlexJobApi.Core/Entities/UserServer/Enterprises/EnterpriseEmployee.cs b/FlexJobApi.Core/Entities/UserServer/Enterprises/EnterpriseEmployee.cs
index 5eac28a..223618f 100644
--- a/FlexJobApi.Core/Entities/UserServer/Enterprises/EnterpriseEmployee.cs
+++ b/FlexJobApi.Core/Entities/UserServer/Enterprises/EnterpriseEmployee.cs
@@ -102,6 +102,16 @@
         public DateTime? EnterpriseSignContractTime { get; set; }
 
         /// <summary>
+        /// 鍚堝悓缂栧彿
+        /// </summary>
+        public string ContractCode { get; set; }
+
+        /// <summary>
+        /// 鐢靛瓙鍚堝悓
+        /// </summary>
+        public string ContractUrl { get; set; }
+
+        /// <summary>
         /// 浠诲姟浜哄憳淇℃伅
         /// </summary>
         public List<TaskInfoUser> TaskInfoUsers { get; set; }
@@ -110,5 +120,6 @@
         /// 鍚堝悓
         /// </summary>
         public List<EnterpriseEmployeeContract> Contracts { get; set; }
+
     }
 }
diff --git a/FlexJobApi.Core/Entities/UserServer/Enterprises/EnterpriseEmployeeContract.cs b/FlexJobApi.Core/Entities/UserServer/Enterprises/EnterpriseEmployeeContract.cs
index 9b26e71..dfd7b1d 100644
--- a/FlexJobApi.Core/Entities/UserServer/Enterprises/EnterpriseEmployeeContract.cs
+++ b/FlexJobApi.Core/Entities/UserServer/Enterprises/EnterpriseEmployeeContract.cs
@@ -44,12 +44,12 @@
         /// <summary>
         /// 鍚堝悓缂栧彿
         /// </summary>
-        public string Code { get; set; }
+        public string ContractCode { get; set; }
 
         /// <summary>
         /// 鐢靛瓙鍚堝悓
         /// </summary>
-        public string Url { get; set; }
+        public string ContractUrl { get; set; }
 
     }
 }
diff --git a/FlexJobApi.Core/FlexJobApi.Core.xml b/FlexJobApi.Core/FlexJobApi.Core.xml
index 0577b44..ceb9ca6 100644
--- a/FlexJobApi.Core/FlexJobApi.Core.xml
+++ b/FlexJobApi.Core/FlexJobApi.Core.xml
@@ -1740,6 +1740,16 @@
             浼佷笟绛剧害鏃堕棿
             </summary>
         </member>
+        <member name="P:FlexJobApi.Core.EnterpriseEmployee.ContractCode">
+            <summary>
+            鍚堝悓缂栧彿
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.EnterpriseEmployee.ContractUrl">
+            <summary>
+            鐢靛瓙鍚堝悓
+            </summary>
+        </member>
         <member name="P:FlexJobApi.Core.EnterpriseEmployee.TaskInfoUsers">
             <summary>
             浠诲姟浜哄憳淇℃伅
@@ -1785,12 +1795,12 @@
             浼佷笟绛剧害鏃堕棿
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.EnterpriseEmployeeContract.Code">
+        <member name="P:FlexJobApi.Core.EnterpriseEmployeeContract.ContractCode">
             <summary>
             鍚堝悓缂栧彿
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.EnterpriseEmployeeContract.Url">
+        <member name="P:FlexJobApi.Core.EnterpriseEmployeeContract.ContractUrl">
             <summary>
             鐢靛瓙鍚堝悓
             </summary>
@@ -8184,9 +8194,69 @@
             鏌ヨ涓汉鐢ㄦ埛绛剧害璇︽儏
             </summary>
         </member>
+        <member name="P:FlexJobApi.Core.GetEnterpriseEmployeeElectronSignQuery.Id">
+            <summary>
+            鐏靛伐Id
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.GetEnterpriseEmployeeElectronSignQuery.Code">
+            <summary>
+            
+            </summary>
+        </member>
         <member name="T:FlexJobApi.Core.GetEnterpriseEmployeeElectronSignQueryResult">
             <summary>
             鏌ヨ涓汉鐢ㄦ埛绛剧害璇︽儏-缁撴灉
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.GetEnterpriseEmployeeElectronSignQueryResult.ContractCode">
+            <summary>
+            鍚堝悓缂栧彿
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.GetEnterpriseEmployeeElectronSignQueryResult.UserSignContractStatus">
+            <summary>
+            鐏靛伐绛剧害鐘舵��
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.GetEnterpriseEmployeeElectronSignQueryResult.Name">
+            <summary>
+            绛剧害鏂逛俊鎭�-鍛樺伐-濮撳悕
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.GetEnterpriseEmployeeElectronSignQueryResult.IdentityType">
+            <summary>
+            绛剧害鏂逛俊鎭�-鍛樺伐-璇佷欢绫诲瀷
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.GetEnterpriseEmployeeElectronSignQueryResult.Identity">
+            <summary>
+            绛剧害鏂逛俊鎭�-鍛樺伐-璇佷欢鍙风爜
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.GetEnterpriseEmployeeElectronSignQueryResult.UserSignContractTime">
+            <summary>
+            绛剧害鏂逛俊鎭�-鍛樺伐-绛剧害鏃堕棿
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.GetEnterpriseEmployeeElectronSignQueryResult.EnterpriseType">
+            <summary>
+            绛剧害鏂逛俊鎭�-鍏徃涓讳綋-涓讳綋绫诲瀷
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.GetEnterpriseEmployeeElectronSignQueryResult.EnterpriseEnterpriseName">
+            <summary>
+            绛剧害鏂逛俊鎭�-鍏徃涓讳綋-绛剧害涓讳綋
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.GetEnterpriseEmployeeElectronSignQueryResult.EnterpriseSignContractTime">
+            <summary>
+            绛剧害鏂逛俊鎭�-鍏徃涓讳綋-绛剧害鏃堕棿
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.GetEnterpriseEmployeeElectronSignQueryResult.ContractUrl">
+            <summary>
+            鍗忚鍐呭
             </summary>
         </member>
         <member name="T:FlexJobApi.Core.GetEnterpriseEmployeeQuery">
@@ -13234,7 +13304,7 @@
         </member>
         <member name="P:FlexJobApi.UserServer.Application.GetEnterpriseEmployeeElectronSignsQueryResultItem.Id">
             <summary>
-            Id
+            鐏靛伐Id
             </summary>
         </member>
         <member name="P:FlexJobApi.UserServer.Application.GetEnterpriseEmployeeElectronSignsQueryResultItem.EnterpriseName">
diff --git a/FlexJobApi.Core/Models/UserServer/EnterpriseEmployees/Queries/GetEnterpriseEmployeeElectronSignQuery.cs b/FlexJobApi.Core/Models/UserServer/EnterpriseEmployees/Queries/GetEnterpriseEmployeeElectronSignQuery.cs
index 239f19c..79db336 100644
--- a/FlexJobApi.Core/Models/UserServer/EnterpriseEmployees/Queries/GetEnterpriseEmployeeElectronSignQuery.cs
+++ b/FlexJobApi.Core/Models/UserServer/EnterpriseEmployees/Queries/GetEnterpriseEmployeeElectronSignQuery.cs
@@ -1,6 +1,9 @@
-锘縰sing MediatR;
+锘縰sing Mapster;
+using MediatR;
+using Newtonsoft.Json;
 using System;
 using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
@@ -13,6 +16,15 @@
     [Resource([EnumResourceController.UserServerEnterpriseEmployee])]
     public class GetEnterpriseEmployeeElectronSignQuery : IRequest<GetEnterpriseEmployeeElectronSignQueryResult>
     {
+        /// <summary>
+        /// 鐏靛伐Id
+        /// </summary>
+        public Guid? Id { get; set; }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        public string Code { get; set; }
     }
 
     /// <summary>
@@ -20,6 +32,59 @@
     /// </summary>
     public class GetEnterpriseEmployeeElectronSignQueryResult
     {
+        /// <summary>
+        /// 鍚堝悓缂栧彿
+        /// </summary>
+        public string ContractCode { get; set; }
+
+        /// <summary>
+        /// 鐏靛伐绛剧害鐘舵��
+        /// </summary>
+        public EnumTaskUserSignContractStatus? UserSignContractStatus { get; set; }
+
+        /// <summary>
+        /// 绛剧害鏂逛俊鎭�-鍛樺伐-濮撳悕
+        /// </summary>
+        [MaxLength(32)]
+        public string Name { get; set; }
+
+        /// <summary>
+        /// 绛剧害鏂逛俊鎭�-鍛樺伐-璇佷欢绫诲瀷
+        /// </summary>
+        [AdaptIgnore]
+        public string IdentityType { get; set; } = "灞呮皯韬唤璇�";
+
+        /// <summary>
+        /// 绛剧害鏂逛俊鎭�-鍛樺伐-璇佷欢鍙风爜
+        /// </summary>
+        public string Identity { get; set; }
+
+        /// <summary>
+        /// 绛剧害鏂逛俊鎭�-鍛樺伐-绛剧害鏃堕棿
+        /// </summary>
+        public DateTime? UserSignContractTime { get; set; }
+
+        /// <summary>
+        /// 绛剧害鏂逛俊鎭�-鍏徃涓讳綋-涓讳綋绫诲瀷
+        /// </summary>
+        [AdaptIgnore]
+        public string EnterpriseType { get; set; } = "鍏徃";
+
+        /// <summary>
+        /// 绛剧害鏂逛俊鎭�-鍏徃涓讳綋-绛剧害涓讳綋
+        /// </summary>
+        [JsonProperty("enterpriseName")]
+        public string EnterpriseEnterpriseName { get; set; }
+
+        /// <summary>
+        /// 绛剧害鏂逛俊鎭�-鍏徃涓讳綋-绛剧害鏃堕棿
+        /// </summary>
+        public DateTime? EnterpriseSignContractTime { get; set; }
+
+        /// <summary>
+        /// 鍗忚鍐呭
+        /// </summary>
+        public string ContractUrl { get; set; }
 
     }
 }
diff --git a/FlexJobApi.Core/Models/UserServer/EnterpriseEmployees/Queries/GetEnterpriseEmployeeElectronSignsQuery.cs b/FlexJobApi.Core/Models/UserServer/EnterpriseEmployees/Queries/GetEnterpriseEmployeeElectronSignsQuery.cs
index 4171b23..36db837 100644
--- a/FlexJobApi.Core/Models/UserServer/EnterpriseEmployees/Queries/GetEnterpriseEmployeeElectronSignsQuery.cs
+++ b/FlexJobApi.Core/Models/UserServer/EnterpriseEmployees/Queries/GetEnterpriseEmployeeElectronSignsQuery.cs
@@ -34,7 +34,7 @@
     public class GetEnterpriseEmployeeElectronSignsQueryResultItem
     {
         /// <summary>
-        /// Id
+        /// 鐏靛伐Id
         /// </summary>
         public Guid Id { get; set; }
 
diff --git a/FlexJobApi.UserServer.Application/Users/Commands/SyncUserCommandHandler.cs b/FlexJobApi.UserServer.Application/Users/Commands/SyncUserCommandHandler.cs
index 1d2aa02..1f4906a 100644
--- a/FlexJobApi.UserServer.Application/Users/Commands/SyncUserCommandHandler.cs
+++ b/FlexJobApi.UserServer.Application/Users/Commands/SyncUserCommandHandler.cs
@@ -54,9 +54,12 @@
                 .Where(it => it.SocietyCreditCode == request.Enterprise.SocietyCreditCode)
                 .FirstOrDefaultAsync(cancellationToken);
 
+            var add = false;
             if (enterprise == null)
             {
+                add = true;
                 enterprise = new Enterprise();
+                enterprise.Id = IDGen.NextID();
                 if (request.Enterprise.ElectronSignAccesses.IsNotNull())
                 {
                     request.Enterprise.ElectronSignAccesses = await repElectronSignSetting.AsQueryable().AsNoTracking()
@@ -70,6 +73,10 @@
                         ElectronSignAccess = it
                     })
                     .ToList();
+            }
+            if (request.Enterprise.EnterpriseAuth == null)
+            {
+                request.Enterprise.EnterpriseAuth = new SyncEnterpriseUserCommandEnterpriseAuth();
             }
             request.Enterprise.Adapt(enterprise);
             enterprise.LicenseImage = GetOssUrl(enterprise.LicenseImage, request.Enterprise.LicenseImage);
@@ -101,11 +108,6 @@
                 enterprise.EnterpriseAuth.IdentityBackImg = GetOssUrl(enterprise.EnterpriseAuth.IdentityBackImg, request.Enterprise.EnterpriseAuth.IdentityBackImg);
                 enterprise.EnterpriseAuth.BankCardImg = GetOssUrl(enterprise.EnterpriseAuth.BankCardImg, request.Enterprise.EnterpriseAuth.BankCardImg);
             }
-
-            if (enterprise.Id == Guid.Empty)
-                await repEnterprise.InsertAsync(enterprise);
-            else
-                await repEnterprise.UpdateAsync(enterprise);
 
             if (enterprise.EnterpriseAuth.ElectronSignEnterpriseId == null)
             {
@@ -160,6 +162,11 @@
                 enterprise.EnterpriseAuth.CertAccount = resultReal.Result.CertAccount;
             }
 
+            if (add)
+                await repEnterprise.InsertNowAsync(enterprise);
+            else
+                await repEnterprise.UpdateNowAsync(enterprise);
+
             var user = await repUser.AsQueryable()
                     .Include(it => it.UserRoles)
                     .Where(it => it.Type == EnumUserType.Enterprise && it.DataSource == request.DataSource && it.DataSourceId == request.DataSourceId)
diff --git a/FlexJobApi.UserServer.Application/Users/Queries/GetPersonalUserInfosQueryHandler.cs b/FlexJobApi.UserServer.Application/Users/Queries/GetPersonalUserInfosQueryHandler.cs
index b76c492..3cd6be9 100644
--- a/FlexJobApi.UserServer.Application/Users/Queries/GetPersonalUserInfosQueryHandler.cs
+++ b/FlexJobApi.UserServer.Application/Users/Queries/GetPersonalUserInfosQueryHandler.cs
@@ -126,10 +126,7 @@
                     UserSignContractStatus = it.UserSignContractStatus,
                     EnterpriseSignContractStatus = it.EnterpriseSignContractStatus,
                     EnterpriseSignContractTime = it.EnterpriseSignContractTime,
-                    ContractUrl = it.Contracts
-                        .Where(c => c.EnterpriseSignContractStatus == it.EnterpriseSignContractStatus)
-                        .Select(c => c.Url)
-                        .FirstOrDefault(),
+                    ContractUrl = it.ContractUrl
                 });
             return request.PageModel.GetPagedListAsync<GetPersonalUserInfoSignContractsQueryResult, GetPersonalUserInfoSignContractsQueryResultItem>(q, cancellationToken);
         }

--
Gitblit v1.9.1