package ink.wgink.module.map.service.grid;

import ink.wgink.exceptions.RemoveException;
import ink.wgink.module.map.pojo.dtos.grid.GridPointDTO;
import ink.wgink.module.map.pojo.vos.grid.GridPointVO;

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

/**
 * @ClassName: IGridPointService
 * @Description: 网格点业务
 * @Author: wanggeng
 * @Date: 2021/8/30 10:06 下午
 * @Version: 1.0
 */
public interface IGridPointService {

    /**
     * 保存网格点
     *
     * @param gridId
     * @param pointArray
     */
    void save(String gridId, List<GridPointVO> pointArray);

    /**
     * 删除网格点
     *
     * @param gridId
     */
    void deleteByGridId(String gridId);

    /**
     * 删除网格点
     *
     * @param gridIds 网格ID列表
     * @throws RemoveException
     */
    void deleteByGridIds(List<String> gridIds);

    /**
     * 更新网格数组
     *
     * @param gridId     网格ID
     * @param pointArray 点数组
     * @throws Exception
     */
    void updatePointArrayByGridId(String gridId, List<GridPointVO> pointArray) throws Exception;

    /**
     * 网格点列表
     *
     * @param params
     * @return
     */
    List<GridPointDTO> list(Map<String, Object> params);

    /**
     * 网格点列表
     *
     * @param gridId 网格ID
     * @return
     */
    List<GridPointDTO> list(String gridId);

    /**
     * 网格点列表
     *
     * @param gridIds 网格ID列表
     * @return
     */
    List<GridPointDTO> list(List<String> gridIds);
}
