Explorar o código

Merge branch 'feature/exam' into dev
合并考试标签

guqiang hai 2 meses
pai
achega
44b6b748c4

+ 1 - 1
src/01.Infrastructure/Exam.Infrastructure.Web/Constants/RouteApi.cs → src/01.Infrastructure/Exam.Infrastructure.Web/Constants/ApiRoute.cs

@@ -1,6 +1,6 @@
 namespace Exam.Infrastructure.Web.Constants
 {
-    public class RouteApi
+    public class ApiRoute
     {
         public const string Add = "Add";
 

+ 91 - 0
src/Hotline.Api/Controllers/Exam/ExamTagController.cs

@@ -0,0 +1,91 @@
+using Exam.Application.Interface.Exam;
+using Exam.Infrastructure.Data.Entity;
+using Exam.Infrastructure.Data.Extensions;
+using Exam.Share.ViewResponses.Sourceware;
+using Hotline.Application.Exam.Constants;
+using Hotline.Application.Exam.Constants.ApiRoutes;
+using Hotline.Share.Dtos.ExamManages;
+using Hotline.Share.Dtos.Sourcewares;
+using Hotline.Share.Requests.Exam;
+using Hotline.Share.Requests.Sourceware;
+using Hotline.Share.ViewResponses.Exam;
+using Microsoft.AspNetCore.Mvc;
+using XF.Domain.Authentications;
+
+namespace Hotline.Api.Controllers.Exam
+{
+    public class ExamTagController : BaseController
+    {
+        private IExamTagService _examTagService;
+        private ISessionContext _sessionContext;
+        public ExamTagController(IExamTagService examTagService,ISessionContext sessionContext)
+        {
+            _examTagService = examTagService;
+            _sessionContext = sessionContext;
+        }
+
+        /// <summary>
+        /// 新增课件类型
+        /// </summary>
+        /// <param name="examTagDto"></param>
+        /// <returns></returns>
+        [HttpPost(ExamTagApiRoute.Add)]
+        public async Task Add([FromBody] ExamTagDto examTagDto)
+        {
+            examTagDto.InitRequest(_sessionContext);
+            await _examTagService.AddAsync(examTagDto, HttpContext.RequestAborted);
+        }
+
+        /// <summary>
+        /// 修改课件类型
+        /// </summary>
+        /// <param name="examTagDto"></param>
+        /// <returns></returns>
+        [HttpPut(ExamTagApiRoute.Update)]
+        public async Task Update([FromBody] ExamTagDto examTagDto)
+        {
+            examTagDto.InitRequest(_sessionContext);
+            await _examTagService.UpdateAsync(examTagDto, HttpContext.RequestAborted);
+        }
+
+        /// <summary>
+        /// 删除课件类型
+        /// </summary>
+        /// <param name="entityQueryRequest"></param>
+        /// <returns></returns>
+        [HttpDelete(ExamTagApiRoute.Delete)]
+
+        public async Task Delete(EntityQueryRequest entityQueryRequest)
+        {
+            await _examTagService.DeleteAsync(entityQueryRequest, HttpContext.RequestAborted);
+        }
+
+        /// <summary>
+        /// 获取树形列表
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost(ExamTagApiRoute.GetTreeList)]
+        public async Task<List<ExamTagViewResponse>> GetTreeList([FromBody] ExamTagRequest examTagRequest)
+        {
+            var examTags = await _examTagService.GetTreeAsync(examTagRequest);
+
+            return examTags;
+        }
+
+        /// <summary>
+        /// 获取课件分类
+        /// </summary>
+        /// <param name="id"></param>
+        /// <returns></returns>
+        [HttpGet(ExamTagApiRoute.Get)]
+        public async Task<ExamTagDto> Get(string id)
+        {
+            var examTagDto = await _examTagService.GetAsync(new EntityQueryRequest
+            {
+                Id = id
+            });
+
+            return examTagDto;
+        }
+    }
+}

+ 6 - 6
src/Hotline.Api/Controllers/Exam/SourcewareCategoryController.cs

@@ -2,7 +2,7 @@
 using Exam.Infrastructure.Data.Entity;
 using Exam.Infrastructure.Data.Extensions;
 using Exam.Share.ViewResponses.Sourceware;
-using Hotline.Application.Exam.Constants;
+using Hotline.Application.Exam.Constants.ApiRoutes;
 using Hotline.Repository.SqlSugar.Exam.Interfaces.Sourcewares;
 using Hotline.Share.Dtos.Sourcewares;
 using Hotline.Share.Requests.Sourceware;
@@ -26,7 +26,7 @@ namespace Hotline.Api.Controllers.Exam
         /// </summary>
         /// <param name="sourcewareCategoryDto"></param>
         /// <returns></returns>
-        [HttpPost(SourcewareCategoryRouteApi.Add)]
+        [HttpPost(SourcewareCategoryApiRoute.Add)]
         public async Task Add([FromBody] SourcewareCategoryDto sourcewareCategoryDto)
         {
             sourcewareCategoryDto.InitRequest(_sessionContext);
@@ -38,7 +38,7 @@ namespace Hotline.Api.Controllers.Exam
         /// </summary>
         /// <param name="sourcewareCategoryDto"></param>
         /// <returns></returns>
-        [HttpPut(SourcewareCategoryRouteApi.Update)]
+        [HttpPut(SourcewareCategoryApiRoute.Update)]
         public async Task Update([FromBody] SourcewareCategoryDto sourcewareCategoryDto)
         {
             sourcewareCategoryDto.InitRequest(_sessionContext);
@@ -50,7 +50,7 @@ namespace Hotline.Api.Controllers.Exam
         /// </summary>
         /// <param name="entityQueryRequest"></param>
         /// <returns></returns>
-        [HttpDelete(SourcewareCategoryRouteApi.Delete)]
+        [HttpDelete(SourcewareCategoryApiRoute.Delete)]
 
         public async Task Delete(EntityQueryRequest entityQueryRequest)
         {
@@ -61,7 +61,7 @@ namespace Hotline.Api.Controllers.Exam
         /// 获取树形列表
         /// </summary>
         /// <returns></returns>
-        [HttpPost(SourcewareCategoryRouteApi.GetTreeList)]
+        [HttpPost(SourcewareCategoryApiRoute.GetTreeList)]
         public async Task<List<SourcewareCategoryViewResponse>> GetTreeList([FromBody] SourcewareCategoryRequest sourcewareCategoryRequest)
         {
             var sourcewareCategorys = await _sourcewareCategoryService.GetTreeAsync(sourcewareCategoryRequest);
@@ -74,7 +74,7 @@ namespace Hotline.Api.Controllers.Exam
         /// </summary>
         /// <param name="id"></param>
         /// <returns></returns>
-        [HttpGet(SourcewareCategoryRouteApi.Get)]
+        [HttpGet(SourcewareCategoryApiRoute.Get)]
         public async Task<SourcewareCategoryDto> Get(string id)
         {
             var sourcewareCategoryDto = await _sourcewareCategoryService.GetAsync(new EntityQueryRequest

+ 6 - 6
src/Hotline.Api/Controllers/Exam/SourcewaresController.cs

@@ -1,7 +1,7 @@
 using Exam.Application.Interface.Sourcewares;
 using Exam.Infrastructure.Data.Entity;
 using Exam.Infrastructure.Data.Extensions;
-using Hotline.Application.Exam.Constants;
+using Hotline.Application.Exam.Constants.ApiRoutes;
 using Hotline.Share.Dtos.Sourcewares;
 using Hotline.Share.Requests.Sourceware;
 using Hotline.Share.ViewResponses.Sourcewares;
@@ -26,7 +26,7 @@ namespace Hotline.Api.Controllers.Exam
         /// </summary>
         /// <param name="sourcewareDto"></param>
         /// <returns></returns>
-        [HttpPost(SourcewareRouteApi.Add)]
+        [HttpPost(SourcewareApiRoute.Add)]
         public async Task Add([FromBody] SourcewareDto sourcewareDto)
         {
             sourcewareDto.InitRequest(_sessionContext);
@@ -38,7 +38,7 @@ namespace Hotline.Api.Controllers.Exam
         /// </summary>
         /// <param name="sourcewareDto"></param>
         /// <returns></returns>
-        [HttpPut(SourcewareRouteApi.Update)]
+        [HttpPut(SourcewareApiRoute.Update)]
         public async Task Update([FromBody] SourcewareDto sourcewareDto)
         {
             sourcewareDto.InitRequest(_sessionContext);
@@ -50,7 +50,7 @@ namespace Hotline.Api.Controllers.Exam
         /// </summary>
         /// <param name="entityQueryRequest"></param>
         /// <returns></returns>
-        [HttpDelete(SourcewareRouteApi.Delete)]
+        [HttpDelete(SourcewareApiRoute.Delete)]
         public async Task Delete([FromBody] EntityQueryRequest entityQueryRequest)
         {
             await _sourcewareService.DeleteAsync(entityQueryRequest, HttpContext.RequestAborted);
@@ -61,7 +61,7 @@ namespace Hotline.Api.Controllers.Exam
         /// </summary>
         /// <param name="sourcewarePagedRequest"></param>
         /// <returns></returns>
-        [HttpPost(SourcewareRouteApi.GetPagedList)]
+        [HttpPost(SourcewareApiRoute.GetPagedList)]
         public async Task<SourcewarePageViewResponse> GetPagedList([FromBody] SourcewarePagedRequest sourcewarePagedRequest)
         {
             var sourcewarePageViewResponse = await _sourcewareService.GetPagedListAsync(sourcewarePagedRequest);
@@ -74,7 +74,7 @@ namespace Hotline.Api.Controllers.Exam
         /// </summary>
         /// <param name="id"></param>
         /// <returns></returns>
-        [HttpGet(SourcewareRouteApi.Get)]
+        [HttpGet(SourcewareApiRoute.Get)]
         public async Task<SourcewareDto> Get(string id)
         {
             var sourcewareDto = await _sourcewareService.GetAsync(new EntityQueryRequest

+ 2 - 2
src/Hotline.Application/Exam/Constants/SourcewareCategoryRouteApi.cs → src/Hotline.Application/Exam/Constants/ApiRoutes/ExamTagApiRoute.cs

@@ -1,8 +1,8 @@
 using Exam.Infrastructure.Web.Constants;
 
-namespace Hotline.Application.Exam.Constants
+namespace Hotline.Application.Exam.Constants.ApiRoutes
 {
-    public class SourcewareCategoryRouteApi:RouteApi
+    public class ExamTagApiRoute:ApiRoute
     {
         public const string GetTreeList = "GetTreeList";
     }

+ 9 - 0
src/Hotline.Application/Exam/Constants/ApiRoutes/SourcewareApiRoute.cs

@@ -0,0 +1,9 @@
+using Exam.Infrastructure.Web.Constants;
+
+namespace Hotline.Application.Exam.Constants.ApiRoutes
+{
+    public class SourcewareApiRoute:ApiRoute
+    {
+        
+    }
+}

+ 9 - 0
src/Hotline.Application/Exam/Constants/ApiRoutes/SourcewareCategoryApiRoute.cs

@@ -0,0 +1,9 @@
+using Exam.Infrastructure.Web.Constants;
+
+namespace Hotline.Application.Exam.Constants.ApiRoutes
+{
+    public class SourcewareCategoryApiRoute:ApiRoute
+    {
+        public const string GetTreeList = "GetTreeList";
+    }
+}

+ 0 - 9
src/Hotline.Application/Exam/Constants/SourcewareRouteApi.cs

@@ -1,9 +0,0 @@
-using Exam.Infrastructure.Web.Constants;
-
-namespace Hotline.Application.Exam.Constants
-{
-    public class SourcewareRouteApi:RouteApi
-    {
-        
-    }
-}

+ 3 - 0
src/Hotline.Application/Exam/Interface/ExamManages/IExamTagService.cs

@@ -1,12 +1,15 @@
 using Exam.ExamManages;
+using Exam.Share.ViewResponses.Sourceware;
 using Hotline.Repository.SqlSugar.Interface;
 using Hotline.Share.Dtos.ExamManages;
 using Hotline.Share.Requests.Exam;
+using Hotline.Share.Requests.Sourceware;
 using Hotline.Share.ViewResponses.Exam;
 
 namespace Exam.Application.Interface.Exam
 {
     public interface IExamTagService:IQueryService<ExamTagViewResponse,ExamTagDto,ExamTagRequest>,IApiService<ExamTagDto,ExamTag>
     {
+        public Task<List<ExamTagViewResponse>> GetTreeAsync(ExamTagRequest examTagRequest);
     }
 }

+ 3 - 0
src/Hotline.Application/Exam/Service/ExamManages/ExamTagService.cs

@@ -43,6 +43,8 @@ namespace Hotline.Application.Exam.Service.ExamManages
                 				Name = m.Name,
 								ParentId = m.ParentId,
 								Id = m.Id,
+                                SortIndex = m.SortIndex,
+                                Status = m.Status
 				            }).ToListAsync();
 
             var total = await query.CountAsync();
@@ -73,6 +75,7 @@ namespace Hotline.Application.Exam.Service.ExamManages
                 Name = m.Name,
                 ParentId = m.ParentId,
                 SortIndex = m.SortIndex,
+                Status = m.Status,
                 Children = m.Children.Adapt<List<ExamTagViewResponse>>()
             }).ToList();
 

+ 2 - 1
src/Hotline.Share/ViewResponses/Exam/ExamTagViewResponse.cs

@@ -1,4 +1,5 @@
 using Exam.Infrastructure.Data.Interface;
+using Hotline.Share.Enums.Exams;
 using System.ComponentModel;
 
 namespace Hotline.Share.ViewResponses.Exam
@@ -19,7 +20,7 @@ namespace Hotline.Share.ViewResponses.Exam
         /// 状态
         /// </summary>
         [Description("状态")]
-        public int Status { get; set; }
+        public EPublicStatus Status { get; set; }
 
         /// <summary>
         /// 排序