59 lines
1.5 KiB
C#
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,
|
|
}
|
|
} |