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);
}
}
}