content: package com.sohu.cache.dao;
  
  import com.sohu.cache.entity.InstanceSlowLog;
  
  import java.util.Date;
  import java.util.List;
  import java.util.Map;
  
  import org.apache.ibatis.annotations.Param;
  
  /**
   * 实例慢查询dao
   * 
   * @author leifu
   * @Date 2016年2月22日
   * @Time 下午1:48:43
   */
  public interface InstanceSlowLogDao {
  
      /**
       * 批量报错实例慢查询
       * @param instanceSlowLogList
       */
      int batchSave(@Param("instanceSlowLogList") List<InstanceSlowLog> instanceSlowLogList);
  
      /**
       * 按照应用id获取慢查询列表
       * @param appId
       * @return
       */
      List<InstanceSlowLog> getByAppId(@Param("appId") long appId);
  
      /**
       * 搜索慢查询日志
       * @param appId
       * @param startTime
       * @param endTime
       * @param limit
       * @return
       */
      List<InstanceSlowLog> search(@Param("appId") long appId, @Param("startDate") Date startDate, @Param("endDate") Date endDate);
  
      /**
       * 
       * @param appId
       * @param startDate
       * @param endDate
       * @return
       */
      List<Map<String, Object>> getInstanceSlowLogCountMapByAppId(@Param("appId") long appId, @Param("startDate") Date startDate, @Param("endDate") Date endDate);
      
      
      /**
       * 获取指定日期慢查询个数
       * @param appId
       * @param startDate
       * @param endDate
       * @return
       */
      int getAppSlowLogCount(@Param("appId") long appId, @Param("startDate") Date startDate, @Param("endDate") Date endDate);
      
      
  }
  