| | |
| | | public class TaskUserQueryHandler( |
| | | IRepository<TaskInfoUser> rep) : |
| | | IRequestHandler<GetTaskUsersQuery, GetTaskUsersQueryResult>, |
| | | IRequestHandler<GetArrangeTaskUsersQuery, GetArrangeTaskUsersQueryResult> |
| | | IRequestHandler<GetArrangeTaskUsersQuery, GetArrangeTaskUsersQueryResult>, |
| | | IRequestHandler<GetTaskUserHireStatusQuery, GetTaskUserHireStatusQueryResult> |
| | | { |
| | | private readonly IRepository<TaskInfoUser> rep = rep; |
| | | |
| | |
| | | .Select(it => new GetTaskUsersQueryResultItem |
| | | { |
| | | Id = it.Id, |
| | | EnterpriseEmployeeId = it.EnterpriseEmployeeId, |
| | | Avatar = it.EnterpriseEmployee.User.Avatar, |
| | | Name = it.EnterpriseEmployee.User.Name, |
| | | Identity = it.EnterpriseEmployee.User.Identity, |
| | |
| | | }); |
| | | return await request.PageModel.GetPagedListAsync<GetArrangeTaskUsersQueryResult, GetArrangeTaskUsersQueryResultItem>(s, cancellationToken); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 查询应聘报名人员录用状态 |
| | | /// </summary> |
| | | /// <param name="request"></param> |
| | | /// <param name="cancellationToken"></param> |
| | | /// <returns></returns> |
| | | public async Task<GetTaskUserHireStatusQueryResult> Handle(GetTaskUserHireStatusQuery request, CancellationToken cancellationToken) |
| | | { |
| | | var logier = JwtUtils.GetCurrentLogier(); |
| | | var q = rep.AsQueryable().AsNoTracking() |
| | | .Where(it => it.TaskInfoId == request.TaskInfoId); |
| | | if (logier.Type == EnumUserType.Personal) |
| | | { |
| | | q = q.Where(it => it.EnterpriseEmployee.UserId == request.UserId); |
| | | } |
| | | else if (request.UserId == null) |
| | | { |
| | | throw Oops.Oh(EnumErrorCodeType.s400, "请选择用户"); |
| | | } |
| | | else |
| | | { |
| | | q = q.Where(it => it.EnterpriseEmployee.UserId == request.UserId); |
| | | } |
| | | var model = await q |
| | | .Select(it => new GetTaskUserHireStatusQueryResult |
| | | { |
| | | HireStatus = it.EnterpriseEmployee.HireStatus |
| | | }) |
| | | .FirstOrDefaultAsync(cancellationToken); |
| | | if (model == null) throw Oops.Oh(EnumErrorCodeType.s404, "该报名信息"); |
| | | return model; |
| | | } |
| | | } |
| | | } |