From 2b331227c0c169ac60efe25c0de8090c0c52e663 Mon Sep 17 00:00:00 2001 From: sunpengfei <i@angelzzz.com> Date: 星期四, 14 八月 2025 15:49:12 +0800 Subject: [PATCH] fix:bug --- FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Commands/TaskCheckReceiveCommandHandler.cs | 37 ++++++++++++++++++++++++++++--------- 1 files changed, 28 insertions(+), 9 deletions(-) diff --git a/FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Commands/TaskCheckReceiveCommandHandler.cs b/FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Commands/TaskCheckReceiveCommandHandler.cs index 4a5a2c2..a7740a3 100644 --- a/FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Commands/TaskCheckReceiveCommandHandler.cs +++ b/FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Commands/TaskCheckReceiveCommandHandler.cs @@ -41,13 +41,14 @@ var task = await repTaskInfo.AsQueryable() .FirstOrDefaultAsync(it => it.Id == request.TaskInfoId, cancellationToken); if (task == null) throw Oops.Oh(EnumErrorCodeType.s404, "璇ヤ换鍔�"); - if (task.Status == EnumTaskStatus.Wait) throw Oops.Oh(EnumErrorCodeType.s510, "璇ヤ换鍔℃殏鏈畨鎺掍汉鍛�"); - if (task.ReleaseStatus == EnumTaskReleaseStatus.Stopped) throw Oops.Oh(EnumErrorCodeType.s510, "璇ヤ换鍔″凡缁撴潫"); + if (task.Status != EnumTaskStatus.Complete) throw Oops.Oh(EnumErrorCodeType.s510, "璇ヤ换鍔℃殏鏈畨鎺掍汉鍛�"); + if (task.ReleaseStatus != EnumTaskReleaseStatus.InProcess) throw Oops.Oh(EnumErrorCodeType.s510, "璇ヤ换鍔″凡缁撴潫"); if (!(task.BeginTime <= now && now <= task.EndTime)) 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.ArrangeStatus == EnumTaskUserArrangeStatus.Wait) throw Oops.Oh(EnumErrorCodeType.s510, "鏆傛湭瀹夋帓璇ヤ换鍔�"); + if (taskUser.HireStatus != EnumTaskUserHireStatus.Pass) 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; @@ -106,12 +107,13 @@ var taskUser = await repTaskInfoUser.AsQueryable() .FirstOrDefaultAsync(it => it.Id == submit.TaskInfoUserId, cancellationToken); if (taskUser == null) throw Oops.Oh(EnumErrorCodeType.s404, "璇ョ伒宸ヤ俊鎭�"); - if (taskUser.ArrangeStatus == EnumTaskUserArrangeStatus.Wait) throw Oops.Oh(EnumErrorCodeType.s510, "鏈畨鎺掕鐏靛伐"); + 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.Wait) throw Oops.Oh(EnumErrorCodeType.s510, "璇ヤ换鍔℃殏鏈畨鎺掍汉鍛�"); - if (task.ReleaseStatus == EnumTaskReleaseStatus.Stopped) throw Oops.Oh(EnumErrorCodeType.s510, "璇ヤ换鍔″凡缁撴潫"); + if (task.Status != EnumTaskStatus.Complete) throw Oops.Oh(EnumErrorCodeType.s510, "璇ヤ换鍔℃殏鏈畨鎺掍汉鍛�"); + if (task.ReleaseStatus != EnumTaskReleaseStatus.InProcess) throw Oops.Oh(EnumErrorCodeType.s510, "璇ヤ换鍔″凡缁撴潫"); if (!(task.BeginTime <= now && now <= task.EndTime)) throw Oops.Oh(EnumErrorCodeType.s510, "璇ヤ换鍔″凡缁撴潫"); if (request.CheckReceiveStatus != EnumTaskUserSubmitCheckReceiveStatus.Success && request.CheckReceiveStatus != EnumTaskUserSubmitCheckReceiveStatus.Fail) @@ -168,17 +170,34 @@ .Where(it => it.TaskInfoUser.TaskInfoId == request.Id) .Select(it => new ExportTaskCheckReceiveTaskUsersCommandModel { + UserId = it.TaskInfoUser.EnterpriseEmployee.UserId!.Value, Name = it.TaskInfoUser.EnterpriseEmployee.User.Name, Identity = it.TaskInfoUser.EnterpriseEmployee.User.Identity, ContactPhoneNumber = it.TaskInfoUser.EnterpriseEmployee.User.ContactPhoneNumber, CheckReceiveStatus = it.CheckReceiveStatus, CheckReceiveTime = it.CheckReceiveTime, - Bank = "123", - Code = "456" }) .ToListAsync(cancellationToken); + if (models.IsNotNull()) + { + var userIds = models.DistinctSelect(it => it.UserId); + var bankCards = await repTaskInfoUserSubmit.Change<UserBankCard>().AsQueryable().AsNoTracking() + .Where(it => userIds.Contains(it.UserId)) + .Select(it => new + { + it.UserId, + it.Bank, + it.Code + }) + .ToListAsync(cancellationToken); + foreach (var model in models) + { + var bankCard = bankCards.FirstOrDefault(it => it.UserId == model.UserId); + model.Bank = bankCard?.Bank; + model.Code = bankCard?.Code; + } + } var url = await models.ExportExcelToOSS("TaskCheckReceive/Export", "楠屾敹璁板綍.xlsx"); - url = AliyunOSSUtils.GetUrl(url); return url; } } -- Gitblit v1.9.1