From 0a2215fac7b72abba17f816cec53b94e36debdbd Mon Sep 17 00:00:00 2001 From: sunpengfei <i@angelzzz.com> Date: 星期五, 29 八月 2025 10:33:09 +0800 Subject: [PATCH] feat:开发 --- FlexJobApi.UserServer.Application/EnterpriseEmployees/Queries/EnterpriseEmployeeQueryHandler.cs | 88 ++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 85 insertions(+), 3 deletions(-) diff --git a/FlexJobApi.UserServer.Application/EnterpriseEmployees/Queries/EnterpriseEmployeeQueryHandler.cs b/FlexJobApi.UserServer.Application/EnterpriseEmployees/Queries/EnterpriseEmployeeQueryHandler.cs index e6f7c30..f028764 100644 --- a/FlexJobApi.UserServer.Application/EnterpriseEmployees/Queries/EnterpriseEmployeeQueryHandler.cs +++ b/FlexJobApi.UserServer.Application/EnterpriseEmployees/Queries/EnterpriseEmployeeQueryHandler.cs @@ -18,7 +18,9 @@ IRepository<EnterpriseEmployee> rep ) : IRequestHandler<GetEnterpriseEmployeesQuery, GetEnterpriseEmployeesQueryResult>, - IRequestHandler<GetEnterpriseEmployeeQuery, GetEnterpriseEmployeeQueryResult> + IRequestHandler<GetEnterpriseEmployeeQuery, GetEnterpriseEmployeeQueryResult>, + IRequestHandler<GetPersonalUserElectronSignsQuery, GetPersonalUserElectronSignsQueryResult>, + IRequestHandler<GetPersonalUserElectronSignQuery, GetPersonalUserElectronSignQueryResult> { private readonly IRepository<EnterpriseEmployee> rep = rep; @@ -63,7 +65,24 @@ { q = q.Where(it => (it.UserId.HasValue && it.User.IsReal) == request.IsReal.Value); } - if (request.UserSignContractStatus.HasValue) + if (request.UserSignContractStatus.HasValue && logier.ClientType == EnumClientType.Wxmp) + { + switch (request.UserSignContractStatus.Value) + { + case EnumTaskUserSignContractStatus.Wait: + q = q.Where(it => it.UserSignContractStatus == null || it.UserSignContractStatus == request.UserSignContractStatus); + break; + case EnumTaskUserSignContractStatus.Pass: + q = q.Where(it => it.UserSignContractStatus == request.UserSignContractStatus && it.EnterpriseSignContractStatus == EnumTaskUserSignContractStatus.Pass); + break; + case EnumTaskUserSignContractStatus.Stop: + q = q.Where(it => it.UserSignContractStatus == request.UserSignContractStatus); + break; + default: + break; + } + } + else { q = q.Where(it => it.UserSignContractStatus == request.UserSignContractStatus); } @@ -80,7 +99,7 @@ Gender = it.Gender, Age = it.Age, ContactPhoneNumber = it.ContactPhoneNumber, - UserIsReal = it.User.IsReal, + UserIsReal = it.User.IsReal == true, RealMethod = it.User.RealMethod, PersonalIdentityCode = it.User.PersonalIdentityCode, PersonalIdentityContent = it.User.PersonalIdentity.Content, @@ -138,5 +157,68 @@ return model; } + + /// <summary> + /// 鏌ヨ涓汉鐢ㄦ埛绛剧害鍒楄〃 + /// </summary> + /// <param name="request"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + public async Task<GetPersonalUserElectronSignsQueryResult> Handle(GetPersonalUserElectronSignsQuery request, CancellationToken cancellationToken) + { + var logier = JwtUtils.GetCurrentLogier(); + var q = rep.AsQueryable().AsNoTracking() + .Where(it => it.UserId == logier.Id); + if (request.UserSignContractStatus.HasValue) + { + if (request.UserSignContractStatus == EnumTaskUserSignContractStatus.Pass) + { + q = q.Where(it => it.UserSignContractStatus == EnumTaskUserSignContractStatus.Pass && it.EnterpriseSignContractStatus == EnumTaskUserSignContractStatus.Pass); + } + else + { + q = q.Where(it => it.UserSignContractStatus == request.UserSignContractStatus.Value); + } + } + else + { + q = q.Where(it => + it.UserSignContractStatus == EnumTaskUserSignContractStatus.Wait + || it.UserSignContractStatus == EnumTaskUserSignContractStatus.Pass && it.EnterpriseSignContractStatus == EnumTaskUserSignContractStatus.Pass + || it.UserSignContractStatus == EnumTaskUserSignContractStatus.Stop); + } + var s = q.Select(it => new GetPersonalUserElectronSignsQueryResultItem + { + Id = it.Id, + EnterpriseName = it.Enterprise.EnterpriseName, + UserSignContractStatus = it.UserSignContractStatus, + }); + return await request.PageModel.GetPagedListAsync<GetPersonalUserElectronSignsQueryResult, GetPersonalUserElectronSignsQueryResultItem>(s, cancellationToken); + } + + /// <summary> + /// 鏌ヨ涓汉鐢ㄦ埛绛剧害璇︽儏 + /// </summary> + /// <param name="request"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + public async Task<GetPersonalUserElectronSignQueryResult> Handle(GetPersonalUserElectronSignQuery request, CancellationToken cancellationToken) + { + var logier = JwtUtils.GetCurrentLogier(); + var q = rep.AsQueryable().AsNoTracking() + .Where(it => it.UserId == logier.Id); + if (request.Id.HasValue) + { + q = q.Where(it => it.Id == request.Id); + } + + if (request.Code.IsNotNull()) + { + q = q.Where(it => it.ContractTemplate.Code == request.Code); + } + + var model = await q.GetDetail<EnterpriseEmployee, GetPersonalUserElectronSignQueryResult>(); + return model; + } } } -- Gitblit v1.9.1