Browse Source

开放状态修改接口

guqiang 1 month ago
parent
commit
c96c4ace9b

+ 12 - 0
src/Hotline.Api/Controllers/Exam/ExamManageController.cs

@@ -3,6 +3,7 @@ using Exam.Share;
 using Exam.Share.ViewResponses.Exam;
 using Hotline.Application.Exam.Constants.ApiRoutes;
 using Hotline.Application.Exam.Interface.ExamManages;
+using Hotline.Repository.SqlSugar.Entitys;
 using Hotline.Share.Requests.Exam;
 using Microsoft.AspNetCore.Authorization;
 using Microsoft.AspNetCore.Mvc;
@@ -89,5 +90,16 @@ namespace Hotline.Api.Controllers.Exam
         {
             await _examManageService.GenerateTestPaper(generateExamTestPaperRequest, HttpContext.RequestAborted);
         }
+
+        /// <summary>
+        /// 更新开启状态
+        /// </summary>
+        /// <param name="statusActionRequests"></param>
+        /// <returns></returns>
+        [HttpPost(ExamManageApiRoute.UpdateStatus)]
+        public async Task UpdateStatus([FromBody] List<StatusActionRequest> statusActionRequests)
+        {
+            await _examManageService.UpdateStatus(statusActionRequests, HttpContext.RequestAborted);
+        }
     }
 }

+ 12 - 0
src/Hotline.Api/Controllers/Exam/ExtractRuleController.cs

@@ -2,6 +2,7 @@
 using Exam.Infrastructure.Data.Entity;
 using Exam.Share.ViewResponses.Exam;
 using Hotline.Application.Exam.Constants.ApiRoutes;
+using Hotline.Repository.SqlSugar.Entitys;
 using Hotline.Share.Dtos.TestPapers;
 using Hotline.Share.Requests.Exam;
 using Hotline.Share.ViewResponses.Exam;
@@ -107,5 +108,16 @@ namespace Hotline.Api.Controllers.Exam
 
             return tagQuestionViewResponses;
         }
+
+        /// <summary>
+        /// 更新开启状态
+        /// </summary>
+        /// <param name="statusActionRequests"></param>
+        /// <returns></returns>
+        [HttpPost(ExtractRuleApiRoute.UpdateStatus)]
+        public async Task UpdateStatus([FromBody] List<StatusActionRequest> statusActionRequests)
+        {
+            await _extractRuleService.UpdateStatus(statusActionRequests, HttpContext.RequestAborted);
+        }
     }
 }

+ 11 - 1
src/Hotline.Api/Controllers/Exam/QuestionController.cs

@@ -2,6 +2,7 @@
 using Exam.Infrastructure.Data.Entity;
 using Exam.Share.ViewResponses.Question;
 using Hotline.Application.Exam.Constants.ApiRoutes;
+using Hotline.Repository.SqlSugar.Entitys;
 using Hotline.Share.Dtos.Questions;
 using Hotline.Share.Requests.Question;
 using MapsterMapper;
@@ -96,7 +97,16 @@ namespace Hotline.Api.Controllers.Exam
             return await _questionService.GetListAsync(questionPagedRequest);
         }
 
-
+        /// <summary>
+        /// 更新开启状态
+        /// </summary>
+        /// <param name="statusActionRequests"></param>
+        /// <returns></returns>
+        [HttpPost(QuestionApiRoute.UpdateStatus)]
+        public async Task UpdateStatus([FromBody] List<StatusActionRequest> statusActionRequests)
+        {
+            await _questionService.UpdateStatus(statusActionRequests, HttpContext.RequestAborted);
+        }
 
         /// <summary>
         /// 导入Excel

+ 6 - 1
src/Hotline.Repository.SqlSugar/Service/ApiService.cs

@@ -314,7 +314,12 @@ namespace Exam.Insfrastructure.Service.Service
             var ids = statusActionRequests.Select(x => x.Id).ToList();
             var entities = await _repository.QueryAsync(x => ids.Contains(x.Id));
 
-            entities = _mapper.Map<List<StatusActionRequest>, List<T>>(statusActionRequests,entities);
+            entities.ForEach(item =>
+            {
+                var statusActionRequest = statusActionRequests.FirstOrDefault(x => x.Id == item.Id);
+
+                item = _mapper.Map<StatusActionRequest, T>(statusActionRequest, item);
+            });
 
             entities.ToUpdate(_sessionContext);