diff --git a/ebike-operations/src/main/java/com/cdzy/operations/mapper/EbikeBikeInfoMapper.java b/ebike-operations/src/main/java/com/cdzy/operations/mapper/EbikeBikeInfoMapper.java index d773302..5b41c9c 100644 --- a/ebike-operations/src/main/java/com/cdzy/operations/mapper/EbikeBikeInfoMapper.java +++ b/ebike-operations/src/main/java/com/cdzy/operations/mapper/EbikeBikeInfoMapper.java @@ -2,6 +2,10 @@ package com.cdzy.operations.mapper; import com.mybatisflex.core.BaseMapper; import com.cdzy.operations.model.entity.EbikeBikeInfo; +import org.apache.ibatis.annotations.Param; +import org.postgresql.geometric.PGpolygon; + +import java.util.List; /** * 映射层。 @@ -11,4 +15,11 @@ import com.cdzy.operations.model.entity.EbikeBikeInfo; */ public interface EbikeBikeInfoMapper extends BaseMapper { + /** + * 查询多边形范围内的车辆 + * @param polygon 多边形 + * @return 列表 + */ + List selectPolygonGeometry(@Param("polygon") PGpolygon polygon); + } diff --git a/ebike-operations/src/main/java/com/cdzy/operations/service/impl/EbikeRegionServiceImpl.java b/ebike-operations/src/main/java/com/cdzy/operations/service/impl/EbikeRegionServiceImpl.java index ea67412..7c01552 100644 --- a/ebike-operations/src/main/java/com/cdzy/operations/service/impl/EbikeRegionServiceImpl.java +++ b/ebike-operations/src/main/java/com/cdzy/operations/service/impl/EbikeRegionServiceImpl.java @@ -1,6 +1,7 @@ package com.cdzy.operations.service.impl; import cn.dev33.satoken.stp.StpUtil; +import com.cdzy.common.ex.EbikeException; import com.cdzy.operations.enums.RegionStatus; import com.cdzy.operations.mapper.EbikeRegionMapper; import com.cdzy.operations.model.entity.EbikeRegion; @@ -39,6 +40,9 @@ public class EbikeRegionServiceImpl extends ServiceImpl + + + + + diff --git a/ebike-operations/src/test/java/com/cdzy/operations/EbikeOperationsApplicationTests.java b/ebike-operations/src/test/java/com/cdzy/operations/EbikeOperationsApplicationTests.java index 0735245..19c0722 100644 --- a/ebike-operations/src/test/java/com/cdzy/operations/EbikeOperationsApplicationTests.java +++ b/ebike-operations/src/test/java/com/cdzy/operations/EbikeOperationsApplicationTests.java @@ -1,18 +1,20 @@ package com.cdzy.operations; -import com.cdzy.operations.model.entity.EbikeRegion; -import com.cdzy.operations.service.EbikeRegionService; +import com.cdzy.operations.mapper.EbikeBikeInfoMapper; +import com.cdzy.operations.model.entity.EbikeBikeInfo; import org.junit.jupiter.api.Test; import org.postgresql.geometric.PGpoint; import org.postgresql.geometric.PGpolygon; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; +import java.util.List; + @SpringBootTest class EbikeOperationsApplicationTests { @Autowired - private EbikeRegionService regionService; + private EbikeBikeInfoMapper bikeInfoMapper; @Test void contextLoads(){ @@ -22,14 +24,10 @@ class EbikeOperationsApplicationTests { PGpoint gpoint4 = new PGpoint(103.943116,30.6327); PGpoint[] points = new PGpoint[]{gpoint1,gpoint2,gpoint3,gpoint4}; PGpolygon pgpolygon = new PGpolygon(points); - EbikeRegion ebikeRegion = EbikeRegion.builder() - .operatorId(311460622768435200L) - .regionName("测试区域") - .regionPolygon(pgpolygon) - .createdBy(320131029184712704L) - .status(0) - .build(); - regionService.save(ebikeRegion); + List bikeInfos = bikeInfoMapper.selectPolygonGeometry(pgpolygon); + for (EbikeBikeInfo bikeInfo : bikeInfos) { + System.out.println(bikeInfo); + } } }