From 313c3132dcd1768df34e3717544df9e0e9d36514 Mon Sep 17 00:00:00 2001 From: sunpengfei <i@angelzzz.com> Date: 星期五, 15 八月 2025 14:44:53 +0800 Subject: [PATCH] feat:开发 --- FlexJobApi.FlexJobServer.Application/TaskUsers/Commands/TaskUserCommandHandler.cs | 31 +++++++++++++++++++++++++++---- 1 files changed, 27 insertions(+), 4 deletions(-) diff --git a/FlexJobApi.FlexJobServer.Application/TaskUsers/Commands/TaskUserCommandHandler.cs b/FlexJobApi.FlexJobServer.Application/TaskUsers/Commands/TaskUserCommandHandler.cs index 7dfa454..c9241db 100644 --- a/FlexJobApi.FlexJobServer.Application/TaskUsers/Commands/TaskUserCommandHandler.cs +++ b/FlexJobApi.FlexJobServer.Application/TaskUsers/Commands/TaskUserCommandHandler.cs @@ -19,6 +19,7 @@ IRepository<TaskUserCollect> repTaskUserCollect ) : IRequestHandler<CollectTaskCommand, int>, + IRequestHandler<ClearTaskCollectCommand, int>, IRequestHandler<SetTaskUserHireCommand, Guid>, IRequestHandler<SetTaskUserArrangeCommand, Guid> { @@ -59,6 +60,28 @@ } /// <summary> + /// 娓呯┖宸插仠姝㈢殑浠诲姟鏀惰棌 + /// </summary> + /// <param name="request"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + public async Task<int> Handle(ClearTaskCollectCommand request, CancellationToken cancellationToken) + { + var logier = JwtUtils.GetCurrentLogier(); + var entities = await repTaskUserCollect.AsQueryable() + .Where(it => it.TaskInfo.ReleaseStatus == EnumTaskReleaseStatus.Stopped && it.UserId == logier.Id) + .ToListAsync(cancellationToken); + if (entities.IsNotNull()) + { + foreach (var entity in entities) + { + await repTaskUserCollect.DeleteAsync(entity); + } + } + return entities.Count; + } + + /// <summary> /// 浠诲姟褰曠敤 /// </summary> /// <param name="request"></param> @@ -73,8 +96,8 @@ 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) { @@ -106,8 +129,8 @@ 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) { -- Gitblit v1.9.1