package com.sooka.sponest.monitor.LabelManagement.mapper;

import com.sooka.sponest.monitor.LabelManagement.domain.CentermonitorCameraDTO;
import com.sooka.sponest.monitor.LabelManagement.domain.CentermonitorSetLabel;
import com.sooka.sponest.monitor.LabelManagement.domain.LabelType;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface CentermonitorSetLabelServiceMapper {

  /**
   * 查询标签
   */
  List<CentermonitorSetLabel> getLabel(CentermonitorSetLabel centermonitorSetLabel);

  /**
   * 新增标签
   *
   */
  int addLabel(CentermonitorSetLabel centermonitorSetLabel);

  int insertlabelType(LabelType type);

  /**
   * 修改标签
   */
  int UpdateLabel(CentermonitorSetLabel centermonitorSetLabel);

  /**
   * 查询设置标签修改页
   */
  CentermonitorSetLabel getLabels(@Param("id")Integer id);
  List<LabelType> SelectByIdlabelType(Integer id);
  /**
   * 设置标签页删除
   */
  int deletelabel(Integer id);
  int deletelabeltype(Integer id);

  /**
   * 设置标签页查询
   */
  List<CentermonitorSetLabel> Searchtags(String name);

  /**
   * 查询摄像头设备列表
   */
  List<CentermonitorSetLabel> getdevice(CentermonitorSetLabel centermonitorSetLabel);

  /**
   * 新增摄像头
   *
   */
  int addCamera(@Param("list") List<CentermonitorCameraDTO> list, @Param("labelId")String labelId);

  List<CentermonitorSetLabel> getCameraByLabelId(CentermonitorSetLabel centermonitorSetLabel);

  Integer removeCameraByLabelId(CentermonitorSetLabel centermonitorSetLabel);

  /**
   * 查询全部标签接口
   */
  List<CentermonitorSetLabel> queryLabels(CentermonitorSetLabel centermonitorSetLabel);

  String getLabelsByParentId(@Param("parentId")String parentId);

  int updatePresetPoint(CentermonitorSetLabel centermonitorSetLabel);

  CentermonitorSetLabel getCameraByLabelIdAndParentId(@Param("id")String id);
  int getCentermonitorLabelMappingLabelId(@Param("labelId")String labelId);

  void deletelabelByParentId(Integer id);

  List<CentermonitorSetLabel> getCameraByParentId(@Param("id")String id);

  CentermonitorSetLabel getCameraByIdAndDeviceId(CentermonitorSetLabel centermonitorSetLabel);

}
