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, } }