sunpengfei
2025-08-22 f7441ac8e0ef8778c4271d4ffec890a7e39bd3ab
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, "已安排的任务无法删除");
                    }