package cn.com.poc.agent_application.service;

import cn.com.poc.agent_application.query.AgentApplicationDialoguesRecordQueryItem;
import cn.com.poc.agent_application.query.DialogsIdsQueryByAgentIdQueryItem;
import cn.com.poc.agent_application.query.MemberDialoguesQueryItem;
import cn.com.yict.framemax.core.service.BaseService;
import cn.com.poc.agent_application.entity.BizAgentApplicationDialoguesRecordEntity;
import cn.com.yict.framemax.data.model.PagingInfo;

import java.util.List;

public interface BizAgentApplicationDialoguesRecordService extends BaseService {

    BizAgentApplicationDialoguesRecordEntity get(java.lang.Long id) throws Exception;

    List<BizAgentApplicationDialoguesRecordEntity> findByExample(BizAgentApplicationDialoguesRecordEntity example, PagingInfo pagingInfo) throws Exception;

    List<BizAgentApplicationDialoguesRecordEntity> findByExample(BizAgentApplicationDialoguesRecordEntity example) throws Exception;

    BizAgentApplicationDialoguesRecordEntity save(BizAgentApplicationDialoguesRecordEntity entity) throws Exception;

    BizAgentApplicationDialoguesRecordEntity update(BizAgentApplicationDialoguesRecordEntity entity) throws Exception;

    void deletedById(java.lang.Long id);

    List<DialogsIdsQueryByAgentIdQueryItem> queryDialogsIds(String agentId);

    /**
     * 获取用户的对话【组】
     *
     * @param memberId 用户id
     * @return
     */
    List<MemberDialoguesQueryItem> memberDialoguesQuery(Long memberId, PagingInfo pagingInfo);

    /**
     * 批量删除会话记录
     */
    boolean batchDeleteByDialogueId(List<String> dialogueIds);

    /**
     * 获取对话记录
     */
    List<AgentApplicationDialoguesRecordQueryItem> getDialogueRecord(String dialogueId, PagingInfo pagingInfo);

}