package com.njcn.energy.service;


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.energy.pojo.param.NetDevParam;
import com.njcn.energy.pojo.po.NetDev;
import com.njcn.energy.pojo.vo.NetDevInfoVO;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author cdf
 * @since 2022-02-22
 */
public interface INetDevService extends IService<NetDev> {



     /**
      * 根据前台传递参数，分页查询网关数据
      * @param queryParam 查询参数
      * @return 网关设备列表
      */
     Page<NetDev> listNetDev(NetDevParam.NetDevQueryParam queryParam);

     /**
      * 新增网关设备
      *
      * @param netDevParam 网关设备数据
      * @return 操作结果
      */
     boolean addNetDev(NetDevParam netDevParam);

     /**
      * 修改网关设备
      *
      * @param updateParam 网关设备数据
      * @return 操作结果
      */
     boolean updateNetDev(NetDevParam.NetDevUpdateParam updateParam);

     /**
      * 批量逻辑删除网关设备数据
      * @param ids ids
      * @return 操作结果
      */
     boolean deleteNetDev(List<String> ids);

     /**
      * 根据ndid获取网关信息
      * @param ndid ndid
      * @return NetDev
      */
     NetDev findByNdid(String ndid);

     /**
      * 获取网关详细信息
      * @author cdf
      * @date 2022/3/28
      */
     NetDevInfoVO getNetDevInfo(String id);

     /**
      * 功能描述: 网关下线
      *
      * @param netDev 网关id
      * @return void
      * @author xy
      * @date 2022/4/6 18:00
      */
     void offlineNetDev(String netDev);

     /**
      * 功能描述: 网关上线
      *
      * @param netDev 网关id
      * @return void
      * @author xy
      * @date 2022/4/6 18:00
      */
     void onlineNetDev(String netDev);

     /**
      * 功能描述:获取所有正常的网关信息
      * @author xy
      * @date 2022/4/13 11:02
      * @return list
      */
     List<NetDev> getAllNetDev();

}
