| | |
| | | /// <summary> |
| | | /// 该{0}已存在,请确认后再试 |
| | | /// </summary> |
| | | [ErrorCodeItemMetadata("该{0}已存在,请确认后再试")] |
| | | [ErrorCodeItemMetadata("{0}已存在,请确认后再试")] |
| | | s405 = 405, |
| | | /// <summary> |
| | | /// 存在重复数据:{0},请确认后再试 |
| | |
| | | /// <summary> |
| | | /// 该{0}不可修改 |
| | | /// </summary> |
| | | [ErrorCodeItemMetadata("该{0}不可修改")] |
| | | [ErrorCodeItemMetadata("{0}不可修改")] |
| | | s410 = 410, |
| | | /// <summary> |
| | | /// 未知异常 |
New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | |
| | | namespace FlexJobApi.Core |
| | | { |
| | | /// <summary> |
| | | /// 同步企业用户 |
| | | /// </summary> |
| | | public class SyncEnterpriseUserCommand |
| | | { |
| | | |
| | | } |
| | | } |
| | |
| | | if (model == null) |
| | | { |
| | | var summary = await typeof(TEntity).GetSummary(); |
| | | throw Oops.Oh(EnumErrorCodeType.s404, $"该{summary ?? "信息"}"); |
| | | throw Oops.Oh(EnumErrorCodeType.s404, $"{summary ?? "信息"}"); |
| | | } |
| | | return model; |
| | | } |
| | |
| | | if (entity == null) |
| | | { |
| | | var summary = await typeof(TEntity).GetSummary(); |
| | | throw Oops.Oh(EnumErrorCodeType.s404, $"该{summary ?? "信息"}"); |
| | | throw Oops.Oh(EnumErrorCodeType.s404, $"{summary ?? "信息"}"); |
| | | } |
| | | |
| | | if (update != null) update(entity); |
| | |
| | | var summary = await typeof(TEntity).GetSummary(xmlDoc); |
| | | var rep = Db.GetRepository<TEntity>(); |
| | | if (checkExist != null && await rep.AsQueryable().AsNoTracking().AnyAsync(checkExist)) |
| | | throw Oops.Oh(EnumErrorCodeType.s405, $"该{summary ?? "信息"}"); |
| | | throw Oops.Oh(EnumErrorCodeType.s405, $"{summary ?? "信息"}"); |
| | | if (request.Id.HasValue) |
| | | { |
| | | var q = rep.AsQueryable(); |
| | | if (query != null) q = query(q); |
| | | var entity = await q.FirstOrDefaultAsync(it => it.Id == request.Id, cancellationToken); |
| | | if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, $"该{summary ?? "信息"}"); |
| | | if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, $"{summary ?? "信息"}"); |
| | | if (update != null) update(entity); |
| | | else request.Adapt(entity); |
| | | await rep.UpdateAsync(entity); |
| | |
| | | var logier = JwtUtils.GetCurrentLogier(); |
| | | var task = await repTaskInfo.AsQueryable() |
| | | .FirstOrDefaultAsync(it => it.Id == request.TaskInfoId, cancellationToken); |
| | | if (task == null) throw Oops.Oh(EnumErrorCodeType.s404, "该任务"); |
| | | if (task.Status != EnumTaskStatus.Complete) throw Oops.Oh(EnumErrorCodeType.s510, "该任务暂未安排人员"); |
| | | if (task.ReleaseStatus != EnumTaskReleaseStatus.InProcess) throw Oops.Oh(EnumErrorCodeType.s510, "该任务已结束"); |
| | | if (task == null) throw Oops.Oh(EnumErrorCodeType.s404, "任务"); |
| | | if (task.Status != EnumTaskStatus.Complete) throw Oops.Oh(EnumErrorCodeType.s510, "任务暂未安排人员"); |
| | | if (task.ReleaseStatus != EnumTaskReleaseStatus.InProcess) throw Oops.Oh(EnumErrorCodeType.s510, "任务已结束"); |
| | | if (task.BeginTime > request.Date.Date) |
| | | throw Oops.Oh(EnumErrorCodeType.s510, "该任务未开始"); |
| | | throw Oops.Oh(EnumErrorCodeType.s510, "任务未开始"); |
| | | if (request.Date.Date > task.EndTime) |
| | | throw Oops.Oh(EnumErrorCodeType.s510, "该任务已结束"); |
| | | throw Oops.Oh(EnumErrorCodeType.s510, "任务已结束"); |
| | | var taskUser = await repTaskInfoUser.AsQueryable() |
| | | .FirstOrDefaultAsync(it => it.TaskInfoId == task.Id && it.EnterpriseEmployee.UserId == logier.Id, cancellationToken); |
| | | if (taskUser == null) throw Oops.Oh(EnumErrorCodeType.s404, "该报名信息"); |
| | | if (taskUser == null) throw Oops.Oh(EnumErrorCodeType.s404, "报名信息"); |
| | | if (taskUser.HireStatus != EnumTaskUserHireStatus.Pass) throw Oops.Oh(EnumErrorCodeType.s510, "您未录用"); |
| | | if (taskUser.ArrangeStatus != EnumTaskUserArrangeStatus.Complete) throw Oops.Oh(EnumErrorCodeType.s510, "暂未安排该任务"); |
| | | if (taskUser.ArrangeStatus != EnumTaskUserArrangeStatus.Complete) throw Oops.Oh(EnumErrorCodeType.s510, "暂未安排"); |
| | | task.CheckReceiveStatus = EnumTaskCheckReceiveStatus.WaitCheckReceive; |
| | | task.LastSubmitTime = now; |
| | | taskUser.CheckReceiveStatus = EnumTaskCheckReceiveStatus.WaitCheckReceive; |
| | |
| | | var submit = await repTaskInfoUserSubmit.AsQueryable() |
| | | .Include(it => it.Files) |
| | | .FirstOrDefaultAsync(it => it.Id == request.Id); |
| | | if (submit == null) throw Oops.Oh(EnumErrorCodeType.s404, "该提交信息"); |
| | | if (submit == null) throw Oops.Oh(EnumErrorCodeType.s404, "提交信息"); |
| | | var taskUser = await repTaskInfoUser.AsQueryable() |
| | | .FirstOrDefaultAsync(it => it.Id == submit.TaskInfoUserId, cancellationToken); |
| | | if (taskUser == null) throw Oops.Oh(EnumErrorCodeType.s404, "该灵工信息"); |
| | | if (taskUser.HireStatus != EnumTaskUserHireStatus.Pass) throw Oops.Oh(EnumErrorCodeType.s510, "未录用该灵工"); |
| | | if (taskUser.ArrangeStatus != EnumTaskUserArrangeStatus.Complete) throw Oops.Oh(EnumErrorCodeType.s510, "未安排该灵工"); |
| | | if (taskUser == null) throw Oops.Oh(EnumErrorCodeType.s404, "灵工信息"); |
| | | if (taskUser.HireStatus != EnumTaskUserHireStatus.Pass) throw Oops.Oh(EnumErrorCodeType.s510, "未录用灵工"); |
| | | if (taskUser.ArrangeStatus != EnumTaskUserArrangeStatus.Complete) throw Oops.Oh(EnumErrorCodeType.s510, "未安排灵工"); |
| | | var task = await repTaskInfo.AsQueryable() |
| | | .FirstOrDefaultAsync(it => it.Id == taskUser.TaskInfoId && it.EnterpriseId == logier.EnterpriseId, cancellationToken); |
| | | if (task == null) throw Oops.Oh(EnumErrorCodeType.s404, "该任务"); |
| | | if (task.Status != EnumTaskStatus.Complete) throw Oops.Oh(EnumErrorCodeType.s510, "该任务暂未安排人员"); |
| | | if (task == null) throw Oops.Oh(EnumErrorCodeType.s404, "任务"); |
| | | if (task.Status != EnumTaskStatus.Complete) throw Oops.Oh(EnumErrorCodeType.s510, "任务暂未安排人员"); |
| | | if (request.CheckReceiveStatus != EnumTaskUserSubmitCheckReceiveStatus.Success |
| | | && request.CheckReceiveStatus != EnumTaskUserSubmitCheckReceiveStatus.Fail) |
| | | throw Oops.Oh(EnumErrorCodeType.s400, "请选择正确的验收状态"); |
| | |
| | | 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 |
| | |
| | | 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, "任务"); |
| | | var employee = employees.FirstOrDefault(it => it.EnterpriseId == task.EnterpriseId && it.UserId == logier.Id); |
| | | if (employee == null) |
| | | { |
| | |
| | | it.TaskInfo.EnterpriseId == logier.EnterpriseId |
| | | && it.Id == request.Id) |
| | | .FirstOrDefaultAsync(cancellationToken); |
| | | if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "该报名信息"); |
| | | if (entity.HireStatus == EnumTaskUserHireStatus.Pass) throw Oops.Oh(EnumErrorCodeType.s510, "该灵工已录用"); |
| | | if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "报名信息"); |
| | | if (entity.HireStatus == EnumTaskUserHireStatus.Pass) throw Oops.Oh(EnumErrorCodeType.s510, "灵工已录用"); |
| | | entity.HireStatus = request.HireStatus; |
| | | if (entity.HireStatus == EnumTaskUserHireStatus.Pass) |
| | | { |
| | |
| | | it.TaskInfo.EnterpriseId == logier.EnterpriseId |
| | | && it.Id == request.Id) |
| | | .FirstOrDefaultAsync(cancellationToken); |
| | | if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "该报名信息"); |
| | | if (entity.ArrangeStatus == EnumTaskUserArrangeStatus.Complete) throw Oops.Oh(EnumErrorCodeType.s510, "该灵工已安排"); |
| | | if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "报名信息"); |
| | | if (entity.ArrangeStatus == EnumTaskUserArrangeStatus.Complete) throw Oops.Oh(EnumErrorCodeType.s510, "灵工已安排"); |
| | | entity.ArrangeStatus = request.ArrangeStatus; |
| | | if (entity.ArrangeStatus == EnumTaskUserArrangeStatus.Complete) |
| | | { |
| | |
| | | HireStatus = it.HireStatus |
| | | }) |
| | | .FirstOrDefaultAsync(cancellationToken); |
| | | if (model == null) throw Oops.Oh(EnumErrorCodeType.s404, "该报名信息"); |
| | | if (model == null) throw Oops.Oh(EnumErrorCodeType.s404, "报名信息"); |
| | | return model; |
| | | } |
| | | } |
| | |
| | | { |
| | | if (request.Type == EnumUserType.Operation) |
| | | { |
| | | throw Oops.Oh(EnumErrorCodeType.s400, "不支持该类型账号登录"); |
| | | throw Oops.Oh(EnumErrorCodeType.s400, "不支持此类型账号登录"); |
| | | } |
| | | var snsJscode2session = await wxmpUtils.SnsJscode2sessionAsync(request.Type, request.Code, cancellationToken); |
| | | var user = await rep.AsQueryable().AsNoTracking() |
| | |
| | | { |
| | | if (type == EnumUserType.Enterprise) |
| | | { |
| | | throw Oops.Oh(EnumErrorCodeType.s404, "该账号"); |
| | | throw Oops.Oh(EnumErrorCodeType.s404, "账号"); |
| | | } |
| | | user.PhoneNumber = info.PhoneNumber; |
| | | user.ContactPhoneNumber = info.PhoneNumber; |
| | |
| | | .Where(it => it.Id == request.Id) |
| | | .ProjectToType<GetMenuQueryResult>() |
| | | .FirstOrDefaultAsync(cancellationToken); |
| | | if (model == null) throw Oops.Oh(EnumErrorCodeType.s404, "该菜单"); |
| | | if (model == null) throw Oops.Oh(EnumErrorCodeType.s404, "菜单"); |
| | | var q = repMenu.AsQueryable().AsNoTracking() |
| | | .OrderBy(it => it.Sort).ThenBy(it => it.CreatedTime) |
| | | .Where(it => it.ParentId == model.Id) |
| | |
| | | { |
| | | if (enterpriseEmployee.UserId.HasValue) |
| | | { |
| | | errors.Add("该灵工已报名无法修改信息"); |
| | | errors.Add("已报名无法修改信息"); |
| | | } |
| | | else |
| | | { |
| | |
| | | { |
| | | if (request.Id.HasValue && entity.UserId.HasValue) |
| | | { |
| | | throw Oops.Oh(EnumErrorCodeType.s510, "该灵工已报名无法修改信息"); |
| | | throw Oops.Oh(EnumErrorCodeType.s510, "已报名无法修改信息"); |
| | | } |
| | | request.Adapt(entity); |
| | | }, |
| | |
| | | } |
| | | else |
| | | { |
| | | if (user.EnterpriseId != entity.Id) throw Oops.Oh(EnumErrorCodeType.s405, "该账号"); |
| | | if (user.EnterpriseId != entity.Id) throw Oops.Oh(EnumErrorCodeType.s405, "账号"); |
| | | user.Name = request.Contacts; |
| | | user.PhoneNumber = request.ContactPhoneNumber; |
| | | if (request.Password.IsNotNull()) |
| | |
| | | public async Task<Guid> Handle(SetEnterpriseElectronSignSettingCommand request, CancellationToken cancellationToken) |
| | | { |
| | | var entity = await rep.AsQueryable().FirstOrDefaultAsync(it => it.Id == request.Id, cancellationToken); |
| | | if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "该企业"); |
| | | if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "企业"); |
| | | request.Adapt(entity); |
| | | await rep.UpdateAsync(entity); |
| | | return entity.Id; |
| | |
| | | public async Task<Guid> Handle(SetEnterpriseSmsSettingCommand request, CancellationToken cancellationToken) |
| | | { |
| | | var entity = await rep.AsQueryable().FirstOrDefaultAsync(it => it.Id == request.Id, cancellationToken); |
| | | if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "该企业"); |
| | | if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "企业"); |
| | | request.Adapt(entity); |
| | | await rep.UpdateAsync(entity); |
| | | return entity.Id; |
| | |
| | | .Where(it => it.Id == request.Id) |
| | | .ProjectToType<GetEnterpriseQueryResult>() |
| | | .FirstOrDefaultAsync(cancellationToken); |
| | | if (model == null) throw Oops.Oh(EnumErrorCodeType.s404, "该企业"); |
| | | if (model == null) throw Oops.Oh(EnumErrorCodeType.s404, "企业"); |
| | | model.UserName = await rep.Change<User>().AsQueryable().AsNoTracking() |
| | | .Where(it => it.EnterpriseId == model.Id) |
| | | .Select(it => it.UserName) |
| | |
| | | .Where(it => it.Id == request.Id) |
| | | .ProjectToType<GetEnterpriseElectronSignSettingQueryResult>() |
| | | .FirstOrDefaultAsync(cancellationToken); |
| | | if (model == null) throw Oops.Oh(EnumErrorCodeType.s404, "该企业"); |
| | | if (model == null) throw Oops.Oh(EnumErrorCodeType.s404, "企业"); |
| | | return model; |
| | | } |
| | | |
| | |
| | | .Where(it => it.Id == request.Id) |
| | | .ProjectToType<GetEnterpriseSmsSettingQueryResult>() |
| | | .FirstOrDefaultAsync(cancellationToken); |
| | | if (model == null) throw Oops.Oh(EnumErrorCodeType.s404, "该企业"); |
| | | if (model == null) throw Oops.Oh(EnumErrorCodeType.s404, "企业"); |
| | | return model; |
| | | } |
| | | } |
| | |
| | | [ErrorCodeItemMetadata("账号已禁用")] |
| | | u1001 = 1001, |
| | | /// <summary> |
| | | /// 该手机号已被注册 |
| | | /// 手机号已被注册 |
| | | /// </summary> |
| | | [ErrorCodeItemMetadata("该手机号已被注册")] |
| | | [ErrorCodeItemMetadata("手机号已被注册")] |
| | | u1010 = 1010, |
| | | /// <summary> |
| | | /// 当前账号未绑定微信小程序 |
| | |
| | | .Where(it => it.Id == request.Id) |
| | | .ProjectToType<GetMenuQueryResult>() |
| | | .FirstOrDefaultAsync(cancellationToken); |
| | | if (model == null) throw Oops.Oh(EnumErrorCodeType.s404, "该菜单"); |
| | | if (model == null) throw Oops.Oh(EnumErrorCodeType.s404, "菜单"); |
| | | var roleMenuIds = |
| | | request.RoleId.HasValue |
| | | ? rep.Change<RoleMenu>().Where(it => it.RoleId == request.RoleId).DistinctSelect(it => it.MenuId) |
| | |
| | | .ProjectToType<GetRoleQueryResult>() |
| | | .FirstOrDefaultAsync(cancellationToken); |
| | | |
| | | if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "该角色"); |
| | | if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "角色"); |
| | | |
| | | entity.MenuIds = await rep.Change<RoleMenu>().AsQueryable().AsNoTracking() |
| | | .Where(it => it.RoleId == request.Id) |
| | |
| | | it.UserType, |
| | | }) |
| | | .FirstOrDefaultAsync(cancellationToken); |
| | | if (role == null) throw Oops.Oh(EnumErrorCodeType.s404, "该角色"); |
| | | if (role == null) throw Oops.Oh(EnumErrorCodeType.s404, "角色"); |
| | | var userIds = await repUserRole.AsQueryable().AsNoTracking() |
| | | .Where(it => it.RoleId == request.RoleId) |
| | | .Select(it => it.UserId) |
| | |
| | | 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, "该灵工"); |
| | | if (enterpriseEmployee == null) throw Oops.Oh(EnumErrorCodeType.s404, "灵工"); |
| | | request.UserId = enterpriseEmployee.UserId; |
| | | } |
| | | else if (request.UserId == null) throw Oops.Oh(EnumErrorCodeType.s400, "请选择用户"); |
| | |
| | | Age = enterpriseEmployee.Age, |
| | | }; |
| | | } |
| | | if (model == null) throw Oops.Oh(EnumErrorCodeType.s404, "该信息"); |
| | | if (model == null) throw Oops.Oh(EnumErrorCodeType.s404, "信息"); |
| | | |
| | | model.TaskInfoUsers = model.TaskInfoUsers.Where(it => it.SignContractTime.HasValue).ToList(); |
| | | if (model.Id.HasValue) |
| | |
| | | .Include(it => it.UserRoles) |
| | | .Where(it => it.Id == request.UserInfoId) |
| | | .FirstOrDefaultAsync(cancellationToken); |
| | | if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "该用户"); |
| | | if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "用户"); |
| | | entity.UserRoles = request.RoleIds |
| | | .Select(it => new UserRole |
| | | { |
| | |
| | | it.Type, |
| | | }) |
| | | .FirstOrDefaultAsync(cancellationToken); |
| | | if (userInfo == null) throw Oops.Oh(EnumErrorCodeType.s404, "该用户信息"); |
| | | if (userInfo == null) throw Oops.Oh(EnumErrorCodeType.s404, "用户信息"); |
| | | var roleIds = await repUserRole.AsQueryable().AsNoTracking() |
| | | .Where(it => it.UserId == request.UserInfoId) |
| | | .Select(it => it.RoleId) |