From f3106694f7f9992391b26897571ff11462cfe475 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期四, 18 九月 2025 10:27:03 +0800
Subject: [PATCH] 修改bug

---
 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/LineSiteServiceImpl.java |   50 +++++++++++++++++++++++++++++++-------------------
 1 files changed, 31 insertions(+), 19 deletions(-)

diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/LineSiteServiceImpl.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/LineSiteServiceImpl.java
index 3ba7b20..61f805f 100644
--- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/LineSiteServiceImpl.java
+++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/LineSiteServiceImpl.java
@@ -6,7 +6,10 @@
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import com.stylefeng.guns.core.util.ToolUtil;
 import com.stylefeng.guns.modular.crossCity.dao.*;
-import com.stylefeng.guns.modular.crossCity.model.*;
+import com.stylefeng.guns.modular.crossCity.model.LineShift;
+import com.stylefeng.guns.modular.crossCity.model.LineShiftDriver;
+import com.stylefeng.guns.modular.crossCity.model.LineSite;
+import com.stylefeng.guns.modular.crossCity.model.OrderCrossCity;
 import com.stylefeng.guns.modular.crossCity.server.ILineSiteService;
 import com.stylefeng.guns.modular.crossCity.server.IOrderCrossCityService;
 import com.stylefeng.guns.modular.crossCity.warpper.SiteWarpper;
@@ -14,16 +17,22 @@
 import com.stylefeng.guns.modular.specialTrain.server.IOrderPrivateCarService;
 import com.stylefeng.guns.modular.system.util.DateUtil;
 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.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.text.SimpleDateFormat;
 import java.util.*;
+import java.util.stream.Collectors;
 
 
 @Service
@@ -40,31 +49,32 @@
 
     @Resource
     private LineShiftMapper lineShiftMapper;
-
+    
     @Resource
     private LocationMapper locationMapper;
-
+    
     @Autowired
     private DateUtil dateUtil;
-
+    
     @Autowired
     private GDMapElectricFenceUtil gdMapElectricFenceUtil;
-
-    @Autowired
-    private RedisUtil redisUtil;
-
+    
+    @Resource
+    private RedisTemplate<String, Object> redisTemplate;
+    
     @Autowired
     private IOrderTaxiService orderTaxiService;
-
+    
     @Autowired
     private IOrderPrivateCarService orderPrivateCarService;
-
+    
     @Autowired
     private IOrderCrossCityService orderCrossCityService;
 
-
-
-
+    @Autowired
+    private MongoTemplate mongoTemplate;
+    
+    
     /**
      * 根据线路id获取排班数据
      * @param lineId
@@ -87,7 +97,7 @@
         List<Map<String, Object>> s = lineSiteMapper.queryDriver(lineId, sdf.parse(day), driverId);
         Calendar calendar = Calendar.getInstance();
         calendar.setTime(sdf.parse(day));
-        String vehicle = redisUtil.getValue("VEHICLE");
+        String vehicle = (String) redisTemplate.opsForValue().get("VEHICLE");
         List<Integer> integers = new ArrayList<>();
         if(ToolUtil.isNotEmpty(vehicle)){
             integers = JSON.parseArray(vehicle).toJavaList(Integer.class);
@@ -303,12 +313,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