package cn.com.poc.data_analyze.service;

import cn.com.poc.data_analyze.query.*;
import cn.com.yict.framemax.core.service.BaseService;
import cn.com.poc.data_analyze.entity.BizDataAnalyzeDialogueRecordEntity;
import cn.com.yict.framemax.data.model.PagingInfo;

import java.util.List;

public interface BizDataAnalyzeDialogueRecordService extends BaseService {

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

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

    BizDataAnalyzeDialogueRecordEntity save(BizDataAnalyzeDialogueRecordEntity entity) throws Exception;

    BizDataAnalyzeDialogueRecordEntity update(BizDataAnalyzeDialogueRecordEntity entity) throws Exception;

    void deletedById(java.lang.Long id) throws Exception;

    List<AgentUsageQueryItem> agentUsageQuery(AgentUsageQueryCondition condition, PagingInfo pagingInfo);

    List<AgentDataTrendQueryItem> agentDataTrendQuery(AgentDataTrendQueryCondition condition, PagingInfo pagingInfo);

    List<ChannelUserCountQueryItem> channelUserCountQuery(ChannelUserCountQueryCondition condition, PagingInfo pagingInfo);

    List<ChannelUsageCountQueryItem> channelUsageCountQuery(ChannelUsageCountQueryCondition condition, PagingInfo pagingInfo);

    Long memberUsageCount(Long memberId);

    List<MemberAgentUsageDetailsQueryItem> memberAgentUsageDetailsQuery(MemberAgentUsageDetailsQueryCondition condition, PagingInfo pagingInfo);

}