From 26824ab5f05816687e38d062f413b95220ae7518 Mon Sep 17 00:00:00 2001 From: sunpengfei <i@angelzzz.com> Date: 星期五, 22 八月 2025 10:08:04 +0800 Subject: [PATCH] fix:bug --- FlexJobApi.FlexJobServer.Application/Tasks/Commands/TaskInfoCommandHandler.cs | 20 ++++++++++++++------ 1 files changed, 14 insertions(+), 6 deletions(-) diff --git a/FlexJobApi.FlexJobServer.Application/Tasks/Commands/TaskInfoCommandHandler.cs b/FlexJobApi.FlexJobServer.Application/Tasks/Commands/TaskInfoCommandHandler.cs index 0d67047..724213f 100644 --- a/FlexJobApi.FlexJobServer.Application/Tasks/Commands/TaskInfoCommandHandler.cs +++ b/FlexJobApi.FlexJobServer.Application/Tasks/Commands/TaskInfoCommandHandler.cs @@ -38,7 +38,7 @@ { var logier = JwtUtils.GetCurrentLogier(); if (logier.EnterpriseId == null) throw Oops.Oh(EnumErrorCodeType.s400, "褰撳墠鐧诲綍鐢ㄦ埛蹇呴』涓轰紒涓氱敤鎴锋墠鍙互鍒涘缓浠诲姟"); - return await request.SaveData<TaskInfo, SaveTaskInfoCommand>( + var entity = await request.SaveData<TaskInfo, SaveTaskInfoCommand>( q => { q = TaskInfoRepository.GetQueryable(rep, false) @@ -72,6 +72,7 @@ .ToList(); }, cancellationToken); + return entity.Id; } /// <summary> @@ -102,13 +103,20 @@ public async Task<int> Handle(SetTaskInfoRecommendStatusCommand request, CancellationToken cancellationToken) { var entities = await TaskInfoRepository.GetQueryable(rep, false) - .Where(it => request.Ids.Contains(it.Id)) + .Where(it => request.Ids.Contains(it.Id) && it.RecommendStatus != request.RecommendStatus) .ToListAsync(); - foreach (var entity in entities) + if (entities.IsNotNull()) { - entity.RecommendStatus = request.RecommendStatus; + foreach (var entity in entities) + { + entity.RecommendStatus = request.RecommendStatus; + if (entity.RecommendStatus == EnumTaskRecommendStatus.Yes) + { + entity.RecommendTime = DateTime.Now; + } + } + await rep.UpdateAsync(entities); } - await rep.UpdateAsync(entities); return entities.Count; } @@ -124,7 +132,7 @@ q => { q = TaskInfoRepository.GetQueryable(rep, false); - if (q.AsNoTracking().Any(it => it.Status == EnumTaskStatus.Complete)) + if (q.AsNoTracking().Any(it => request.Ids.Contains(it.Id) && it.Status == EnumTaskStatus.Complete)) { throw Oops.Oh(EnumErrorCodeType.s510, "宸插畨鎺掔殑浠诲姟鏃犳硶鍒犻櫎"); } -- Gitblit v1.9.1