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

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

/**
 * 问诊会话 biz_consult_session
 */
public class BizConsultSession extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    private Long id;

    private Integer consultType;

    private Long askerUserId;

    private String askerName;

    private Long receiverUserId;

    private Long receiverProviderId;

    private String receiverName;

    private String sessionTitle;

    /** 大模型网关返回的实际会话 ID（session_id），可为空 */
    private String realSessionId;

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

    private String lastMessagePreview;

    private Integer vetVisible;

    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String askerAvatar;

    /** 列表筛选：问诊人姓名 */
    private String askerNameFilter;

    /** 列表筛选：会话内容关键字 */
    private String contentKeyword;

    /** true=点击搜索，可查超 3 个月 */
    private Boolean searchMode;

    /** 查询注入：3 个月边界 */
    private Date threeMonthsAgo;

    public Long getId()
    {
        return id;
    }

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

    public Integer getConsultType()
    {
        return consultType;
    }

    public void setConsultType(Integer consultType)
    {
        this.consultType = consultType;
    }

    public Long getAskerUserId()
    {
        return askerUserId;
    }

    public void setAskerUserId(Long askerUserId)
    {
        this.askerUserId = askerUserId;
    }

    public String getAskerName()
    {
        return askerName;
    }

    public void setAskerName(String askerName)
    {
        this.askerName = askerName;
    }

    public Long getReceiverUserId()
    {
        return receiverUserId;
    }

    public void setReceiverUserId(Long receiverUserId)
    {
        this.receiverUserId = receiverUserId;
    }

    public Long getReceiverProviderId()
    {
        return receiverProviderId;
    }

    public void setReceiverProviderId(Long receiverProviderId)
    {
        this.receiverProviderId = receiverProviderId;
    }

    public String getReceiverName()
    {
        return receiverName;
    }

    public void setReceiverName(String receiverName)
    {
        this.receiverName = receiverName;
    }

    public String getSessionTitle()
    {
        return sessionTitle;
    }

    public void setSessionTitle(String sessionTitle)
    {
        this.sessionTitle = sessionTitle;
    }

    public String getRealSessionId()
    {
        return realSessionId;
    }

    public void setRealSessionId(String realSessionId)
    {
        this.realSessionId = realSessionId;
    }

    public Date getLastMessageTime()
    {
        return lastMessageTime;
    }

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

    public String getLastMessagePreview()
    {
        return lastMessagePreview;
    }

    public void setLastMessagePreview(String lastMessagePreview)
    {
        this.lastMessagePreview = lastMessagePreview;
    }

    public Integer getVetVisible()
    {
        return vetVisible;
    }

    public void setVetVisible(Integer vetVisible)
    {
        this.vetVisible = vetVisible;
    }

    public String getAskerAvatar()
    {
        return askerAvatar;
    }

    public void setAskerAvatar(String askerAvatar)
    {
        this.askerAvatar = askerAvatar;
    }

    public String getAskerNameFilter()
    {
        return askerNameFilter;
    }

    public void setAskerNameFilter(String askerNameFilter)
    {
        this.askerNameFilter = askerNameFilter;
    }

    public String getContentKeyword()
    {
        return contentKeyword;
    }

    public void setContentKeyword(String contentKeyword)
    {
        this.contentKeyword = contentKeyword;
    }

    public Boolean getSearchMode()
    {
        return searchMode;
    }

    public void setSearchMode(Boolean searchMode)
    {
        this.searchMode = searchMode;
    }

    public Date getThreeMonthsAgo()
    {
        return threeMonthsAgo;
    }

    public void setThreeMonthsAgo(Date threeMonthsAgo)
    {
        this.threeMonthsAgo = threeMonthsAgo;
    }
}
