| | |
| | | it.Gender, |
| | | it.Age, |
| | | it.UserAuth.IdentityImg, |
| | | it.UserAuth.IdentityBackImg |
| | | it.UserAuth.IdentityBackImg, |
| | | it.IsReal |
| | | }) |
| | | .FirstOrDefaultAsync(cancellationToken); |
| | | if (user == null) throw Oops.Oh(EnumErrorCodeType.s404, "该账号"); |
| | | if (user == null) throw Oops.Oh(EnumErrorCodeType.s404, "账号"); |
| | | if (!user.IsReal) throw Oops.Oh(EnumErrorCodeType.s510, "请先实名"); |
| | | var tasks = await repTaskInfo.AsQueryable().AsNoTracking() |
| | | .Where(it => taskIds.Contains(it.Id)) |
| | | .Select(it => new |
| | | { |
| | | it.Id, |
| | | it.EnterpriseId |
| | | it.EnterpriseId, |
| | | it.ReleaseStatus |
| | | }) |
| | | .ToListAsync(cancellationToken); |
| | | var enterpriseIds = tasks.DistinctSelect(it => it.EnterpriseId); |
| | |
| | | foreach (var taskId in taskIds) |
| | | { |
| | | var task = tasks.FirstOrDefault(it => it.Id == taskId); |
| | | if (task == null) throw Oops.Oh(EnumErrorCodeType.s404, "该任务"); |
| | | if (task == null) throw Oops.Oh(EnumErrorCodeType.s404, "任务"); |
| | | if (task.ReleaseStatus == EnumTaskReleaseStatus.Stopped) |
| | | throw Oops.Oh(EnumErrorCodeType.s510, "任务已停止"); |
| | | var employee = employees.FirstOrDefault(it => it.EnterpriseId == task.EnterpriseId && it.UserId == logier.Id); |
| | | if (employee == null) |
| | | { |
| | |
| | | UserId = logier.Id, |
| | | Name = user.Name, |
| | | Identity = user.Identity, |
| | | PhoneNumber = user.ContactPhoneNumber, |
| | | ContactPhoneNumber = user.ContactPhoneNumber, |
| | | Gender = user.Gender, |
| | | Age = user.Age, |
| | | IdentityImg = user.IdentityImg, |
| | | IdentityBackImg = user.IdentityBackImg, |
| | | HireStatus = EnumTaskUserHireStatus.Wait, |
| | | }; |
| | | await repEnterpriseEmployee.InsertAsync(employee); |
| | | } |
| | | else |
| | | { |
| | | employee.UserId = logier.Id; |
| | | await repEnterpriseEmployee.UpdateAsync(employee); |
| | | } |
| | | var entity = new TaskInfoUser |
| | | { |
| | | TaskInfoId = taskId, |
| | | EnterpriseEmployeeId = employee.Id, |
| | | HireStatus = EnumTaskUserHireStatus.Wait |
| | | }; |
| | | await repTaskInfoUser.InsertAsync(entity); |
| | | } |