refactor: 重构RabbitMQ消费者体系,新增自动铺码功能
1. 新增AutoDotCodeConsumer自动铺码消费者,实现统一的交换机路由绑定 2. 重构RabbitMQ接收方法,支持交换机、路由键配置,添加死信队列处理 3. 重构现有JournalTaskReceiveConsumer,使用标准交换机路由配置 4. 更新JournalPageService,将打印逻辑替换为自动铺码消息发送 5. 调整枚举类型,重构任务类型命名 6. 更新实体和DTO,新增Prompt相关字段 7. 添加PrintToolV2.7配套工具和文档 8. 清理冗余的PrintJournalPageAsync接口
This commit is contained in:
@ -108,20 +108,7 @@ public class JournalPageService(BaseRepository<Journal> JournalRepository,
|
||||
/// <returns></returns>
|
||||
public async Task<bool> UpdatePageNoAsync(long JournalId)
|
||||
{
|
||||
//这里不能修改 Exchange = "icr.direct" 否则会报错
|
||||
var msRes = await rabbitMqService.SendAsync(new RabbitMQSendParam { Exchange = "icr.direct", Queue = "mq.Journal.updatePageNo.queue", RoutingKey = "mq.Journal.updatePageNo", Data = JournalId });//发生消息
|
||||
return msRes;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 打印书页(全部)
|
||||
/// </summary>
|
||||
/// <param name="JournalId"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<bool> PrintJournalPageAsync(long JournalId)
|
||||
{
|
||||
//这里不能修改 Exchange = "icr.direct" 否则会报错
|
||||
var msRes = await rabbitMqService.SendAsync(new RabbitMQSendParam { Exchange = "icr.direct", Queue = "mq.Journal.printJournalPage.queue", RoutingKey = "mq.Journal.printJournalPage", Data = JournalId });//发生消息
|
||||
var msRes = await rabbitMqService.SendAsync(new RabbitMQSendParam { Exchange = "ex.journal", Queue = "mq.journal.dotcode.auto", RoutingKey = "rk.journal.dotcode.auto", Data = JournalId });//发生消息
|
||||
return msRes;
|
||||
}
|
||||
|
||||
|
||||
@ -66,6 +66,7 @@ public class JournalPageTaskService(BaseRepository<Journal> journalRepository, O
|
||||
task.Expression = input.Expression;
|
||||
task.Persuasiveness = input.Persuasiveness;
|
||||
task.AnswerTime = input.AnswerTime;
|
||||
|
||||
|
||||
var no = input.No.Split('-').Select(int.Parse).ToArray();
|
||||
if (no.Last() >= 2)
|
||||
|
||||
@ -18,6 +18,7 @@ namespace QYZH.InteractiveMagazine.Service;
|
||||
|
||||
public class JournalService(BaseRepository<JournalPage> JournalPageRepository,
|
||||
BaseRepository<JournalPageTask> JournalPageTaskRepository,
|
||||
BaseRepository<JournalCatalog> JournalCatalogRepository,
|
||||
BaseRepository<DotFile> dotFileRepository,
|
||||
BaseRepository<DotFileDetail> dotFileDetailRepository, OssService ossService, ILogger<JournalService> logger) : BaseRepository<Journal>, IJournalService
|
||||
{
|
||||
@ -208,6 +209,7 @@ public class JournalService(BaseRepository<JournalPage> JournalPageRepository,
|
||||
{
|
||||
await base.DeleteAsync(d => ids.Contains(d.Id));
|
||||
await JournalPageRepository.DeleteAsync(d => ids.Contains(d.JournalId));
|
||||
await JournalCatalogRepository.DeleteAsync(d => ids.Contains(d.JournalId));
|
||||
await JournalPageTaskRepository.DeleteAsync(d => ids.Contains(d.JournalId));
|
||||
return true;
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user