package org.xyzh.common.dto.ai;

import org.xyzh.common.dto.BaseDTO;
import java.util.Date;

/**
 * @description 对话会话表
 * @filename TbAiConversation.java
 * @author yslg
 * @copyright xyzh
 * @since 2025-10-15
 */
public class TbAiConversation extends BaseDTO {
    
    private static final long serialVersionUID = 1L;
    
    /**
     * @description 用户ID
     */
    private String userID;
    
    /**
     * @description 智能体ID
     */
    private String agentID;
    
    /**
     * @description 会话标题
     */
    private String title;
    
    /**
     * @description 对话摘要（AI自动生成）
     */
    private String summary;
    
    /**
     * @description Dify会话ID
     */
    private String difyConversationId;
    
    /**
     * @description 状态（0已结束 1进行中）
     */
    private Integer status;
    
    /**
     * @description 是否收藏（0否 1是）
     */
    private Boolean isFavorite;
    
    /**
     * @description 是否置顶（0否 1是）
     */
    private Boolean isPinned;
    
    /**
     * @description 消息数量
     */
    private Integer messageCount;
    
    /**
     * @description 总Token消耗
     */
    private Integer totalTokens;
    
    /**
     * @description 最后消息时间
     */
    private Date lastMessageTime;

    public String getUserID() {
        return userID;
    }

    public void setUserID(String userID) {
        this.userID = userID;
    }

    public String getAgentID() {
        return agentID;
    }

    public void setAgentID(String agentID) {
        this.agentID = agentID;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getSummary() {
        return summary;
    }

    public void setSummary(String summary) {
        this.summary = summary;
    }

    public String getDifyConversationId() {
        return difyConversationId;
    }

    public void setDifyConversationId(String difyConversationId) {
        this.difyConversationId = difyConversationId;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Boolean getIsFavorite() {
        return isFavorite;
    }

    public void setIsFavorite(Boolean isFavorite) {
        this.isFavorite = isFavorite;
    }

    public Boolean getIsPinned() {
        return isPinned;
    }

    public void setIsPinned(Boolean isPinned) {
        this.isPinned = isPinned;
    }

    public Integer getMessageCount() {
        return messageCount;
    }

    public void setMessageCount(Integer messageCount) {
        this.messageCount = messageCount;
    }

    public Integer getTotalTokens() {
        return totalTokens;
    }

    public void setTotalTokens(Integer totalTokens) {
        this.totalTokens = totalTokens;
    }

    public Date getLastMessageTime() {
        return lastMessageTime;
    }

    public void setLastMessageTime(Date lastMessageTime) {
        this.lastMessageTime = lastMessageTime;
    }

    @Override
    public String toString() {
        return "TbAiConversation{" +
                "id=" + getID() +
                ", userID='" + userID + '\'' +
                ", title='" + title + '\'' +
                ", status=" + status +
                ", messageCount=" + messageCount +
                ", lastMessageTime=" + lastMessageTime +
                '}';
    }
}
