feat: 完成多模块功能迭代与代码重构
本次提交包含多方面更新: 1. 新增消息类型枚举、杂志标题字段与AI提示词状态管理 2. 重构杂志服务,新增创建杂志接口并统一OSS路径命名规范 3. 调整题库任务结构,将答案解析迁移至独立表并优化关联查询 4. 新增AI提示词无分页查询与状态切换接口 5. 精简任务添加输入DTO,移除冗余字段 6. 修复控制器路由命名大小写不一致问题
This commit is contained in:
@ -40,7 +40,7 @@ namespace QYZH.InteractiveMagazine.WebApi.Controllers
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet, Route("Journal/detail/{id:long}")]
|
||||
[HttpGet, Route("journal/detail/{id:long}")]
|
||||
public async Task<BaseResponse<JournalDto>> GetByIdAsync([Required] long id)
|
||||
{
|
||||
var result = await JournalService.GetByExpressionAsync<JournalDto>(c => c.Id == id);
|
||||
@ -52,7 +52,7 @@ namespace QYZH.InteractiveMagazine.WebApi.Controllers
|
||||
/// </summary>
|
||||
/// <param name="search">查询条件</param>
|
||||
/// <returns></returns>
|
||||
[HttpPost, Route("Journal/pagelist")]
|
||||
[HttpPost, Route("journal/pagelist")]
|
||||
public async Task<BaseResponse<PageListModel<JournalDto>>> GetPageListAsync([FromBody] PageQueryModel<JournalQueryDto> search)
|
||||
{
|
||||
var result = await JournalService.GetPageListAsync(search);
|
||||
@ -64,31 +64,31 @@ namespace QYZH.InteractiveMagazine.WebApi.Controllers
|
||||
/// </summary>
|
||||
/// <param name="dto"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost, Route("Journal/list")]
|
||||
[HttpPost, Route("journal/list")]
|
||||
public async Task<BaseResponse<List<JournalDto>>> GetListAsync([FromQuery] JournalQueryDto dto)
|
||||
{
|
||||
var result = await JournalService.GetListAsync(dto);
|
||||
return BaseResponse<List<JournalDto>>.Success(result);
|
||||
}
|
||||
|
||||
///// <summary>
|
||||
///// 创建书籍
|
||||
///// </summary>
|
||||
///// <param name="dto">书籍对象</param>
|
||||
///// <returns></returns>
|
||||
//[HttpPost, Route("Journal/add")]
|
||||
//public async Task<BaseResponse<long>> AddAsync([FromBody] JournalEditDto dto)
|
||||
//{
|
||||
// var result = await JournalService.AddAsync(dto);
|
||||
// return result;
|
||||
//}
|
||||
/// <summary>
|
||||
/// 创建杂志
|
||||
/// </summary>
|
||||
/// <param name="dto">创建杂志</param>
|
||||
/// <returns></returns>
|
||||
[HttpPost, Route("journal/add")]
|
||||
public async Task<BaseResponse<long>> AddAsync([FromBody] JournalAddDto dto)
|
||||
{
|
||||
var result = await JournalService.AddAsync(dto);
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 编辑书籍
|
||||
/// </summary>
|
||||
/// <param name="dto">书籍对象</param>
|
||||
/// <returns></returns>
|
||||
[HttpPost, Route("Journal/update")]
|
||||
[HttpPost, Route("journal/update")]
|
||||
public async Task<BaseResponse> Edit([FromBody] JournalEditDto dto)
|
||||
{
|
||||
var result = await JournalService.EditAsync(dto);
|
||||
@ -100,7 +100,7 @@ namespace QYZH.InteractiveMagazine.WebApi.Controllers
|
||||
/// </summary>
|
||||
/// <param name="ids"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost, Route("Journal/delete")]
|
||||
[HttpPost, Route("journal/delete")]
|
||||
public async Task<BaseResponse<bool>> DeleteAsync([Required][FromBody] List<long> ids)
|
||||
{
|
||||
var result = await JournalService.DeleteAsync(ids);
|
||||
@ -111,7 +111,7 @@ namespace QYZH.InteractiveMagazine.WebApi.Controllers
|
||||
/// 书籍起始页
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost, Route("Journal/startpage")]
|
||||
[HttpPost, Route("journal/startpage")]
|
||||
public async Task<BaseResponse<bool>> StartPageAsync([FromQuery]long id, [FromQuery] int index)
|
||||
{
|
||||
var data = await JournalService.StartPageAsync(id, index);
|
||||
@ -122,7 +122,7 @@ namespace QYZH.InteractiveMagazine.WebApi.Controllers
|
||||
/// 书籍归档
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost, Route("Journal/rchive/{id:long}")]
|
||||
[HttpPost, Route("journal/rchive/{id:long}")]
|
||||
public async Task<BaseResponse<bool>> Archive(long id)
|
||||
{
|
||||
var data = await JournalService.StatusAsync(id, JournalStatusEnum.Archive);
|
||||
@ -134,7 +134,7 @@ namespace QYZH.InteractiveMagazine.WebApi.Controllers
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[HttpPost, Route("Journal/abandon/{id:long}")]
|
||||
[HttpPost, Route("journal/abandon/{id:long}")]
|
||||
public async Task<BaseResponse<bool>> Abandon(long id)
|
||||
{
|
||||
var data = await JournalService.StatusAsync(id, JournalStatusEnum.Abandoned);
|
||||
@ -145,7 +145,7 @@ namespace QYZH.InteractiveMagazine.WebApi.Controllers
|
||||
/// 书籍铺码
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost, Route("Journal/printcode/{id:long}")]
|
||||
[HttpPost, Route("journal/printcode/{id:long}")]
|
||||
public async Task<BaseResponse<DotMatrixOutput>> PrintCodeAsync(long id)
|
||||
{
|
||||
var data = await JournalService.PrintCodeAsync(id);
|
||||
@ -157,12 +157,12 @@ namespace QYZH.InteractiveMagazine.WebApi.Controllers
|
||||
/// <param name="input"></param>
|
||||
/// <param name="file"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost, Route("Journal/resultreport")]
|
||||
[HttpPost, Route("journal/resultreport")]
|
||||
public async Task<BaseResponse<bool>> GenerateAsync([FromBody] DotMatrixNoteJournalReportInput input, [FromForm] IFormFile? file)
|
||||
{
|
||||
if (file != null)
|
||||
{
|
||||
input.FileKey = $"Journal/{input.Id}/dotMatrixJournal.pdf";
|
||||
input.FileKey = $"journal/{input.Id}/dotMatrixJournal.pdf";
|
||||
input.FileUrl = ossService.PutObject(input.FileKey, file.OpenReadStream());
|
||||
}
|
||||
var data = await JournalService.ResultReportAsync(input);
|
||||
@ -174,49 +174,13 @@ namespace QYZH.InteractiveMagazine.WebApi.Controllers
|
||||
/// </summary>
|
||||
/// <param name="input"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost, Route("Journal/import")]
|
||||
[HttpPost, Route("journal/import")]
|
||||
public async Task<BaseResponse<long>> JournalImport(JournalImportDto input)
|
||||
{
|
||||
var data = await JournalCatalogService.ImportAsync(input);
|
||||
return BaseResponse<long>.Success(data);
|
||||
}
|
||||
|
||||
///// <summary>
|
||||
///// 工单分页列表
|
||||
///// </summary>
|
||||
///// <param name="search"></param>
|
||||
///// <returns></returns>
|
||||
//[HttpPost, Route("tasklibrary/workorder/pagelist")]
|
||||
//public async Task<BaseResponse<PageListModel<IcrJournalWorkOrderDto>>> WorkOrderPageListAsync([FromBody] PageQueryModel<IcrWorkOrderQueryDto> search)
|
||||
//{
|
||||
// var data = await JournalWorkOrderService.WorkOrderPageListAsync(search);
|
||||
// return BaseResponse<PageListModel<IcrJournalWorkOrderDto>>.Success(data);
|
||||
//}
|
||||
|
||||
/// <summary>
|
||||
/// 书籍发起工单
|
||||
/// </summary>
|
||||
/// <param name="dto"></param>
|
||||
/// <returns></returns>
|
||||
//[HttpPost, Route("tasklibrary/workorder/create")]
|
||||
//public async Task<BaseResponse<bool>> CreateWorkOrderAsync([FromBody] IcrWorkOrderCreateDto dto)
|
||||
//{
|
||||
// var result = await JournalWorkOrderService.CreateWorkOrderAsync(dto);
|
||||
// return result;
|
||||
//}
|
||||
|
||||
///// <summary>
|
||||
///// 更新工单状态
|
||||
///// </summary>
|
||||
///// <param name="JournalId"></param>
|
||||
///// <returns></returns>
|
||||
//[HttpPost, Route("tasklibrary/workorder/setstatus/{JournalId:long}")]
|
||||
//public async Task<BaseResponse<int>> UpdateWorkOrderAsync(long JournalId)
|
||||
//{
|
||||
// var result = await JournalWorkOrderService.UpdateWorkOrderAsync(JournalId);
|
||||
// return BaseResponse<int>.Success(result);
|
||||
//}
|
||||
|
||||
/// <summary>
|
||||
/// 题库代理请求接口
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user