refactor: 重构RabbitMQ消费者体系,新增自动铺码功能
1. 新增AutoDotCodeConsumer自动铺码消费者,实现统一的交换机路由绑定 2. 重构RabbitMQ接收方法,支持交换机、路由键配置,添加死信队列处理 3. 重构现有JournalTaskReceiveConsumer,使用标准交换机路由配置 4. 更新JournalPageService,将打印逻辑替换为自动铺码消息发送 5. 调整枚举类型,重构任务类型命名 6. 更新实体和DTO,新增Prompt相关字段 7. 添加PrintToolV2.7配套工具和文档 8. 清理冗余的PrintJournalPageAsync接口
This commit is contained in:
@ -0,0 +1,39 @@
|
||||
using System.Text;
|
||||
|
||||
namespace QYZH.InteractiveMagazine.WorkService.Consumers;
|
||||
|
||||
/// <summary>
|
||||
/// 自动铺码消费者
|
||||
/// </summary>
|
||||
public class AutoDotCodeConsumer : IQueueConsumer
|
||||
{
|
||||
private readonly ILogger<AutoDotCodeConsumer> _logger;
|
||||
|
||||
public AutoDotCodeConsumer(ILogger<AutoDotCodeConsumer> logger)
|
||||
{
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
public string Exchange => "ex.journal";
|
||||
|
||||
public string QueueName => "mq.journal.dotcode.auto";
|
||||
|
||||
public string RoutingKey => "rk.journal.dotcode.auto";
|
||||
|
||||
public async Task HandleAsync(byte[] message)
|
||||
{
|
||||
var body = Encoding.UTF8.GetString(message);
|
||||
_logger.LogInformation("收到自动铺码消息: {Message}", body);
|
||||
|
||||
// TODO: 在此编写具体的铺码处理逻辑
|
||||
|
||||
await Task.CompletedTask;
|
||||
}
|
||||
|
||||
public Task OnErrorAsync(byte[] message, Exception exception)
|
||||
{
|
||||
var body = Encoding.UTF8.GetString(message);
|
||||
_logger.LogError(exception, "处理自动铺码消息失败: {Message}", body);
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user