From 0d97071587883d60a078d3cb98d9f55e570a8fdc Mon Sep 17 00:00:00 2001
From: sunpengfei <i@angelzzz.com>
Date: 星期二, 02 九月 2025 15:24:10 +0800
Subject: [PATCH] feat:开发

---
 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