package com.zksy.base.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zksy.base.domain.MonitorPoint;
import com.zksy.base.dto.MonitorPointPageInDTO;

import java.util.List;
import java.util.Map;

public interface MonitorPointService extends IService<MonitorPoint> {

    Page<MonitorPoint> queryByPage(MonitorPointPageInDTO dto);
    Page<MonitorPoint> findByPage(long pageNum, long pageSize,
                                    String pointCode, String pointName,
                                    String pointType, String status);

    boolean saveWithCheck(MonitorPoint entity);

    boolean saveBatchWithCheck(List<MonitorPoint> entityList);

    boolean updateWithCheck(MonitorPoint entity);

    boolean removeWithCheck(String id);

    boolean removeBatchWithCheck(List<String> ids);

    boolean bindEquipment(String pointId, List<String> equipmentIds);

    boolean unbindEquipment(String pointId, List<String> equipmentIds);

    Map<String, Object> getPointDetail(String pointId);

    List<MonitorPoint> getPointsByNetwork(String networkId);
}
