package com.ruoyi.web.modules.diagnosis.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 问诊消息 biz_consult_message
 */
public class BizConsultMessage extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    private Long id;

    private Long sessionId;

    private Integer senderRole;

    private Long senderUserId;

    private String senderName;

    private Integer msgType;

    private String content;

    private Integer mediaDuration;

    /** AI 提问分类，可为空（最长 32 字符） */
    private String aiCategory;

    /** 大模型对话耗时（毫秒），可为空 */
    private Long costTime;

    /** 提问人所属 IP（仅提问人消息 sender_role=1 且 AI 诊断提问时写入） */
    private String askerIp;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date sendTime;

    public Long getId()
    {
        return id;
    }

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

    public Long getSessionId()
    {
        return sessionId;
    }

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

    public Integer getSenderRole()
    {
        return senderRole;
    }

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

    public Long getSenderUserId()
    {
        return senderUserId;
    }

    public void setSenderUserId(Long senderUserId)
    {
        this.senderUserId = senderUserId;
    }

    public String getSenderName()
    {
        return senderName;
    }

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

    public Integer getMsgType()
    {
        return msgType;
    }

    public void setMsgType(Integer msgType)
    {
        this.msgType = msgType;
    }

    public String getContent()
    {
        return content;
    }

    public void setContent(String content)
    {
        this.content = content;
    }

    public Integer getMediaDuration()
    {
        return mediaDuration;
    }

    public void setMediaDuration(Integer mediaDuration)
    {
        this.mediaDuration = mediaDuration;
    }

    public String getAiCategory()
    {
        return aiCategory;
    }

    public void setAiCategory(String aiCategory)
    {
        this.aiCategory = aiCategory;
    }

    public Long getCostTime()
    {
        return costTime;
    }

    public void setCostTime(Long costTime)
    {
        this.costTime = costTime;
    }

    public String getAskerIp()
    {
        return askerIp;
    }

    public void setAskerIp(String askerIp)
    {
        this.askerIp = askerIp;
    }

    public Date getSendTime()
    {
        return sendTime;
    }

    public void setSendTime(Date sendTime)
    {
        this.sendTime = sendTime;
    }
}
