sunpengfei
2025-08-19 6031dcc190be45f33c7e161c05e92ff0e4f07562
FlexJobApi.FlexJobServer.Application/TaskUsers/Commands/ApplyTaskCommandHandler.cs
@@ -59,13 +59,14 @@
                        it.UserAuth.IdentityBackImg
                    })
                    .FirstOrDefaultAsync(cancellationToken);
                if (user == null) throw Oops.Oh(EnumErrorCodeType.s404, "该账号");
                if (user == null) throw Oops.Oh(EnumErrorCodeType.s404, "账号");
                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);
@@ -79,7 +80,9 @@
                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)
                    {
@@ -93,19 +96,24 @@
                            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);
                }