feat(journal): add journal publish feature

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
This commit is contained in:
glz
2026-06-30 11:03:39 +08:00
parent fa1acec8af
commit 6985a4af42
6 changed files with 133 additions and 60 deletions

View File

@ -120,8 +120,33 @@ namespace QYZH.InteractiveMagazine.Models.Dto.Journal
/// </summary>
public string? DownloadJournalPagePdfName { get; set; }
/// <summary>
/// 发布开始时间
/// </summary>
public DateTime? StartTime { get; set; }
/// <summary>
/// 发布结束时间
/// </summary>
public DateTime? EndTime { get; set; }
public string CreatedBy { get; set; }
public DateTime CreatedAt { get; set; }
}
public class JournalPublishBookMessage
{
public long BookId { get; set; }
public DateTime StartTime { get; set; }
public DateTime EndTime { get; set; }
}
public class JournalPublishBookPageMessage
{
public long BookId { get; set; }
public long PageId { get; set; }
public string? PageNo { get; set; }
public string? Layout { get; set; }
}
}

View File

@ -69,6 +69,16 @@ namespace QYZH.InteractiveMagazine.Models.Dto.Journal
/// </summary>
public string? PdfPreviewUrl { get; set; }
/// <summary>
/// Desc:发布开始时间
/// </summary>
public DateTime? StartTime { get; set; }
/// <summary>
/// Desc:发布结束时间
/// </summary>
public DateTime? EndTime { get; set; }
}
public partial class JournalEditDto: JournalAddDto
{

View File

@ -106,6 +106,20 @@ namespace QYZH.InteractiveMagazine.Models.Entity
/// </summary>
public string DownloadJournalPagePdfName { get; set; }
/// <summary>
/// Desc:发布日期开始时间
/// Default:
/// Nullable:True
/// </summary>
public DateTime? StartTime { get; set; }
/// <summary>
/// Desc:发布日期结束时间
/// Default:
/// Nullable:True
/// </summary>
public DateTime? EndTime { get; set; }
/// <summary>
/// Desc:书籍描述/简介