package com.ruoyi.ibs.custmap.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.ibs.custmap.domain.dto.CustMapCircleDTO;
import com.ruoyi.ibs.custmap.domain.dto.CustMapCircleExcelDTO;
import com.ruoyi.ibs.custmap.domain.dto.CustMapPolygonDTO;
import com.ruoyi.ibs.custmap.domain.dto.CustMapPolygonExcelDTO;
import com.ruoyi.ibs.custmap.domain.entity.CustInfoRadar;
import com.ruoyi.ibs.custmap.domain.vo.CustMapExcelVO;
import com.ruoyi.ibs.custmap.domain.vo.CustMapVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

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

/**
 * @Author 吴凯程
 * @Date 2025/5/15
 **/
@Mapper
public interface CustMapMapper extends BaseMapper<CustInfoRadar> {

    List<CustMapVO> selectCustMapListByCircle(CustMapCircleDTO custMapCircleDTO );

    List<CustMapExcelVO> exportCustMapListByCircle(CustMapCircleExcelDTO custMapCircleExcelDTO );

    Long countCustMapListByCircle(CustMapCircleDTO custMapCircleDTO);



    List<CustMapVO> selectCustMapListByPolygon(CustMapPolygonDTO custMapPolygonDTO );

    Long countCustMapListByPolygon(CustMapPolygonDTO custMapPolygonDTO);

    List<CustMapExcelVO> exportCustMapListByPolygon(CustMapPolygonExcelDTO custMapPolygonExcelDTO );

    List<CustMapVO> selectLngAndLat(@Param("lastId") long lastId, @Param("limit") int limit);

    void saveCodeToCustMap(@Param("updateDataList") List<Map<String, Object>> updateDataLis);

}
