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

import java.util.List;
import com.ruoyi.web.modules.diagnosis.domain.AiConsultOpenBody;
import com.ruoyi.web.modules.diagnosis.domain.AiConsultSendResult;
import com.ruoyi.web.modules.diagnosis.domain.AiConsultSessionView;
import com.ruoyi.web.modules.diagnosis.domain.BizConsultMessage;
import com.ruoyi.web.modules.diagnosis.domain.BizConsultSession;
import com.ruoyi.web.modules.diagnosis.domain.VetConsultSendBody;

/**
 * AI 诊断（兽医、机构）服务。
 */
public interface IBizAiOnlineConsultService
{
    List<BizConsultSession> selectAiSessionList(BizConsultSession query, Long sysUserId);

    AiConsultSessionView createAiSession(Long askerUserId, String askerName, AiConsultOpenBody body);

    List<BizConsultMessage> selectSessionMessages(Long sessionId, Long beforeId, Integer pageSize, Long askerUserId);

    AiConsultSendResult sendAiMessage(Long sessionId, VetConsultSendBody body, Long askerUserId, String askerName,
            String askerIp);

    /** 提问人隐藏 AI 诊断会话（管理端/移动端共用，{@code vet_visible=0}）。 */
    int hideSession(Long sessionId, Long askerUserId);
}
