DriverOKTravel/guns-admin/pom.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/LineSiteServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/model/GeoFencingPolygon.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/model/GeoJson.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/model/LocationQuery.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
DriverOKTravel/guns-admin/src/main/resources/application.yml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
DriverOKTravel/guns-admin/pom.xml
@@ -226,6 +226,14 @@ <artifactId>commons-codec</artifactId> <version>1.13</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency> </dependencies> <build> DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/LineSiteServiceImpl.java
@@ -16,14 +16,20 @@ import com.stylefeng.guns.modular.system.util.GDMapElectricFenceUtil; import com.stylefeng.guns.modular.system.util.RedisUtil; import com.stylefeng.guns.modular.system.util.SystemException; import com.stylefeng.guns.modular.system.util.model.GeoFencingPolygon; import com.stylefeng.guns.modular.taxi.model.OrderTaxi; import com.stylefeng.guns.modular.taxi.service.IOrderTaxiService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.geo.GeoJsonPoint; import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @Service @@ -46,9 +52,9 @@ @Autowired private DateUtil dateUtil; @Autowired private GDMapElectricFenceUtil gdMapElectricFenceUtil; private MongoTemplate mongoTemplate; @Autowired private RedisUtil redisUtil; @@ -306,12 +312,14 @@ } } if(Integer.valueOf(map.get("type").toString()) == 2){//电子围栏 String gid = map.get("gid").toString(); List<String> list1 = gdMapElectricFenceUtil.monitorElectricFenc("", lonLat); if(list1.contains(gid)){ String[] split = lonLat.split(","); GeoJsonPoint point = new GeoJsonPoint(Double.valueOf(split[0]), Double.valueOf(split[1])); Query query = Query.query(Criteria.where("geoJsonPolygon").intersects(point)); List<GeoFencingPolygon> geoFencingPolygons = mongoTemplate.find(query, GeoFencingPolygon.class); List<Integer> s_sites = geoFencingPolygons.stream().map(GeoFencingPolygon::getSiteId).collect(Collectors.toList()); if(s_sites.contains(siteId)){ return true; } continue; } } return false; DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/model/GeoFencingPolygon.java
New file @@ -0,0 +1,35 @@ package com.stylefeng.guns.modular.system.util.model; import lombok.Data; import org.springframework.data.mongodb.core.geo.GeoJsonPolygon; import org.springframework.data.mongodb.core.index.GeoSpatialIndexType; import org.springframework.data.mongodb.core.index.GeoSpatialIndexed; import org.springframework.data.mongodb.core.mapping.Document; import java.io.Serializable; /** * 地理围栏-多边形 * @author zhibing.pu * @date 2023/4/29 23:53 */ @Data @Document(collection = "geo_fencing") public class GeoFencingPolygon implements Serializable { private static final long serialVersionUID = 4508868382007529971L; private String id; /** * 站点id */ private Integer siteId; /** * 站点名称 */ private String name; /** * 多边形经纬度 */ @GeoSpatialIndexed(type = GeoSpatialIndexType.GEO_2DSPHERE) private GeoJsonPolygon geoJsonPolygon; } DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/model/GeoJson.java
New file @@ -0,0 +1,9 @@ package com.stylefeng.guns.modular.system.util.model; import lombok.Data; @Data public class GeoJson { private String type; private Double[] coordinates; } DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/model/LocationQuery.java
New file @@ -0,0 +1,23 @@ package com.stylefeng.guns.modular.system.util.model; import lombok.Data; @Data public class LocationQuery { /** * 当前经纬度[xxx,xxx] **/ private Double[] coordinates; /** * 距离,如:200,500,1,3,5,10,20 **/ private Double distance; /** * 距离单位,如:m,km **/ private String unit; /** * 位置类型:1-景点,2-加油站,3-酒店 **/ private Integer type; } DriverOKTravel/guns-admin/src/main/resources/application.yml
@@ -102,7 +102,12 @@ juhe: #聚合数据 appKey: c4b903ff5624f661d0af962ef8b3f424 # --- spring: data: mongodb: uri: mongodb://127.0.0.1:27017/admin --- jiguang: