| | |
| | | { |
| | | request.UserId = logier.Id; |
| | | } |
| | | if (request.UserId == null) throw Oops.Oh(EnumErrorCodeType.s400, "请选择用户"); |
| | | var model = await rep.AsQueryable().AsNoTracking() |
| | | .Where(it => it.Id == request.UserId) |
| | | .GetDetail<User, GetUserResumeQueryResult>(cancellationToken); |
| | | EnterpriseEmployee? enterpriseEmployee = null; |
| | | if (logier.Type == EnumUserType.Enterprise && request.UserId == null && request.EnterpriseEmployeeId.HasValue) |
| | | { |
| | | enterpriseEmployee = await rep.Change<EnterpriseEmployee>().AsQueryable().AsNoTracking() |
| | | .Where(it => it.EnterpriseId == logier.EnterpriseId && it.Id == request.EnterpriseEmployeeId) |
| | | .FirstOrDefaultAsync(cancellationToken); |
| | | if (enterpriseEmployee == null) throw Oops.Oh(EnumErrorCodeType.s404, "该灵工"); |
| | | request.UserId = enterpriseEmployee.UserId; |
| | | } |
| | | else if (request.UserId == null) throw Oops.Oh(EnumErrorCodeType.s400, "请选择用户"); |
| | | |
| | | GetUserResumeQueryResult? model = null; |
| | | if (request.UserId.HasValue) |
| | | { |
| | | model = await rep.AsQueryable().AsNoTracking() |
| | | .Where(it => it.Id == request.UserId) |
| | | .GetDetail<User, GetUserResumeQueryResult>(cancellationToken); |
| | | } |
| | | else if (enterpriseEmployee != null) |
| | | { |
| | | model = new GetUserResumeQueryResult |
| | | { |
| | | Name = enterpriseEmployee.Name, |
| | | ContactPhoneNumber = enterpriseEmployee.ContactPhoneNumber, |
| | | Identity = enterpriseEmployee.Identity, |
| | | Gender = enterpriseEmployee.Gender, |
| | | Age = enterpriseEmployee.Age, |
| | | }; |
| | | } |
| | | if (model == null) throw Oops.Oh(EnumErrorCodeType.s404, "该信息"); |
| | | |
| | | model.TaskInfoUsers = model.TaskInfoUsers.Where(it => it.SignContractTime.HasValue).ToList(); |
| | | model.TaskCount = await rep.Change<TaskInfoUser>().AsQueryable().AsNoTracking() |
| | | .Where(it => it.EnterpriseEmployee.UserId == model.Id && it.EnterpriseEmployee.HireStatus == EnumTaskUserHireStatus.Pass) |
| | | .CountAsync(); |
| | | if (model.Id.HasValue) |
| | | { |
| | | model.TaskInfoUsers = rep.Change<TaskInfoUser>().AsQueryable().AsNoTracking() |
| | | .Where(it => it.EnterpriseEmployee.UserId == model.Id && it.EnterpriseEmployee.EnterpriseSignContractTime.HasValue) |
| | | .Select(it => new GetUserResumeQueryResultExperience |
| | | { |
| | | SignContractTime = it.EnterpriseEmployee.EnterpriseSignContractTime, |
| | | EnterpriseName = it.TaskInfo.Enterprise.EnterpriseName, |
| | | Name = it.TaskInfo.Name |
| | | }) |
| | | .ToList(); |
| | | model.TaskCount = await rep.Change<TaskInfoUser>().AsQueryable().AsNoTracking() |
| | | .Where(it => it.EnterpriseEmployee.UserId == model.Id && it.EnterpriseEmployee.HireStatus == EnumTaskUserHireStatus.Pass) |
| | | .CountAsync(); |
| | | if (logier.Type == EnumUserType.Enterprise) |
| | | { |
| | | model.IsCollected = await rep.Change<EnterpriseUserCollect>().AsQueryable().AsNoTracking() |
| | | .Where(it => it.EnterpriseId == logier.EnterpriseId && it.UserId == model.Id) |
| | | .Select(it => it.IsCollected) |
| | | .FirstOrDefaultAsync(); |
| | | } |
| | | } |
| | | if (model.CityCode.IsNotNull()) |
| | | { |
| | | model.CompleteRate += 20; |
| | |
| | | { |
| | | model.CompleteRate += 20; |
| | | } |
| | | |
| | | return model; |
| | | } |
| | | |