From 54a585e07c82223787c2d1db185e3fc085727eaa Mon Sep 17 00:00:00 2001 From: sunpengfei <i@angelzzz.com> Date: 星期二, 12 八月 2025 19:33:13 +0800 Subject: [PATCH] feat:开发 --- FlexJobApi.Core/Models/UserServer/EnterpriseEmployees/Queries/GetEnterpriseEmployeeQuery.cs | 96 ++++++++++++++++++++++++ FlexJobApi.UserServer.Application/EnterpriseEmployees/Queries/EnterpriseEmployeeQueryHandler.cs | 34 ++++++++ FlexJobApi.Core/FlexJobApi.Core.xml | 81 ++++++++++++++++++++ FlexJobApi.UserServer.Application/FlexJobApi.UserServer.Application.xml | 8 ++ 4 files changed, 218 insertions(+), 1 deletions(-) diff --git a/FlexJobApi.Core/FlexJobApi.Core.xml b/FlexJobApi.Core/FlexJobApi.Core.xml index 0f8b768..545b6af 100644 --- a/FlexJobApi.Core/FlexJobApi.Core.xml +++ b/FlexJobApi.Core/FlexJobApi.Core.xml @@ -5125,6 +5125,87 @@ 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛鑿滃崟 </summary> </member> + <member name="T:FlexJobApi.Core.GetEnterpriseEmployeeQuery"> + <summary> + 鏌ヨ鐏靛伐璇︽儏 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetEnterpriseEmployeeQuery.Id"> + <summary> + 鐏靛伐Id + </summary> + </member> + <member name="P:FlexJobApi.Core.GetEnterpriseEmployeeQuery.TaskInfoId"> + <summary> + 浠诲姟Id + </summary> + </member> + <member name="T:FlexJobApi.Core.GetEnterpriseEmployeeQueryResult"> + <summary> + 鏌ヨ鐏靛伐鍒嗛〉鍒楄〃鏁版嵁-缁撴灉 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetEnterpriseEmployeeQueryResult.Id"> + <summary> + 鐏靛伐Id + </summary> + </member> + <member name="P:FlexJobApi.Core.GetEnterpriseEmployeeQueryResult.Name"> + <summary> + 濮撳悕 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetEnterpriseEmployeeQueryResult.Identity"> + <summary> + 韬唤璇佸彿 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetEnterpriseEmployeeQueryResult.ContactPhoneNumber"> + <summary> + 鎵嬫満鍙� + </summary> + <remarks>鑱旂郴鐢佃瘽</remarks> + </member> + <member name="P:FlexJobApi.Core.GetEnterpriseEmployeeQueryResult.Gender"> + <summary> + 鎬у埆 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetEnterpriseEmployeeQueryResult.Age"> + <summary> + 骞撮緞 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetEnterpriseEmployeeQueryResult.IdentityImg"> + <summary> + 韬唤璇佷汉鍍忛潰 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetEnterpriseEmployeeQueryResult.IdentityBackImg"> + <summary> + 韬唤璇佸浗寰介潰 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetEnterpriseEmployeeQueryResult.ApplyTime"> + <summary> + 鎶ュ悕鏃堕棿 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetEnterpriseEmployeeQueryResult.UserRealTime"> + <summary> + 瀹炲悕鏃堕棿 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetEnterpriseEmployeeQueryResult.EnterpriseSignContractTime"> + <summary> + 浼佷笟绛剧害鏃堕棿 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetEnterpriseEmployeeQueryResult.ContractUrl"> + <summary> + 鐢靛瓙鍚堝悓 + </summary> + </member> <member name="T:FlexJobApi.Core.GetEnterpriseEmployeesQuery"> <summary> 鏌ヨ鐏靛伐鍒嗛〉鍒楄〃鏁版嵁 diff --git a/FlexJobApi.Core/Models/UserServer/EnterpriseEmployees/Queries/GetEnterpriseEmployeeQuery.cs b/FlexJobApi.Core/Models/UserServer/EnterpriseEmployees/Queries/GetEnterpriseEmployeeQuery.cs new file mode 100644 index 0000000..7f6b007 --- /dev/null +++ b/FlexJobApi.Core/Models/UserServer/EnterpriseEmployees/Queries/GetEnterpriseEmployeeQuery.cs @@ -0,0 +1,96 @@ +锘縰sing MediatR; +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FlexJobApi.Core +{ + /// <summary> + /// 鏌ヨ鐏靛伐璇︽儏 + /// </summary> + [Resource([EnumResourceController.EnterpriseEmployee])] + public class GetEnterpriseEmployeeQuery : IRequest<GetEnterpriseEmployeeQueryResult> + { + /// <summary> + /// 鐏靛伐Id + /// </summary> + public Guid Id { get; set; } + + /// <summary> + /// 浠诲姟Id + /// </summary> + public Guid? TaskInfoId { get; set; } + } + + /// <summary> + /// 鏌ヨ鐏靛伐鍒嗛〉鍒楄〃鏁版嵁-缁撴灉 + /// </summary> + public class GetEnterpriseEmployeeQueryResult + { + /// <summary> + /// 鐏靛伐Id + /// </summary> + public Guid Id { get; set; } + + /// <summary> + /// 濮撳悕 + /// </summary> + public string Name { get; set; } + + /// <summary> + /// 韬唤璇佸彿 + /// </summary> + public string Identity { get; set; } + + /// <summary> + /// 鎵嬫満鍙� + /// </summary> + /// <remarks>鑱旂郴鐢佃瘽</remarks> + public string ContactPhoneNumber { get; set; } + + /// <summary> + /// 鎬у埆 + /// </summary> + public EnumUserGender? Gender { get; set; } + + /// <summary> + /// 骞撮緞 + /// </summary> + public int? Age { get; set; } + + /// <summary> + /// 韬唤璇佷汉鍍忛潰 + /// </summary> + public string IdentityImg { get; set; } + + /// <summary> + /// 韬唤璇佸浗寰介潰 + /// </summary> + public string IdentityBackImg { get; set; } + + /// <summary> + /// 鎶ュ悕鏃堕棿 + /// </summary> + public DateTimeOffset? ApplyTime { get; set; } + + /// <summary> + /// 瀹炲悕鏃堕棿 + /// </summary> + public DateTime? UserRealTime { get; set; } + + /// <summary> + /// 浼佷笟绛剧害鏃堕棿 + /// </summary> + public DateTime? EnterpriseSignContractTime { get; set; } + + /// <summary> + /// 鐢靛瓙鍚堝悓 + /// </summary> + public string ContractUrl { get; set; } + + } +} diff --git a/FlexJobApi.UserServer.Application/EnterpriseEmployees/Queries/EnterpriseEmployeeQueryHandler.cs b/FlexJobApi.UserServer.Application/EnterpriseEmployees/Queries/EnterpriseEmployeeQueryHandler.cs index 3a7ef18..38e1ddc 100644 --- a/FlexJobApi.UserServer.Application/EnterpriseEmployees/Queries/EnterpriseEmployeeQueryHandler.cs +++ b/FlexJobApi.UserServer.Application/EnterpriseEmployees/Queries/EnterpriseEmployeeQueryHandler.cs @@ -17,7 +17,8 @@ public class EnterpriseEmployeeQueryHandler( IRepository<EnterpriseEmployee> rep ) : - IRequestHandler<GetEnterpriseEmployeesQuery, GetEnterpriseEmployeesQueryResult> + IRequestHandler<GetEnterpriseEmployeesQuery, GetEnterpriseEmployeesQueryResult>, + IRequestHandler<GetEnterpriseEmployeeQuery, GetEnterpriseEmployeeQueryResult> { private readonly IRepository<EnterpriseEmployee> rep = rep; @@ -97,5 +98,36 @@ }); return await request.PageModel.GetPagedListAsync<GetEnterpriseEmployeesQueryResult, GetEnterpriseEmployeesQueryResultItem>(s, cancellationToken); } + + /// <summary> + /// 鏌ヨ鐏靛伐璇︽儏 + /// </summary> + /// <param name="request"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + public async Task<GetEnterpriseEmployeeQueryResult> Handle(GetEnterpriseEmployeeQuery request, CancellationToken cancellationToken) + { + var logier = JwtUtils.GetCurrentLogier(); + var model = await rep.AsQueryable().AsNoTracking() + .Where(it => it.Id == request.Id) + .GetDetail<EnterpriseEmployee, GetEnterpriseEmployeeQueryResult>(cancellationToken); + if (request.TaskInfoId.HasValue) + { + model.ApplyTime = await rep.Change<TaskInfoUser>().AsQueryable().AsNoTracking() + .Where(it => it.TaskInfoId == request.TaskInfoId && it.EnterpriseEmployeeId == request.Id) + .Select(it => it.CreatedTime as DateTimeOffset?) + .FirstOrDefaultAsync(cancellationToken); + } + else if (logier.Type == EnumUserType.Enterprise) + { + model.ApplyTime = await rep.Change<TaskInfoUser>().AsQueryable().AsNoTracking() + .OrderBy(it => it.CreatedTime) + .Where(it => it.TaskInfo.EnterpriseId == logier.EnterpriseId && it.EnterpriseEmployeeId == request.Id) + .Select(it => it.CreatedTime as DateTimeOffset?) + .FirstOrDefaultAsync(cancellationToken); + } + + return model; + } } } diff --git a/FlexJobApi.UserServer.Application/FlexJobApi.UserServer.Application.xml b/FlexJobApi.UserServer.Application/FlexJobApi.UserServer.Application.xml index 1c4fd2a..4bb4519 100644 --- a/FlexJobApi.UserServer.Application/FlexJobApi.UserServer.Application.xml +++ b/FlexJobApi.UserServer.Application/FlexJobApi.UserServer.Application.xml @@ -166,6 +166,14 @@ <param name="cancellationToken"></param> <returns></returns> </member> + <member name="M:FlexJobApi.UserServer.Application.EnterpriseEmployeeQueryHandler.Handle(FlexJobApi.Core.GetEnterpriseEmployeeQuery,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