From f67945d53b20f6a45ae50b27d74c966eb1355bb4 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期日, 16 十一月 2025 22:53:54 +0800
Subject: [PATCH] feat: 增加分段GPS计算行程距离

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/GpsCollectServiceImpl.java |   23 +++++++++--------------
 1 files changed, 9 insertions(+), 14 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/GpsCollectServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/GpsCollectServiceImpl.java
index 6385cea..a936fc2 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/GpsCollectServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/GpsCollectServiceImpl.java
@@ -5,6 +5,7 @@
 import com.ruoyi.system.service.IGpsCollectService;
 import com.ruoyi.system.config.GpsServiceConfig;
 import com.ruoyi.common.utils.MD5Util;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 import org.springframework.web.client.RestTemplate;
 import org.springframework.http.HttpEntity;
@@ -30,6 +31,7 @@
 /**
  * GPS閲囬泦鏈嶅姟瀹炵幇
  */
+@Slf4j
 @Service
 public class GpsCollectServiceImpl implements IGpsCollectService {
 
@@ -78,6 +80,7 @@
                     response.setSuccess(true);
                     response.setMessage("鐧诲綍鎴愬姛");
                     response.setToken(jsonResult.getString("token"));
+                    response.setServerid(jsonResult.getInteger("serverid"));
                     break;
                 case -1:
                     response.setSuccess(false);
@@ -166,9 +169,10 @@
                 if (loginResponse.isSuccess()) {
                     //灏唗oken鍐欏叆gspconfig
                     token = loginResponse.getToken();
+                    Integer serviceid = loginResponse.getServerid();
                     //getTokenExpireTime 杩欎釜鏄病鏈夌殑 闇�瑕佽嚜宸辫绠楋紝褰撳墠鏃堕棿+23灏忔椂
                     Date expireTime = DateUtils.addHours(new Date(), 23);
-                    gpsConfigService.updateToken("gps51", token, expireTime);
+                    gpsConfigService.updateToken("gps51", token,serviceid, expireTime);
                     System.out.println("GPS绯荤粺鐧诲綍鎴愬姛锛宼oken宸叉洿鏂�");
                     return token;
                 } else {
@@ -285,7 +289,7 @@
         
         String username = config.getUsername();
         // 鏋勫缓璇锋眰URL
-        String url = config.getDomain() + "/webapi?action=querymonitorlist&token=" + token;
+        String url = config.getDomain() + "/webapi?action=querymonitorlist&token=" + token+"&serverid="+config.getServerid();
         Map<String, String> params = new HashMap<>();
         params.put("username", username);
         
@@ -381,7 +385,7 @@
         System.out.println("token鑾峰彇鎴愬姛锛�"+token);
 
         // 鏋勫缓璇锋眰URL
-        String url = config.getDomain() + "/webapi?action=lastposition&token="+token;
+        String url = config.getDomain() + "/webapi?action=lastposition&token="+token+"&serverid="+config.getServerid();
         System.out.println("璇锋眰URL锛�"+url);
 
         // 鏋勫缓璇锋眰鍙傛暟
@@ -428,7 +432,7 @@
                 // 瑙f瀽浣嶇疆璁板綍鍒楄〃
                 JSONArray recordsArray = jsonResult.getJSONArray("records");
                 List<GpsLastPosition> records = new ArrayList<>();
-                
+                log.info("recordsArray length:{}",recordsArray.size());
                 for (int i = 0; i < recordsArray.size(); i++) {
                     JSONObject recordJson = recordsArray.getJSONObject(i);
                     GpsLastPosition record = new GpsLastPosition();
@@ -568,7 +572,7 @@
             System.out.println("Token鑾峰彇鎴愬姛: " + token);
 
             // 鏋勫缓璇锋眰URL
-            String url = config.getDomain() + "/webapi?action=querytracks&token=" + token;
+            String url = config.getDomain() + "/webapi?action=querytracks&token=" + token+"&serverid="+config.getServerid();
             System.out.println("璇锋眰URL: " + url);
             
             // 鏋勫缓璇锋眰鍙傛暟
@@ -603,15 +607,6 @@
             response.setDeviceid(jsonResult.getString("deviceid"));
 
             if (response.getStatus() == 0) {
-
-                if(jsonResult.getJSONObject("result")==null)
-                {
-                    System.err.println("鏌ヨ杞ㄨ抗澶辫触锛岃建杩硅褰曚负绌�");
-                    GpsTrackQueryResponse responseErr = new GpsTrackQueryResponse();
-                    responseErr.setStatus(-1);
-                    responseErr.setCause("杞ㄨ抗璁板綍涓虹┖");
-                    return responseErr;
-                }
 
                 // 瑙f瀽杞ㄨ抗璁板綍鍒楄〃
                 JSONArray recordsArray = jsonResult.getJSONArray("records");

--
Gitblit v1.9.1