package cn.nianxx.thhotel.platform.message.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.time.LocalDateTime;

/**
 * 来源消息原始载荷实体。该表用于追溯和排查，不通过普通查询接口返回。
 */
@TableName("platform_source_message_payload")
public class SourceMessagePayloadEntity {

    /** 原始 payload 记录内部主键。 */
    @TableId(type = IdType.ASSIGN_ID)
    private Long id;
    /** 所属 SourceMessage Inbox ID。 */
    private Long inboxId;
    /** AgentBus 规范 JSON 原始载荷，普通查询接口不得返回。 */
    private String payloadJson;
    /** payloadJson 的 SHA-256 哈希。 */
    private String payloadSha256;
    /** payload 结构版本，用于后续兼容不同外部协议版本。 */
    private String schemaVersion;
    /** 记录创建 UTC 时间。 */
    private LocalDateTime createdAt;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getInboxId() {
        return inboxId;
    }

    public void setInboxId(Long inboxId) {
        this.inboxId = inboxId;
    }

    public String getPayloadJson() {
        return payloadJson;
    }

    public void setPayloadJson(String payloadJson) {
        this.payloadJson = payloadJson;
    }

    public String getPayloadSha256() {
        return payloadSha256;
    }

    public void setPayloadSha256(String payloadSha256) {
        this.payloadSha256 = payloadSha256;
    }

    public String getSchemaVersion() {
        return schemaVersion;
    }

    public void setSchemaVersion(String schemaVersion) {
        this.schemaVersion = schemaVersion;
    }

    public LocalDateTime getCreatedAt() {
        return createdAt;
    }

    public void setCreatedAt(LocalDateTime createdAt) {
        this.createdAt = createdAt;
    }
}
