package tech.easyflow.chatlog.domain.dto;

import java.io.Serializable;
import java.math.BigInteger;
import java.util.Date;
import java.util.Map;

public class ChatMessageRecord implements Serializable {

    private BigInteger id;
    private BigInteger sessionId;
    private BigInteger userId;
    private BigInteger assistantId;
    private BigInteger senderId;
    private String senderName;
    private String senderRole;
    private String contentType;
    private String contentText;
    private Map<String, Object> contentPayload;
    private BigInteger roundId;
    private Integer roundNo;
    private String messageKind;
    private Integer variantIndex;
    private Integer variantCount;
    private Integer selectedVariantIndex;
    private Boolean switchable;
    private Date created;
    private BigInteger createdBy;
    private Long syncVersion;

    public BigInteger getId() {
        return id;
    }

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

    public BigInteger getSessionId() {
        return sessionId;
    }

    public void setSessionId(BigInteger sessionId) {
        this.sessionId = sessionId;
    }

    public BigInteger getUserId() {
        return userId;
    }

    public void setUserId(BigInteger userId) {
        this.userId = userId;
    }

    public BigInteger getAssistantId() {
        return assistantId;
    }

    public void setAssistantId(BigInteger assistantId) {
        this.assistantId = assistantId;
    }

    public BigInteger getSenderId() {
        return senderId;
    }

    public void setSenderId(BigInteger senderId) {
        this.senderId = senderId;
    }

    public String getSenderName() {
        return senderName;
    }

    public void setSenderName(String senderName) {
        this.senderName = senderName;
    }

    public String getSenderRole() {
        return senderRole;
    }

    public void setSenderRole(String senderRole) {
        this.senderRole = senderRole;
    }

    public String getContentType() {
        return contentType;
    }

    public void setContentType(String contentType) {
        this.contentType = contentType;
    }

    public String getContentText() {
        return contentText;
    }

    public void setContentText(String contentText) {
        this.contentText = contentText;
    }

    public Map<String, Object> getContentPayload() {
        return contentPayload;
    }

    public void setContentPayload(Map<String, Object> contentPayload) {
        this.contentPayload = contentPayload;
    }

    public BigInteger getRoundId() {
        return roundId;
    }

    public void setRoundId(BigInteger roundId) {
        this.roundId = roundId;
    }

    public Integer getRoundNo() {
        return roundNo;
    }

    public void setRoundNo(Integer roundNo) {
        this.roundNo = roundNo;
    }

    public String getMessageKind() {
        return messageKind;
    }

    public void setMessageKind(String messageKind) {
        this.messageKind = messageKind;
    }

    public Integer getVariantIndex() {
        return variantIndex;
    }

    public void setVariantIndex(Integer variantIndex) {
        this.variantIndex = variantIndex;
    }

    public Integer getVariantCount() {
        return variantCount;
    }

    public void setVariantCount(Integer variantCount) {
        this.variantCount = variantCount;
    }

    public Integer getSelectedVariantIndex() {
        return selectedVariantIndex;
    }

    public void setSelectedVariantIndex(Integer selectedVariantIndex) {
        this.selectedVariantIndex = selectedVariantIndex;
    }

    public Boolean getSwitchable() {
        return switchable;
    }

    public void setSwitchable(Boolean switchable) {
        this.switchable = switchable;
    }

    public Date getCreated() {
        return created;
    }

    public void setCreated(Date created) {
        this.created = created;
    }

    public BigInteger getCreatedBy() {
        return createdBy;
    }

    public void setCreatedBy(BigInteger createdBy) {
        this.createdBy = createdBy;
    }

    public Long getSyncVersion() {
        return syncVersion;
    }

    public void setSyncVersion(Long syncVersion) {
        this.syncVersion = syncVersion;
    }
}
