package com.xiaopeng.map.service;
|
|
|
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.xiaopeng.api.dto.operation.ElectronicFenceAddDto;
|
import com.xiaopeng.api.dto.operation.ElectronicFenceUpdateDto;
|
import com.xiaopeng.api.dto.operation.TestElectronicFenceAddDto;
|
import com.xiaopeng.api.dto.operation.TestElectronicFenceUpdateDto;
|
import com.xiaopeng.api.model.operation.XpTestElectronicFence;
|
import com.xiaopeng.api.query.operation.ElectronicPageListQuery;
|
import com.xiaopeng.common.core.domain.R;
|
import com.xiaopeng.common.core.web.page.PageInfo;
|
import org.springframework.data.mongodb.core.geo.GeoJsonPolygon;
|
|
import java.util.List;
|
|
/**
|
* <p>
|
* 电子围栏 服务类
|
* </p>
|
*
|
* @author liu
|
* @since 2026-02-03
|
*/
|
public interface XpTestElectronicFenceService extends IService<XpTestElectronicFence> {
|
PageInfo<XpTestElectronicFence> pageList(ElectronicPageListQuery query);
|
|
R addElectronic(TestElectronicFenceAddDto dto);
|
|
R editElectronic(TestElectronicFenceUpdateDto dto);
|
|
GeoJsonPolygon convertToGeoJsonPolygon(String fencePointsStr);
|
|
/**
|
* 校验围栏名称唯一
|
*/
|
void validateElectronicNameUnique(String electronicName, Long excludeId);
|
|
/**
|
* 查询启用的电子围栏列表
|
* @return
|
*/
|
List<XpTestElectronicFence> getAvailableList();
|
|
/**
|
* 获取不分页的围栏列表
|
* @return
|
*/
|
List<XpTestElectronicFence> getList(ElectronicPageListQuery query);
|
|
/**
|
* 将围栏置为已停用,并同步禁用围栏区域
|
* @param electronicId 围栏ID
|
*/
|
void expireFence(Long electronicId);
|
}
|