1. add PublishAsync method to IJournalService and implement it in JournalService 2. add publish start/end time fields to Journal entity, DTOs and edit form 3. add journal publish API endpoint 4. add rabbitMQ message sending for book and page publish events 5. clean up some commented-out old controller methods
58 lines
1.5 KiB
C#
58 lines
1.5 KiB
C#
|
|
using QYZH.InteractiveMagazine.Models.Dto.Journal;
|
|
using QYZH.InteractiveMagazine.Models.Dto.DotMatrix;
|
|
using QYZH.InteractiveMagazine.Models.Enum;
|
|
using QYZH.InteractiveMagazine.Models.Dto;
|
|
using QYZH.InteractiveMagazine.Models.Entity;
|
|
|
|
namespace QYZH.InteractiveMagazine.IService;
|
|
|
|
public interface IJournalService : IBaseService<Journal>
|
|
{
|
|
/// <summary>
|
|
/// 查询List
|
|
/// </summary>
|
|
/// <param name="dto"></param>
|
|
/// <returns></returns>
|
|
Task<List<JournalDto>> GetListAsync(JournalQueryDto dto);
|
|
|
|
/// <summary>
|
|
/// 分页查询
|
|
/// </summary>
|
|
/// <param name="search"></param>
|
|
/// <returns></returns>
|
|
Task<PageListModel<JournalDto>> GetPageListAsync(PageQueryModel<JournalQueryDto> search);
|
|
|
|
|
|
/// <summary>
|
|
/// 创建杂志
|
|
/// </summary>
|
|
/// <param name="input">杂志信息</param>
|
|
/// <returns>新杂志ID</returns>
|
|
Task<BaseResponse<long>> AddAsync(JournalAddDto input);
|
|
|
|
/// <summary>
|
|
/// 编辑
|
|
/// </summary>
|
|
/// <param name="input"></param>
|
|
/// <returns></returns>
|
|
Task<BaseResponse<bool>> EditAsync(JournalEditDto input);
|
|
|
|
Task<List<JournalTaskOutput>> Tasks(long id);
|
|
|
|
Task<JournalDto> DetailAsync(long id);
|
|
|
|
Task<bool> DeleteAsync(List<long> id);
|
|
|
|
|
|
Task<bool> StartPageAsync(long Id, int Index);
|
|
|
|
Task<bool> StatusAsync(long id, JournalStatusEnum status);
|
|
|
|
Task<bool> PublishAsync(long id);
|
|
|
|
Task<DotMatrixOutput> PrintCodeAsync(long id);
|
|
|
|
Task<bool> ResultReportAsync(DotMatrixNoteJournalReportInput input);
|
|
}
|