From 33b3aab9c26972d816ee41fa87059efa34e77a11 Mon Sep 17 00:00:00 2001 From: sunpengfei <i@angelzzz.com> Date: 星期四, 14 八月 2025 14:18:45 +0800 Subject: [PATCH] feat:开发 --- FlexJobApi.Core/FlexJobApi.Core.xml | 75 ++++++++++++++++++ FlexJobApi.UserServer.Application/FlexJobApi.UserServer.Application.xml | 8 ++ FlexJobApi.UserServer.Application/Users/Queries/GetPersonalUserInfosQueryHandler.cs | 45 +++++++++-- FlexJobApi.Core/Models/UserServer/Users/Queries/GetPersonalUserInfoSignContractsQuery.cs | 80 ++++++++++++++++++++ FlexJobApi.Core/Models/UserServer/Users/Queries/GetPersonalUserInfosQuery.cs | 10 ++ 5 files changed, 209 insertions(+), 9 deletions(-) diff --git a/FlexJobApi.Core/FlexJobApi.Core.xml b/FlexJobApi.Core/FlexJobApi.Core.xml index 9f0dd5c..ede24e8 100644 --- a/FlexJobApi.Core/FlexJobApi.Core.xml +++ b/FlexJobApi.Core/FlexJobApi.Core.xml @@ -8514,6 +8514,71 @@ 宸插彇娑� </summary> </member> + <member name="T:FlexJobApi.Core.GetPersonalUserInfoSignContractsQuery"> + <summary> + 鏌ヨC绔汉鍛樼绾﹁鎯呭垎椤靛垪琛ㄦ暟鎹� + </summary> + </member> + <member name="P:FlexJobApi.Core.GetPersonalUserInfoSignContractsQuery.Id"> + <summary> + 鐢ㄦ埛Id + </summary> + </member> + <member name="T:FlexJobApi.Core.GetPersonalUserInfoSignContractsQueryResult"> + <summary> + 鏌ヨC绔汉鍛樼绾﹁鎯呭垎椤靛垪琛ㄦ暟鎹�-缁撴灉 + </summary> + </member> + <member name="T:FlexJobApi.Core.GetPersonalUserInfoSignContractsQueryResultItem"> + <summary> + 鏌ヨC绔汉鍛樼绾﹁鎯呭垎椤靛垪琛ㄦ暟鎹�-缁撴灉-椤� + </summary> + </member> + <member name="P:FlexJobApi.Core.GetPersonalUserInfoSignContractsQueryResultItem.Id"> + <summary> + 鐏靛伐Id + </summary> + </member> + <member name="P:FlexJobApi.Core.GetPersonalUserInfoSignContractsQueryResultItem.EnterpriseName"> + <summary> + 鎵�灞炲晢鎴� + </summary> + </member> + <member name="P:FlexJobApi.Core.GetPersonalUserInfoSignContractsQueryResultItem.ApplyTime"> + <summary> + 鎶ュ悕鏃堕棿 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetPersonalUserInfoSignContractsQueryResultItem.HireStatus"> + <summary> + 褰曠敤鐘舵�� + </summary> + </member> + <member name="P:FlexJobApi.Core.GetPersonalUserInfoSignContractsQueryResultItem.HireTime"> + <summary> + 褰曠敤鏃堕棿 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetPersonalUserInfoSignContractsQueryResultItem.UserSignContractStatus"> + <summary> + 鐏靛伐绛剧害鐘舵�� + </summary> + </member> + <member name="P:FlexJobApi.Core.GetPersonalUserInfoSignContractsQueryResultItem.EnterpriseSignContractStatus"> + <summary> + 浼佷笟绛剧害鐘舵�� + </summary> + </member> + <member name="P:FlexJobApi.Core.GetPersonalUserInfoSignContractsQueryResultItem.EnterpriseSignContractTime"> + <summary> + 浼佷笟绛剧害鏃堕棿 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetPersonalUserInfoSignContractsQueryResultItem.ContractUrl"> + <summary> + 鐢靛瓙鍚堝悓 + </summary> + </member> <member name="T:FlexJobApi.Core.GetPersonalUserInfosQuery"> <summary> 鏌ヨC绔汉鍛樺垎椤靛垪琛ㄦ暟鎹� @@ -8580,6 +8645,16 @@ 韬唤璇佸彿 </summary> </member> + <member name="P:FlexJobApi.Core.GetPersonalUserInfosQueryResultItem.IdentityImg"> + <summary> + 韬唤璇佷汉鍍忛潰 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetPersonalUserInfosQueryResultItem.IdentityBackImg"> + <summary> + 韬唤璇佸浗寰介潰 + </summary> + </member> <member name="P:FlexJobApi.Core.GetPersonalUserInfosQueryResultItem.Gender"> <summary> 鎬у埆 diff --git a/FlexJobApi.Core/Models/UserServer/Users/Queries/GetPersonalUserInfoSignContractsQuery.cs b/FlexJobApi.Core/Models/UserServer/Users/Queries/GetPersonalUserInfoSignContractsQuery.cs new file mode 100644 index 0000000..946a652 --- /dev/null +++ b/FlexJobApi.Core/Models/UserServer/Users/Queries/GetPersonalUserInfoSignContractsQuery.cs @@ -0,0 +1,80 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FlexJobApi.Core +{ + /// <summary> + /// 鏌ヨC绔汉鍛樼绾﹁鎯呭垎椤靛垪琛ㄦ暟鎹� + /// </summary> + [Resource([EnumResourceController.User])] + public class GetPersonalUserInfoSignContractsQuery : PagedListQuery<GetPersonalUserInfoSignContractsQueryResult, GetPersonalUserInfoSignContractsQueryResultItem> + { + /// <summary> + /// 鐢ㄦ埛Id + /// </summary> + public Guid Id { get; set; } + } + + /// <summary> + /// 鏌ヨC绔汉鍛樼绾﹁鎯呭垎椤靛垪琛ㄦ暟鎹�-缁撴灉 + /// </summary> + public class GetPersonalUserInfoSignContractsQueryResult : PagedListQueryResult<GetPersonalUserInfoSignContractsQueryResultItem> + { + + } + + /// <summary> + /// 鏌ヨC绔汉鍛樼绾﹁鎯呭垎椤靛垪琛ㄦ暟鎹�-缁撴灉-椤� + /// </summary> + public class GetPersonalUserInfoSignContractsQueryResultItem + { + /// <summary> + /// 鐏靛伐Id + /// </summary> + public Guid Id { get; set; } + + /// <summary> + /// 鎵�灞炲晢鎴� + /// </summary> + public string EnterpriseName { get; set; } + + /// <summary> + /// 鎶ュ悕鏃堕棿 + /// </summary> + public DateTimeOffset? ApplyTime { get; set; } + + /// <summary> + /// 褰曠敤鐘舵�� + /// </summary> + public EnumTaskUserHireStatus HireStatus { get; set; } + + /// <summary> + /// 褰曠敤鏃堕棿 + /// </summary> + public DateTime? HireTime { get; set; } + + /// <summary> + /// 鐏靛伐绛剧害鐘舵�� + /// </summary> + public EnumTaskUserSignContractStatus? UserSignContractStatus { get; set; } + + /// <summary> + /// 浼佷笟绛剧害鐘舵�� + /// </summary> + public EnumTaskUserSignContractStatus? EnterpriseSignContractStatus { get; set; } + + /// <summary> + /// 浼佷笟绛剧害鏃堕棿 + /// </summary> + public DateTime? EnterpriseSignContractTime { get; set; } + + /// <summary> + /// 鐢靛瓙鍚堝悓 + /// </summary> + public string ContractUrl { get; set; } + + } +} diff --git a/FlexJobApi.Core/Models/UserServer/Users/Queries/GetPersonalUserInfosQuery.cs b/FlexJobApi.Core/Models/UserServer/Users/Queries/GetPersonalUserInfosQuery.cs index 98e3326..4ccffc8 100644 --- a/FlexJobApi.Core/Models/UserServer/Users/Queries/GetPersonalUserInfosQuery.cs +++ b/FlexJobApi.Core/Models/UserServer/Users/Queries/GetPersonalUserInfosQuery.cs @@ -78,6 +78,16 @@ public string Identity { get; set; } /// <summary> + /// 韬唤璇佷汉鍍忛潰 + /// </summary> + public string IdentityImg { get; set; } + + /// <summary> + /// 韬唤璇佸浗寰介潰 + /// </summary> + public string IdentityBackImg { get; set; } + + /// <summary> /// 鎬у埆 /// </summary> public EnumUserGender? Gender { get; set; } diff --git a/FlexJobApi.UserServer.Application/FlexJobApi.UserServer.Application.xml b/FlexJobApi.UserServer.Application/FlexJobApi.UserServer.Application.xml index 95296c0..eba2821 100644 --- a/FlexJobApi.UserServer.Application/FlexJobApi.UserServer.Application.xml +++ b/FlexJobApi.UserServer.Application/FlexJobApi.UserServer.Application.xml @@ -728,6 +728,14 @@ <param name="cancellationToken"></param> <returns></returns> </member> + <member name="M:FlexJobApi.UserServer.Application.GetPersonalUserInfosQueryHandler.Handle(FlexJobApi.Core.GetPersonalUserInfoSignContractsQuery,System.Threading.CancellationToken)"> + <summary> + 鏌ヨC绔汉鍛樼绾﹁鎯呭垎椤靛垪琛ㄦ暟鎹� + </summary> + <param name="request"></param> + <param name="cancellationToken"></param> + <returns></returns> + </member> <member name="T:FlexJobApi.UserServer.Application.GetUserInfoRolesQueryHandler"> <summary> 鏌ヨ鐢ㄦ埛瑙掕壊鍒楄〃 diff --git a/FlexJobApi.UserServer.Application/Users/Queries/GetPersonalUserInfosQueryHandler.cs b/FlexJobApi.UserServer.Application/Users/Queries/GetPersonalUserInfosQueryHandler.cs index 5ee6ff5..8f71df9 100644 --- a/FlexJobApi.UserServer.Application/Users/Queries/GetPersonalUserInfosQueryHandler.cs +++ b/FlexJobApi.UserServer.Application/Users/Queries/GetPersonalUserInfosQueryHandler.cs @@ -16,7 +16,8 @@ public class GetPersonalUserInfosQueryHandler( IRepository<User> rep ) : - IRequestHandler<GetPersonalUserInfosQuery, GetPersonalUserInfosQueryResult> + IRequestHandler<GetPersonalUserInfosQuery, GetPersonalUserInfosQueryResult>, + IRequestHandler<GetPersonalUserInfoSignContractsQuery, GetPersonalUserInfoSignContractsQueryResult> { private readonly IRepository<User> rep = rep; @@ -51,11 +52,7 @@ { q = q.Where(it => it.EnterpriseEmployees.Any(e => - e.UserSignContractStatus == EnumTaskUserSignContractStatus.Pass - && e.UserSignContractTime.HasValue - && request.SignContractBegin <= e.UserSignContractTime - && e.UserSignContractTime <= request.SignContractEnd - || e.EnterpriseSignContractStatus == EnumTaskUserSignContractStatus.Pass + e.EnterpriseSignContractStatus == EnumTaskUserSignContractStatus.Pass && e.EnterpriseSignContractTime.HasValue && request.SignContractBegin <= e.EnterpriseSignContractTime && e.EnterpriseSignContractTime <= request.SignContractEnd)); @@ -70,6 +67,8 @@ Name = it.Name, ContactPhoneNumber = it.ContactPhoneNumber, Identity = it.Identity, + IdentityImg = it.UserAuth.IdentityImg, + IdentityBackImg = it.UserAuth.IdentityBackImg, Gender = it.Gender, Age = it.Age, ProvinceCode = it.ProvinceCode, @@ -85,13 +84,41 @@ .Select(e => e.HireTime) .FirstOrDefault(), SignContractTime = it.EnterpriseEmployees - .OrderByDescending(e => e.EnterpriseSignContractTime > e.UserSignContractTime ? e.EnterpriseSignContractTime : e.UserSignContractTime) - .Where(e => e.HireStatus == EnumTaskUserHireStatus.Pass && e.HireTime.HasValue) - .Select(e => e.HireTime) + .OrderByDescending(e => e.EnterpriseSignContractTime) + .Where(e => e.EnterpriseSignContractStatus == EnumTaskUserSignContractStatus.Pass && e.EnterpriseSignContractTime.HasValue) + .Select(e => e.EnterpriseSignContractTime) .FirstOrDefault(), }); var result = await request.PageModel.GetPagedListAsync<GetPersonalUserInfosQueryResult, GetPersonalUserInfosQueryResultItem>(s, cancellationToken); return result; } + + /// <summary> + /// 鏌ヨC绔汉鍛樼绾﹁鎯呭垎椤靛垪琛ㄦ暟鎹� + /// </summary> + /// <param name="request"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + public Task<GetPersonalUserInfoSignContractsQueryResult> Handle(GetPersonalUserInfoSignContractsQuery request, CancellationToken cancellationToken) + { + var q = rep.Change<EnterpriseEmployee>().AsQueryable().AsNoTracking() + .Where(it => it.UserId == request.Id) + .Select(it => new GetPersonalUserInfoSignContractsQueryResultItem + { + Id = it.Id, + EnterpriseName = it.Enterprise.EnterpriseName, + ApplyTime = it.TaskInfoUsers + .OrderBy(tu => tu.CreatedTime) + .Select(tu => tu.CreatedTime as DateTimeOffset?) + .FirstOrDefault(), + HireStatus = it.HireStatus, + HireTime = it.HireTime, + UserSignContractStatus = it.UserSignContractStatus, + EnterpriseSignContractStatus = it.EnterpriseSignContractStatus, + EnterpriseSignContractTime = it.EnterpriseSignContractTime, + ContractUrl = it.ContractUrl, + }); + return request.PageModel.GetPagedListAsync<GetPersonalUserInfoSignContractsQueryResult, GetPersonalUserInfoSignContractsQueryResultItem>(q, cancellationToken); + } } } -- Gitblit v1.9.1