content: package com.sohu.cache.dao;
  
  import com.sohu.cache.entity.InstanceInfo;
  import com.sohu.cache.entity.InstanceStats;
  import com.sohu.cache.entity.MachineStats;
  
  import org.apache.ibatis.annotations.Param;
  
  import java.util.List;
  
  /**
   * Created by yijunzhang on 14-6-25.
   */
  public interface MachineStatsDao {
  
      /**
       * 插入或更新machineInfo
       */
      public void mergeMachineStats(MachineStats machineStats);
  
      /**
       * 查询机器下的所有实例的信息
       *
       * @param ip
       * @return
       */
      public List<InstanceInfo> getInstInfoOfMachine(@Param("ip") String ip);
  
      /**
       * 查询ip所在的机器的最新状态信息
       *
       * @param ip    ip
       * @return      机器的最新状态
       */
      public MachineStats getMachineStatsByIp(@Param("ip") String ip);
  
      /**
       * 根据机器的hostId查询机器的最新状态信息
       *
       * @param hostId
       * @return
       */
      public MachineStats getMachineStatsByHostId(@Param("hostId") long hostId);
  
      /**
       * 查询机器下的所有实例的最新状态信息
       *
       * @param hostId    机器的hostId
       * @return          该机器下所有实例的最新统计状态
       */
      public List<InstanceStats> getInstStatOfMachine(@Param("hostId") long hostId);
  
      /**
       * 分页查询机器统计
       * @param ipLike
       * @return
       */
      public List<MachineStats> getMachineStats(@Param("ipLike") String ipLike);
  
      /**
       * 获取全部机器统计
       * @return
       */
      public List<MachineStats> getAllMachineStats();
  
      /**
       * 删除机器统计信息
       * @param ip
       * @return
       */
      public void deleteMachineStatsByIp(@Param("ip") String ip);
      
  }
  