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