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

import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.ruoyi.web.modules.diagnosis.domain.BizConsultSession;

/**
 * 问诊会话 Mapper。
 */
public interface BizConsultSessionMapper
{
    List<BizConsultSession> selectVetSessionList(BizConsultSession query);

    List<BizConsultSession> selectAskerSessionList(BizConsultSession query);

    BizConsultSession selectVetSessionByIdAndProvider(@Param("id") Long id, @Param("receiverProviderId") Long receiverProviderId);

    BizConsultSession selectVetSessionByAskerAndProvider(@Param("askerUserId") Long askerUserId,
            @Param("receiverProviderId") Long receiverProviderId);

    BizConsultSession selectSessionByIdAndAsker(@Param("id") Long id, @Param("askerUserId") Long askerUserId);

    int insertBizConsultSession(BizConsultSession row);

    int updateSessionLastMessage(BizConsultSession row);

    int updateVetVisible(@Param("id") Long id, @Param("askerUserId") Long askerUserId,
            @Param("vetVisible") Integer vetVisible);

    List<BizConsultSession> selectAiSessionList(BizConsultSession query);

    BizConsultSession selectAiSessionById(@Param("id") Long id);

    BizConsultSession selectAiSessionByIdAndAsker(@Param("id") Long id, @Param("askerUserId") Long askerUserId);

    int updateSessionVisible(@Param("id") Long id, @Param("askerUserId") Long askerUserId,
            @Param("consultType") Integer consultType, @Param("vetVisible") Integer vetVisible);

    int updateRealSessionId(@Param("id") Long id, @Param("realSessionId") String realSessionId);
}
