From 3ed8156b12d445bb4e374a7ee43696c60c10c58c Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期二, 20 五月 2025 15:50:53 +0800 Subject: [PATCH] 修改bug --- UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/SiteServiceImpl.java | 20 ++++++++++++++------ 1 files changed, 14 insertions(+), 6 deletions(-) diff --git a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/SiteServiceImpl.java b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/SiteServiceImpl.java index 1bf87c0..1bceb66 100644 --- a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/SiteServiceImpl.java +++ b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/SiteServiceImpl.java @@ -8,11 +8,17 @@ import com.stylefeng.guns.modular.crossCity.server.ISiteService; import com.stylefeng.guns.modular.crossCity.warpper.SiteWarpper; import com.stylefeng.guns.modular.system.util.GDMapElectricFenceUtil; +import com.stylefeng.guns.modular.system.util.model.GeoFencingPolygon; 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.util.*; +import java.util.stream.Collectors; @Service @@ -23,9 +29,9 @@ @Resource private LocationMapper locationMapper; - + @Autowired - private GDMapElectricFenceUtil gdMapElectricFenceUtil; + private MongoTemplate mongoTemplate; /** @@ -109,12 +115,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; -- Gitblit v1.7.1