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

---
 FlexJobApi.Core/Models/UserServer/ElectronSigns/Queries/GetEnabledElectronSignSettingsQuery.cs           |   43 ++++++++
 FlexJobApi.UserServer.Application/ElectronSign/Queries/ElectronSignSettingQueryHandler.cs                |   38 +++++++
 FlexJobApi.UserServer.Application/EnterpriseEmployees/Queries/EnterpriseEmployeeQueryHandler.cs          |   34 ++++++
 FlexJobApi.Core/FlexJobApi.Core.xml                                                                      |   75 +++++++++++++++
 FlexJobApi.UserServer.Application/FlexJobApi.UserServer.Application.xml                                  |   26 +++++
 FlexJobApi.Core/Enums/Tasks/EnumTaskUserSignContractStatus.cs                                            |   10 +
 FlexJobApi.Core/Models/UserServer/EnterpriseEmployees/Queries/GetEnterpriseEmployeeElectronSignsQuery.cs |   51 ++++++++++
 7 files changed, 275 insertions(+), 2 deletions(-)

diff --git a/FlexJobApi.Core/Enums/Tasks/EnumTaskUserSignContractStatus.cs b/FlexJobApi.Core/Enums/Tasks/EnumTaskUserSignContractStatus.cs
index 86a3e94..b57b177 100644
--- a/FlexJobApi.Core/Enums/Tasks/EnumTaskUserSignContractStatus.cs
+++ b/FlexJobApi.Core/Enums/Tasks/EnumTaskUserSignContractStatus.cs
@@ -22,6 +22,14 @@
         /// <summary>
         /// 宸叉嫆绛�
         /// </summary>
-        Refuse = 30
+        Refuse = 30,
+        /// <summary>
+        /// 鐢熸晥涓�
+        /// </summary>
+        Effect = 40,
+        /// <summary>
+        /// 宸茬粓姝�
+        /// </summary>
+        Stop = 50
     }
 }
diff --git a/FlexJobApi.Core/FlexJobApi.Core.xml b/FlexJobApi.Core/FlexJobApi.Core.xml
index 11f69e0..3650e42 100644
--- a/FlexJobApi.Core/FlexJobApi.Core.xml
+++ b/FlexJobApi.Core/FlexJobApi.Core.xml
@@ -3232,6 +3232,16 @@
             宸叉嫆绛�
             </summary>
         </member>
+        <member name="F:FlexJobApi.Core.EnumTaskUserSignContractStatus.Effect">
+            <summary>
+            鐢熸晥涓�
+            </summary>
+        </member>
+        <member name="F:FlexJobApi.Core.EnumTaskUserSignContractStatus.Stop">
+            <summary>
+            宸茬粓姝�
+            </summary>
+        </member>
         <member name="T:FlexJobApi.Core.EnumTaskUserSubmitCheckReceiveStatus">
             <summary>
             浠诲姟楠屾敹鐘舵��
@@ -7701,6 +7711,36 @@
         <member name="P:FlexJobApi.Core.GetContractTemplateQueryResultValue.Required">
             <summary>
             鏄惁蹇呭~
+            </summary>
+        </member>
+        <member name="T:FlexJobApi.Core.GetEnabledElectronSignSettingsQuery">
+            <summary>
+            鏌ヨ宸插惎鐢ㄧ殑鐢靛瓙绛鹃厤缃�
+            </summary>
+        </member>
+        <member name="T:FlexJobApi.Core.GetEnabledElectronSignSettingsQueryResultItem">
+            <summary>
+            鏌ヨ宸插惎鐢ㄧ殑鐢靛瓙绛鹃厤缃�-缁撴灉
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.GetEnabledElectronSignSettingsQueryResultItem.Access">
+            <summary>
+            閫氶亾
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.GetEnabledElectronSignSettingsQueryResultItem.RealVerifyCost">
+            <summary>
+            瀹炲悕璐圭敤
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.GetEnabledElectronSignSettingsQueryResultItem.SignCost">
+            <summary>
+            绛剧害璐圭敤
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.GetEnabledElectronSignSettingsQueryResultItem.MergeSignCost">
+            <summary>
+            涓�鍙d环
             </summary>
         </member>
         <member name="T:FlexJobApi.Core.GetEnterpriseContractTemplateLogsQuery">
@@ -13112,5 +13152,40 @@
             <param name="xmlDoc"></param>
             <returns></returns>
         </member>
+        <member name="T:FlexJobApi.UserServer.Application.GetEnterpriseEmployeeElectronSignsQuery">
+            <summary>
+            鏌ヨ涓汉鐢ㄦ埛绛剧害鍒楄〃
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.UserServer.Application.GetEnterpriseEmployeeElectronSignsQuery.UserSignContractStatus">
+            <summary>
+            鐏靛伐绛剧害鐘舵��
+            </summary>
+        </member>
+        <member name="T:FlexJobApi.UserServer.Application.GetEnterpriseEmployeeElectronSignsQueryResult">
+            <summary>
+            鏌ヨ涓汉鐢ㄦ埛绛剧害鍒楄〃
+            </summary>
+        </member>
+        <member name="T:FlexJobApi.UserServer.Application.GetEnterpriseEmployeeElectronSignsQueryResultItem">
+            <summary>
+            鏌ヨ涓汉鐢ㄦ埛绛剧害鍒楄〃
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.UserServer.Application.GetEnterpriseEmployeeElectronSignsQueryResultItem.Id">
+            <summary>
+            Id
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.UserServer.Application.GetEnterpriseEmployeeElectronSignsQueryResultItem.EnterpriseName">
+            <summary>
+            浼佷笟鍏ㄧО
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.UserServer.Application.GetEnterpriseEmployeeElectronSignsQueryResultItem.UserSignContractStatus">
+            <summary>
+            鐏靛伐绛剧害鐘舵��
+            </summary>
+        </member>
     </members>
 </doc>
diff --git a/FlexJobApi.Core/Models/UserServer/ElectronSigns/Queries/GetEnabledElectronSignSettingsQuery.cs b/FlexJobApi.Core/Models/UserServer/ElectronSigns/Queries/GetEnabledElectronSignSettingsQuery.cs
new file mode 100644
index 0000000..6a715f3
--- /dev/null
+++ b/FlexJobApi.Core/Models/UserServer/ElectronSigns/Queries/GetEnabledElectronSignSettingsQuery.cs
@@ -0,0 +1,43 @@
+锘縰sing MediatR;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace FlexJobApi.Core
+{
+    /// <summary>
+    /// 鏌ヨ宸插惎鐢ㄧ殑鐢靛瓙绛鹃厤缃�
+    /// </summary>
+    [Resource([EnumResourceController.UserServerElectronSign])]
+    public class GetEnabledElectronSignSettingsQuery : IRequest<List<GetEnabledElectronSignSettingsQueryResultItem>>
+    {
+    }
+
+    /// <summary>
+    /// 鏌ヨ宸插惎鐢ㄧ殑鐢靛瓙绛鹃厤缃�-缁撴灉
+    /// </summary>
+    public class GetEnabledElectronSignSettingsQueryResultItem
+    {
+        /// <summary>
+        /// 閫氶亾
+        /// </summary>
+        public EnumElectronSignAccess Access { get; set; }
+
+        /// <summary>
+        /// 瀹炲悕璐圭敤
+        /// </summary>
+        public decimal? RealVerifyCost { get; set; }
+
+        /// <summary>
+        /// 绛剧害璐圭敤
+        /// </summary>
+        public decimal? SignCost { get; set; }
+
+        /// <summary>
+        /// 涓�鍙d环
+        /// </summary>
+        public decimal? MergeSignCost { get; set; }
+    }
+}
diff --git a/FlexJobApi.Core/Models/UserServer/EnterpriseEmployees/Queries/GetEnterpriseEmployeeElectronSignsQuery.cs b/FlexJobApi.Core/Models/UserServer/EnterpriseEmployees/Queries/GetEnterpriseEmployeeElectronSignsQuery.cs
new file mode 100644
index 0000000..4171b23
--- /dev/null
+++ b/FlexJobApi.Core/Models/UserServer/EnterpriseEmployees/Queries/GetEnterpriseEmployeeElectronSignsQuery.cs
@@ -0,0 +1,51 @@
+锘縰sing FlexJobApi.Core;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace FlexJobApi.UserServer.Application
+{
+    /// <summary>
+    /// 鏌ヨ涓汉鐢ㄦ埛绛剧害鍒楄〃
+    /// </summary>
+    [Resource([EnumResourceController.UserServerEnterpriseEmployee])]
+    public class GetEnterpriseEmployeeElectronSignsQuery : PagedListQuery<GetEnterpriseEmployeeElectronSignsQueryResult, GetEnterpriseEmployeeElectronSignsQueryResultItem>
+    {
+        /// <summary>
+        /// 鐏靛伐绛剧害鐘舵��
+        /// </summary>
+        public EnumTaskUserSignContractStatus? UserSignContractStatus { get; set; }
+    }
+
+    /// <summary>
+    /// 鏌ヨ涓汉鐢ㄦ埛绛剧害鍒楄〃
+    /// </summary>
+    public class GetEnterpriseEmployeeElectronSignsQueryResult : PagedListQueryResult<GetEnterpriseEmployeeElectronSignsQueryResultItem>
+    {
+
+    }
+
+    /// <summary>
+    /// 鏌ヨ涓汉鐢ㄦ埛绛剧害鍒楄〃
+    /// </summary>
+    public class GetEnterpriseEmployeeElectronSignsQueryResultItem
+    {
+        /// <summary>
+        /// Id
+        /// </summary>
+        public Guid Id { get; set; }
+
+        /// <summary>
+        /// 浼佷笟鍏ㄧО
+        /// </summary>
+        public string EnterpriseName { get; set; }
+
+        /// <summary>
+        /// 鐏靛伐绛剧害鐘舵��
+        /// </summary>
+        public EnumTaskUserSignContractStatus? UserSignContractStatus { get; set; }
+    }
+}
diff --git a/FlexJobApi.UserServer.Application/ElectronSign/Queries/ElectronSignSettingQueryHandler.cs b/FlexJobApi.UserServer.Application/ElectronSign/Queries/ElectronSignSettingQueryHandler.cs
new file mode 100644
index 0000000..2c8ab69
--- /dev/null
+++ b/FlexJobApi.UserServer.Application/ElectronSign/Queries/ElectronSignSettingQueryHandler.cs
@@ -0,0 +1,38 @@
+锘縰sing FlexJobApi.Core;
+using Furion.DatabaseAccessor;
+using Mapster;
+using MediatR;
+using Microsoft.EntityFrameworkCore;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace FlexJobApi.UserServer.Application
+{
+    /// <summary>
+    /// 鐢靛瓙绛鹃厤缃煡璇㈠鐞嗗櫒
+    /// </summary>
+    public class ElectronSignSettingQueryHandler(
+            IRepository<ElectronSignSetting> rep
+        ) :
+        IRequestHandler<GetEnabledElectronSignSettingsQuery, List<GetEnabledElectronSignSettingsQueryResultItem>>
+    {
+        private readonly IRepository<ElectronSignSetting> rep = rep;
+
+        /// <summary>
+        /// 鏌ヨ宸插惎鐢ㄧ殑鐢靛瓙绛鹃厤缃�
+        /// </summary>
+        /// <param name="request"></param>
+        /// <param name="cancellationToken"></param>
+        /// <returns></returns>
+        public Task<List<GetEnabledElectronSignSettingsQueryResultItem>> Handle(GetEnabledElectronSignSettingsQuery request, CancellationToken cancellationToken)
+        {
+            return rep.AsQueryable().AsNoTracking()
+                .Where(it => !it.IsDisabled)
+                .ProjectToType<GetEnabledElectronSignSettingsQueryResultItem>()
+                .ToListAsync();
+        }
+    }
+}
diff --git a/FlexJobApi.UserServer.Application/EnterpriseEmployees/Queries/EnterpriseEmployeeQueryHandler.cs b/FlexJobApi.UserServer.Application/EnterpriseEmployees/Queries/EnterpriseEmployeeQueryHandler.cs
index 98fea13..feb25e2 100644
--- a/FlexJobApi.UserServer.Application/EnterpriseEmployees/Queries/EnterpriseEmployeeQueryHandler.cs
+++ b/FlexJobApi.UserServer.Application/EnterpriseEmployees/Queries/EnterpriseEmployeeQueryHandler.cs
@@ -18,7 +18,8 @@
             IRepository<EnterpriseEmployee> rep
         ) :
         IRequestHandler<GetEnterpriseEmployeesQuery, GetEnterpriseEmployeesQueryResult>,
-        IRequestHandler<GetEnterpriseEmployeeQuery, GetEnterpriseEmployeeQueryResult>
+        IRequestHandler<GetEnterpriseEmployeeQuery, GetEnterpriseEmployeeQueryResult>,
+        IRequestHandler<GetEnterpriseEmployeeElectronSignsQuery, GetEnterpriseEmployeeElectronSignsQueryResult>
     {
         private readonly IRepository<EnterpriseEmployee> rep = rep;
 
@@ -138,5 +139,36 @@
 
             return model;
         }
+
+        /// <summary>
+        /// 鏌ヨ涓汉鐢ㄦ埛绛剧害鍒楄〃
+        /// </summary>
+        /// <param name="request"></param>
+        /// <param name="cancellationToken"></param>
+        /// <returns></returns>
+        public async Task<GetEnterpriseEmployeeElectronSignsQueryResult> Handle(GetEnterpriseEmployeeElectronSignsQuery request, CancellationToken cancellationToken)
+        {
+            var logier = JwtUtils.GetCurrentLogier();
+            var q = rep.AsQueryable().AsNoTracking()
+                .Where(it => it.UserId == logier.Id);
+            if (request.UserSignContractStatus.HasValue)
+            {
+                q = q.Where(it => it.UserSignContractStatus == request.UserSignContractStatus.Value);
+            }
+            else
+            {
+                q = q.Where(it =>
+                    it.UserSignContractStatus == EnumTaskUserSignContractStatus.Wait
+                    || it.UserSignContractStatus == EnumTaskUserSignContractStatus.Effect
+                    || it.UserSignContractStatus == EnumTaskUserSignContractStatus.Stop);
+            }
+            var s = q.Select(it => new GetEnterpriseEmployeeElectronSignsQueryResultItem
+            {
+                Id = it.Id,
+                EnterpriseName = it.Enterprise.EnterpriseName,
+                UserSignContractStatus = it.UserSignContractStatus,
+            });
+            return await request.PageModel.GetPagedListAsync<GetEnterpriseEmployeeElectronSignsQueryResult, GetEnterpriseEmployeeElectronSignsQueryResultItem>(s, cancellationToken);
+        }
     }
 }
diff --git a/FlexJobApi.UserServer.Application/FlexJobApi.UserServer.Application.xml b/FlexJobApi.UserServer.Application/FlexJobApi.UserServer.Application.xml
index fc7e979..0b1c0b6 100644
--- a/FlexJobApi.UserServer.Application/FlexJobApi.UserServer.Application.xml
+++ b/FlexJobApi.UserServer.Application/FlexJobApi.UserServer.Application.xml
@@ -317,6 +317,24 @@
             <param name="cancellationToken"></param>
             <returns></returns>
         </member>
+        <member name="T:FlexJobApi.UserServer.Application.ElectronSignSettingQueryHandler">
+            <summary>
+            鐢靛瓙绛鹃厤缃煡璇㈠鐞嗗櫒
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.ElectronSignSettingQueryHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.ElectronSignSetting})">
+            <summary>
+            鐢靛瓙绛鹃厤缃煡璇㈠鐞嗗櫒
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.UserServer.Application.ElectronSignSettingQueryHandler.Handle(FlexJobApi.Core.GetEnabledElectronSignSettingsQuery,System.Threading.CancellationToken)">
+            <summary>
+            鏌ヨ宸插惎鐢ㄧ殑鐢靛瓙绛鹃厤缃�
+            </summary>
+            <param name="request"></param>
+            <param name="cancellationToken"></param>
+            <returns></returns>
+        </member>
         <member name="T:FlexJobApi.UserServer.Application.PersonalUserRealQueryHandler">
             <summary>
             涓汉瀹炲悕鏌ヨ澶勭悊鍣�
@@ -387,6 +405,14 @@
             <param name="cancellationToken"></param>
             <returns></returns>
         </member>
+        <member name="M:FlexJobApi.UserServer.Application.EnterpriseEmployeeQueryHandler.Handle(FlexJobApi.UserServer.Application.GetEnterpriseEmployeeElectronSignsQuery,System.Threading.CancellationToken)">
+            <summary>
+            鏌ヨ涓汉鐢ㄦ埛绛剧害鍒楄〃
+            </summary>
+            <param name="request"></param>
+            <param name="cancellationToken"></param>
+            <returns></returns>
+        </member>
         <member name="T:FlexJobApi.UserServer.Application.EnterpriseCommandHandler">
             <summary>
             浼佷笟鍛戒护澶勭悊鍣�

--
Gitblit v1.9.1