Files
QYZH.InteractiveMagazine/QYZH.InteractiveMagazine.WorkService/Consumers/JournalTaskReceiveConsumer.cs
glz d9933e4537 refactor: 重构RabbitMQ消费者体系,新增自动铺码功能
1. 新增AutoDotCodeConsumer自动铺码消费者,实现统一的交换机路由绑定
2. 重构RabbitMQ接收方法,支持交换机、路由键配置,添加死信队列处理
3. 重构现有JournalTaskReceiveConsumer,使用标准交换机路由配置
4. 更新JournalPageService,将打印逻辑替换为自动铺码消息发送
5. 调整枚举类型,重构任务类型命名
6. 更新实体和DTO,新增Prompt相关字段
7. 添加PrintToolV2.7配套工具和文档
8. 清理冗余的PrintJournalPageAsync接口
2026-06-22 16:56:05 +08:00

40 lines
1.1 KiB
C#

using System.Text;
namespace QYZH.InteractiveMagazine.WorkService.Consumers;
/// <summary>
/// 期刊任务接收消费者(示例)
/// </summary>
public class JournalTaskReceiveConsumer : IQueueConsumer
{
private readonly ILogger<JournalTaskReceiveConsumer> _logger;
public JournalTaskReceiveConsumer(ILogger<JournalTaskReceiveConsumer> logger)
{
_logger = logger;
}
public string Exchange => "ex.journal";
public string QueueName => "mq.journal.task.receive";
public string RoutingKey => "rk.journal.task.receive";
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;
}
}