package com.ruoyi.llm.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * cmc聊天记录对象 cmc_chat
 * 
 * @author cmc
 * @date 2025-04-08
 */
public class CmcChat extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 聊天记录id */
    private String chatId;

    /** 聊天主题id */
    @Excel(name = "聊天主题id")
    private String topicId;

    /** 用户id */
    @Excel(name = "用户id")
    private Long userId;

    /** 输入 */
    @Excel(name = "输入")
    private String input;

    /** 输入时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "输入时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date inputTime;

    /** 输出 */
    @Excel(name = "输出")
    private String output;

    /** 输出时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "输出时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date outputTime;

    public void setChatId(String chatId) 
    {
        this.chatId = chatId;
    }

    public String getChatId() 
    {
        return chatId;
    }
    public void setTopicId(String topicId) 
    {
        this.topicId = topicId;
    }

    public String getTopicId() 
    {
        return topicId;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setInput(String input) 
    {
        this.input = input;
    }

    public String getInput() 
    {
        return input;
    }
    public void setInputTime(Date inputTime) 
    {
        this.inputTime = inputTime;
    }

    public Date getInputTime() 
    {
        return inputTime;
    }
    public void setOutput(String output) 
    {
        this.output = output;
    }

    public String getOutput() 
    {
        return output;
    }
    public void setOutputTime(Date outputTime) 
    {
        this.outputTime = outputTime;
    }

    public Date getOutputTime() 
    {
        return outputTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("chatId", getChatId())
            .append("topicId", getTopicId())
            .append("userId", getUserId())
            .append("input", getInput())
            .append("inputTime", getInputTime())
            .append("output", getOutput())
            .append("outputTime", getOutputTime())
            .toString();
    }
}
