using Exam.Application.Interface.Exam; 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; using Mapster; using Microsoft.AspNetCore.Mvc; namespace Hotline.Api.Controllers.Exam { public class ExtractRuleController : BaseController { private readonly IExtractRuleService _extractRuleService; public ExtractRuleController(IExtractRuleService extractRuleService) { _extractRuleService = extractRuleService; } /// /// 新增考试标签 /// /// /// [HttpPost(ExtractRuleApiRoute.Add)] public async Task Add([FromBody] AddExtractRuleDto extractRuleDto) { await _extractRuleService.AddAsync(extractRuleDto, HttpContext.RequestAborted); } /// /// 修改考试标签 /// /// /// [HttpPut(ExtractRuleApiRoute.Update)] public async Task Update([FromBody] UpdateExtractRuleDto extractRuleDto) { await _extractRuleService.UpdateAsync(extractRuleDto, HttpContext.RequestAborted); } /// /// 删除考试标签 /// /// /// [HttpDelete(ExtractRuleApiRoute.Delete)] public async Task Delete(EntityQueryRequest entityQueryRequest) { await _extractRuleService.DeleteAsync(entityQueryRequest, HttpContext.RequestAborted); } /// /// 获取课件分页列表 /// /// /// [HttpPost(ExtractRuleApiRoute.GetPagedList)] public async Task GetPagedList([FromBody] ExtractRulePagedRequest extractRulePagedRequest) { var sourcewarePageViewResponse = await _extractRuleService.GetPagedListAsync(extractRulePagedRequest); return sourcewarePageViewResponse as ExtractRulePageViewResponse; } /// /// 获取课件分类 /// /// /// [HttpGet(ExtractRuleApiRoute.Get)] public async Task Get(string id) { var extractRuleDto = await _extractRuleService.GetAsync(new EntityQueryRequest { Id = id }); return extractRuleDto; } /// /// 获取抽题规则列表 /// /// /// [HttpGet(ExtractRuleApiRoute.GetList)] public async Task> GetList([FromQuery] ExtractRuleRequest extractRuleRequest) { var extractRulePagedRequest = extractRuleRequest.Adapt(); return (await _extractRuleService.GetListAsync(extractRulePagedRequest)).Item2; } /// /// /// /// /// [HttpPost(ExtractRuleApiRoute.GetTagQuestionCount)] public async Task> GetTagQuestionCount([FromBody] TagQuestionRequest tagQuestionRequest) { var tagQuestionViewResponses = await _extractRuleService.GetTagQuestionCount(tagQuestionRequest); return tagQuestionViewResponses; } /// /// 更新开启状态 /// /// /// [HttpPost(ExtractRuleApiRoute.UpdateStatus)] public async Task UpdateStatus([FromBody] List statusActionRequests) { await _extractRuleService.UpdateStatus(statusActionRequests, HttpContext.RequestAborted); } } }