Quanxue.Zhanghao.Daochu/LearningOfficer.OA.Common/Dtos/RabbitMQ/RabbitMQMessageDto.cs

59 lines
1.5 KiB
C#

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