From e49c42ad641fa7ddaa4250ffd408666b087d1d48 Mon Sep 17 00:00:00 2001 From: sunpengfei <i@angelzzz.com> Date: 星期五, 29 八月 2025 13:25:26 +0800 Subject: [PATCH] feat:开发 --- FlexJobApi.UserServer.Application/EnterpriseEmployees/Queries/EnterpriseEmployeeQueryHandler.cs | 50 +++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 39 insertions(+), 11 deletions(-) diff --git a/FlexJobApi.UserServer.Application/EnterpriseEmployees/Queries/EnterpriseEmployeeQueryHandler.cs b/FlexJobApi.UserServer.Application/EnterpriseEmployees/Queries/EnterpriseEmployeeQueryHandler.cs index c50f501..0201ebb 100644 --- a/FlexJobApi.UserServer.Application/EnterpriseEmployees/Queries/EnterpriseEmployeeQueryHandler.cs +++ b/FlexJobApi.UserServer.Application/EnterpriseEmployees/Queries/EnterpriseEmployeeQueryHandler.cs @@ -19,8 +19,8 @@ ) : IRequestHandler<GetEnterpriseEmployeesQuery, GetEnterpriseEmployeesQueryResult>, IRequestHandler<GetEnterpriseEmployeeQuery, GetEnterpriseEmployeeQueryResult>, - IRequestHandler<GetEnterpriseEmployeeElectronSignsQuery, GetEnterpriseEmployeeElectronSignsQueryResult>, - IRequestHandler<GetEnterpriseEmployeeElectronSignQuery, GetEnterpriseEmployeeElectronSignQueryResult> + IRequestHandler<GetPersonalUserElectronSignsQuery, GetPersonalUserElectronSignsQueryResult>, + IRequestHandler<GetPersonalUserElectronSignQuery, GetPersonalUserElectronSignQueryResult> { private readonly IRepository<EnterpriseEmployee> rep = rep; @@ -65,9 +65,30 @@ { 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) { - q = q.Where(it => it.UserSignContractStatus == request.UserSignContractStatus); + if (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: + q = q.Where(it => it.UserSignContractStatus == request.UserSignContractStatus); + break; + } + } + else + { + q = q.Where(it => it.UserSignContractStatus == request.UserSignContractStatus); + } } if (request.EnterpriseSignContractStatus.HasValue) { @@ -147,29 +168,36 @@ /// <param name="request"></param> /// <param name="cancellationToken"></param> /// <returns></returns> - public async Task<GetEnterpriseEmployeeElectronSignsQueryResult> Handle(GetEnterpriseEmployeeElectronSignsQuery request, CancellationToken cancellationToken) + 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) { - q = q.Where(it => it.UserSignContractStatus == request.UserSignContractStatus.Value); + 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.Effect + || it.UserSignContractStatus == EnumTaskUserSignContractStatus.Pass && it.EnterpriseSignContractStatus == EnumTaskUserSignContractStatus.Pass || it.UserSignContractStatus == EnumTaskUserSignContractStatus.Stop); } - var s = q.Select(it => new GetEnterpriseEmployeeElectronSignsQueryResultItem + var s = q.Select(it => new GetPersonalUserElectronSignsQueryResultItem { Id = it.Id, EnterpriseName = it.Enterprise.EnterpriseName, UserSignContractStatus = it.UserSignContractStatus, }); - return await request.PageModel.GetPagedListAsync<GetEnterpriseEmployeeElectronSignsQueryResult, GetEnterpriseEmployeeElectronSignsQueryResultItem>(s, cancellationToken); + return await request.PageModel.GetPagedListAsync<GetPersonalUserElectronSignsQueryResult, GetPersonalUserElectronSignsQueryResultItem>(s, cancellationToken); } /// <summary> @@ -178,7 +206,7 @@ /// <param name="request"></param> /// <param name="cancellationToken"></param> /// <returns></returns> - public async Task<GetEnterpriseEmployeeElectronSignQueryResult> Handle(GetEnterpriseEmployeeElectronSignQuery request, CancellationToken cancellationToken) + public async Task<GetPersonalUserElectronSignQueryResult> Handle(GetPersonalUserElectronSignQuery request, CancellationToken cancellationToken) { var logier = JwtUtils.GetCurrentLogier(); var q = rep.AsQueryable().AsNoTracking() @@ -193,7 +221,7 @@ q = q.Where(it => it.ContractTemplate.Code == request.Code); } - var model = await q.GetDetail<EnterpriseEmployee, GetEnterpriseEmployeeElectronSignQueryResult>(); + var model = await q.GetDetail<EnterpriseEmployee, GetPersonalUserElectronSignQueryResult>(); return model; } } -- Gitblit v1.9.1