using System.Text.Json.Serialization;
namespace LearningOfficer.OA.Common.Dtos.RabbitMQ
{
///
/// RabbitMQ 消息传输对象 - 用于持续监听场景
///
public class RabbitMQMessageDto
{
///
/// 消息唯一标识符 (Id)不传则由系统生成
///
public long? Id { get; set; }
///
/// 消息类型 (业务标识)
/// im.push
///
public RabbitMQMessageTypeEnum MessageType { get; set; }
///
/// 交换机名称
///
public string ExchangeName { get; set; } = "oa_junior_exchange";
///
/// 路由键
///
public string RoutingKey { get; set; } = "oa.junior.routing";
///
/// 消息数据 (泛型数据容器)
///
public object Data { get; set; } = new object();
///
/// 消息创建时间 (UTC)
///
public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
///
/// 关联ID (用于消息关联追踪)
///
public string CorrelationId { get; set; } = string.Empty;
}
///
/// 业务消息类型枚举
///
public enum RabbitMQMessageTypeEnum
{
///
/// Im消息
///
[EnumDescription("im推送消息")]
IMMsg =1,
}
}