package org.jk.rag.mapper;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.jk.rag.domain.dto.JkDialogDetailReqDTO;
import org.jk.rag.domain.dto.JkDialogReqDTO;
import org.jk.rag.domain.dto.JkDialogRespDTO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 高井 对话消息头表信息
 *
 * @author takai
 */
public interface JkDialogMapper
{

    List<JkDialogRespDTO> selectDialogDetail(String dialogId);

    List<JkDialogRespDTO> selectDialog(@Param("appId") String appId, @Param("userId") String userId);

    Page<JkDialogRespDTO> selectDialogPage(@Param("appId") String appId, @Param("userId") String userId,@Param("page")Page page);

    List<JkDialogRespDTO> selectDialogExport(String appId);

    /**
     * 查询消息信息
     * @return 消息信息
     */
    public List<JkDialogRespDTO> selectDialogList(@Param("appId") String appId, @Param("userId") String userId);


    /**
     * 查询对话消息头表信息
     * @param dialogId
     * @return
     */
    public JkDialogRespDTO selectDialogById(String dialogId);

    /**
     * 查询对话消息明细表信息
     * @param dialogId
     * @return
     */
    public JkDialogRespDTO selectDialogDetailById(String dialogId);


    /**
     * 新增对话消息头表信息
     *
     * @param dto
     * @return 结果
     */
    public void insertDialog(JkDialogReqDTO dto);

    /**
     * 新增对话消息头表信息
     *
     * @param dialogId
     * @return 结果
     */
    public void insertDialogDetail(JkDialogDetailReqDTO dialogId);

    int delDialog(String id);

    int delDialogDetail(String dialogId);

    void updateDialog(JkDialogReqDTO dialogReqDTO);

    List<JkDialogRespDTO> selectDialogListByAppId(String appId);

    List<JkDialogRespDTO> selectDialog(String appId);

}
