package com.multictrl.modules.business.service;

import com.multictrl.common.page.PageData;
import com.multictrl.common.service.CrudService;
import com.multictrl.modules.business.dto.NoflyZoneDTO;
import com.multictrl.modules.business.entity.NoflyZoneEntity;

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

/**
 * 禁飞区
 *
 * @author Sdy
 * @since 1.0.0 2026-06-09
 */
public interface NoflyZoneService extends CrudService<NoflyZoneEntity, NoflyZoneDTO> {

    //分页列表
    PageData<NoflyZoneDTO> pageList(Map<String, Object> params);

    //新增禁飞区
    void saveNoFlying(NoflyZoneDTO noflyZone);

    //修改禁飞区
    void updateNoFlying(NoflyZoneDTO noflyZone);

    //获取机库禁飞区
    List<NoflyZoneDTO> getNoFlyZoneByDockSn(String dockSn);

    //判断是否在禁飞区内
    Boolean isInNoFlyZone(List<List<NoflyZoneDTO.point>> noFlyZone, NoflyZoneDTO.point point);
}