From f7441ac8e0ef8778c4271d4ffec890a7e39bd3ab Mon Sep 17 00:00:00 2001 From: sunpengfei <i@angelzzz.com> Date: 星期五, 22 八月 2025 14:39:27 +0800 Subject: [PATCH] feat:开发 --- FlexJobApi.Core/Entities/UserServer/Enterprises/EnterpriseEmployeeContract.cs | 55 +++++++++++++ FlexJobApi.Core/Models/UserServer/ElectronSigns/Queries/GetEnabledElectronSignSettingsQuery.cs | 1 FlexJobApi.Core/Models/UserServer/EnterpriseEmployees/Queries/GetEnterpriseEmployeeElectronSignQuery.cs | 25 ++++++ FlexJobApi.UserServer.Application/ElectronSign/Queries/ElectronSignSettingQueryHandler.cs | 20 ++++- FlexJobApi.Core/FlexJobApi.Core.xml | 65 +++++++++++++++- FlexJobApi.UserServer.Application/Users/Queries/GetPersonalUserInfosQueryHandler.cs | 5 + FlexJobApi.Core/Entities/UserServer/Enterprises/EnterpriseEmployee.cs | 11 +- 7 files changed, 167 insertions(+), 15 deletions(-) diff --git a/FlexJobApi.Core/Entities/UserServer/Enterprises/EnterpriseEmployee.cs b/FlexJobApi.Core/Entities/UserServer/Enterprises/EnterpriseEmployee.cs index a9ddbd9..5eac28a 100644 --- a/FlexJobApi.Core/Entities/UserServer/Enterprises/EnterpriseEmployee.cs +++ b/FlexJobApi.Core/Entities/UserServer/Enterprises/EnterpriseEmployee.cs @@ -15,6 +15,7 @@ public EnterpriseEmployee() { TaskInfoUsers = []; + Contracts = []; } /// <summary> @@ -101,13 +102,13 @@ public DateTime? EnterpriseSignContractTime { get; set; } /// <summary> - /// 鐢靛瓙鍚堝悓 - /// </summary> - public string ContractUrl { get; set; } - - /// <summary> /// 浠诲姟浜哄憳淇℃伅 /// </summary> public List<TaskInfoUser> TaskInfoUsers { get; set; } + + /// <summary> + /// 鍚堝悓 + /// </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 new file mode 100644 index 0000000..9b26e71 --- /dev/null +++ b/FlexJobApi.Core/Entities/UserServer/Enterprises/EnterpriseEmployeeContract.cs @@ -0,0 +1,55 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FlexJobApi.Core +{ + /// <summary> + /// 鐏靛伐鍚堝悓 + /// </summary> + public class EnterpriseEmployeeContract : CommonEntity + { + /// <summary> + /// 鐏靛伐Id + /// </summary> + public Guid EnterpriseEmployeeId { get; set; } + + /// <summary> + /// 鐏靛伐 + /// </summary> + public EnterpriseEmployee EnterpriseEmployee { get; set; } + + /// <summary> + /// 鐏靛伐绛剧害鐘舵�� + /// </summary> + public EnumTaskUserSignContractStatus? UserSignContractStatus { get; set; } + + /// <summary> + /// 鐏靛伐绛剧害鏃堕棿 + /// </summary> + public DateTime? UserSignContractTime { get; set; } + + /// <summary> + /// 浼佷笟绛剧害鐘舵�� + /// </summary> + public EnumTaskUserSignContractStatus? EnterpriseSignContractStatus { get; set; } + + /// <summary> + /// 浼佷笟绛剧害鏃堕棿 + /// </summary> + public DateTime? EnterpriseSignContractTime { get; set; } + + /// <summary> + /// 鍚堝悓缂栧彿 + /// </summary> + public string Code { get; set; } + + /// <summary> + /// 鐢靛瓙鍚堝悓 + /// </summary> + public string Url { get; set; } + + } +} diff --git a/FlexJobApi.Core/FlexJobApi.Core.xml b/FlexJobApi.Core/FlexJobApi.Core.xml index 3650e42..143cfd7 100644 --- a/FlexJobApi.Core/FlexJobApi.Core.xml +++ b/FlexJobApi.Core/FlexJobApi.Core.xml @@ -1740,14 +1740,59 @@ 浼佷笟绛剧害鏃堕棿 </summary> </member> - <member name="P:FlexJobApi.Core.EnterpriseEmployee.ContractUrl"> - <summary> - 鐢靛瓙鍚堝悓 - </summary> - </member> <member name="P:FlexJobApi.Core.EnterpriseEmployee.TaskInfoUsers"> <summary> 浠诲姟浜哄憳淇℃伅 + </summary> + </member> + <member name="P:FlexJobApi.Core.EnterpriseEmployee.Contracts"> + <summary> + 鍚堝悓 + </summary> + </member> + <member name="T:FlexJobApi.Core.EnterpriseEmployeeContract"> + <summary> + 鐏靛伐鍚堝悓 + </summary> + </member> + <member name="P:FlexJobApi.Core.EnterpriseEmployeeContract.EnterpriseEmployeeId"> + <summary> + 鐏靛伐Id + </summary> + </member> + <member name="P:FlexJobApi.Core.EnterpriseEmployeeContract.EnterpriseEmployee"> + <summary> + 鐏靛伐 + </summary> + </member> + <member name="P:FlexJobApi.Core.EnterpriseEmployeeContract.UserSignContractStatus"> + <summary> + 鐏靛伐绛剧害鐘舵�� + </summary> + </member> + <member name="P:FlexJobApi.Core.EnterpriseEmployeeContract.UserSignContractTime"> + <summary> + 鐏靛伐绛剧害鏃堕棿 + </summary> + </member> + <member name="P:FlexJobApi.Core.EnterpriseEmployeeContract.EnterpriseSignContractStatus"> + <summary> + 浼佷笟绛剧害鐘舵�� + </summary> + </member> + <member name="P:FlexJobApi.Core.EnterpriseEmployeeContract.EnterpriseSignContractTime"> + <summary> + 浼佷笟绛剧害鏃堕棿 + </summary> + </member> + <member name="P:FlexJobApi.Core.EnterpriseEmployeeContract.Code"> + <summary> + 鍚堝悓缂栧彿 + </summary> + </member> + <member name="P:FlexJobApi.Core.EnterpriseEmployeeContract.Url"> + <summary> + 鐢靛瓙鍚堝悓 </summary> </member> <member name="T:FlexJobApi.Core.EnterpriseUserCollect"> @@ -8129,6 +8174,16 @@ 閿欒淇℃伅 </summary> </member> + <member name="T:FlexJobApi.Core.GetEnterpriseEmployeeElectronSignQuery"> + <summary> + 鏌ヨ涓汉鐢ㄦ埛绛剧害璇︽儏 + </summary> + </member> + <member name="T:FlexJobApi.Core.GetEnterpriseEmployeeElectronSignQueryResult"> + <summary> + 鏌ヨ涓汉鐢ㄦ埛绛剧害璇︽儏-缁撴灉 + </summary> + </member> <member name="T:FlexJobApi.Core.GetEnterpriseEmployeeQuery"> <summary> 鏌ヨ鐏靛伐璇︽儏 diff --git a/FlexJobApi.Core/Models/UserServer/ElectronSigns/Queries/GetEnabledElectronSignSettingsQuery.cs b/FlexJobApi.Core/Models/UserServer/ElectronSigns/Queries/GetEnabledElectronSignSettingsQuery.cs index 6a715f3..293a850 100644 --- a/FlexJobApi.Core/Models/UserServer/ElectronSigns/Queries/GetEnabledElectronSignSettingsQuery.cs +++ b/FlexJobApi.Core/Models/UserServer/ElectronSigns/Queries/GetEnabledElectronSignSettingsQuery.cs @@ -13,6 +13,7 @@ [Resource([EnumResourceController.UserServerElectronSign])] public class GetEnabledElectronSignSettingsQuery : IRequest<List<GetEnabledElectronSignSettingsQueryResultItem>> { + } /// <summary> diff --git a/FlexJobApi.Core/Models/UserServer/EnterpriseEmployees/Queries/GetEnterpriseEmployeeElectronSignQuery.cs b/FlexJobApi.Core/Models/UserServer/EnterpriseEmployees/Queries/GetEnterpriseEmployeeElectronSignQuery.cs new file mode 100644 index 0000000..239f19c --- /dev/null +++ b/FlexJobApi.Core/Models/UserServer/EnterpriseEmployees/Queries/GetEnterpriseEmployeeElectronSignQuery.cs @@ -0,0 +1,25 @@ +锘縰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.UserServerEnterpriseEmployee])] + public class GetEnterpriseEmployeeElectronSignQuery : IRequest<GetEnterpriseEmployeeElectronSignQueryResult> + { + } + + /// <summary> + /// 鏌ヨ涓汉鐢ㄦ埛绛剧害璇︽儏-缁撴灉 + /// </summary> + public class GetEnterpriseEmployeeElectronSignQueryResult + { + + } +} diff --git a/FlexJobApi.UserServer.Application/ElectronSign/Queries/ElectronSignSettingQueryHandler.cs b/FlexJobApi.UserServer.Application/ElectronSign/Queries/ElectronSignSettingQueryHandler.cs index 2c8ab69..949cc7d 100644 --- a/FlexJobApi.UserServer.Application/ElectronSign/Queries/ElectronSignSettingQueryHandler.cs +++ b/FlexJobApi.UserServer.Application/ElectronSign/Queries/ElectronSignSettingQueryHandler.cs @@ -15,11 +15,13 @@ /// 鐢靛瓙绛鹃厤缃煡璇㈠鐞嗗櫒 /// </summary> public class ElectronSignSettingQueryHandler( - IRepository<ElectronSignSetting> rep + IRepository<ElectronSignSetting> rep, + IRepository<EnterpriseElectronSignSetting> repEnterpriseElectronSignSetting ) : IRequestHandler<GetEnabledElectronSignSettingsQuery, List<GetEnabledElectronSignSettingsQueryResultItem>> { private readonly IRepository<ElectronSignSetting> rep = rep; + private readonly IRepository<EnterpriseElectronSignSetting> repEnterpriseElectronSignSetting = repEnterpriseElectronSignSetting; /// <summary> /// 鏌ヨ宸插惎鐢ㄧ殑鐢靛瓙绛鹃厤缃� @@ -27,10 +29,20 @@ /// <param name="request"></param> /// <param name="cancellationToken"></param> /// <returns></returns> - public Task<List<GetEnabledElectronSignSettingsQueryResultItem>> Handle(GetEnabledElectronSignSettingsQuery request, CancellationToken cancellationToken) + public async Task<List<GetEnabledElectronSignSettingsQueryResultItem>> Handle(GetEnabledElectronSignSettingsQuery request, CancellationToken cancellationToken) { - return rep.AsQueryable().AsNoTracking() - .Where(it => !it.IsDisabled) + var logier = JwtUtils.GetCurrentLogier(); + var q = rep.AsQueryable().AsNoTracking() + .Where(it => !it.IsDisabled); + if (logier.Type == EnumUserType.Enterprise) + { + var accesses = await repEnterpriseElectronSignSetting.AsQueryable() + .Where(it => it.EnterpriseId == logier.EnterpriseId) + .Select(it => it.ElectronSignAccess) + .ToListAsync(); + q = q.Where(it => accesses.Contains(it.Access)); + } + return q .ProjectToType<GetEnabledElectronSignSettingsQueryResultItem>() .ToListAsync(); } diff --git a/FlexJobApi.UserServer.Application/Users/Queries/GetPersonalUserInfosQueryHandler.cs b/FlexJobApi.UserServer.Application/Users/Queries/GetPersonalUserInfosQueryHandler.cs index 64770ea..b76c492 100644 --- a/FlexJobApi.UserServer.Application/Users/Queries/GetPersonalUserInfosQueryHandler.cs +++ b/FlexJobApi.UserServer.Application/Users/Queries/GetPersonalUserInfosQueryHandler.cs @@ -126,7 +126,10 @@ UserSignContractStatus = it.UserSignContractStatus, EnterpriseSignContractStatus = it.EnterpriseSignContractStatus, EnterpriseSignContractTime = it.EnterpriseSignContractTime, - ContractUrl = it.ContractUrl, + ContractUrl = it.Contracts + .Where(c => c.EnterpriseSignContractStatus == it.EnterpriseSignContractStatus) + .Select(c => c.Url) + .FirstOrDefault(), }); return request.PageModel.GetPagedListAsync<GetPersonalUserInfoSignContractsQueryResult, GetPersonalUserInfoSignContractsQueryResultItem>(q, cancellationToken); } -- Gitblit v1.9.1