From 08f95b2f159b56fa3bd4f4b348855989de8aa456 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期四, 18 十二月 2025 21:48:18 +0800
Subject: [PATCH] feat: vehicle

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/GpsCollectServiceImpl.java |   35 +++++++++++++++++++++--------------
 1 files changed, 21 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..541ea56 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
@@ -1,10 +1,12 @@
 package com.ruoyi.system.service.impl;
 
+import com.ruoyi.common.utils.PlateNumberExtractor;
 import com.ruoyi.common.utils.http.HttpUtils;
 import com.ruoyi.system.domain.*;
 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 +32,7 @@
 /**
  * GPS閲囬泦鏈嶅姟瀹炵幇
  */
+@Slf4j
 @Service
 public class GpsCollectServiceImpl implements IGpsCollectService {
 
@@ -78,6 +81,7 @@
                     response.setSuccess(true);
                     response.setMessage("鐧诲綍鎴愬姛");
                     response.setToken(jsonResult.getString("token"));
+                    response.setServerid(jsonResult.getInteger("serverid"));
                     break;
                 case -1:
                     response.setSuccess(false);
@@ -166,9 +170,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 {
@@ -254,10 +259,21 @@
     private String extractPlateNumber(String deviceName, String remark) {
         // 杩欓噷鍙互鏍规嵁瀹為檯鎯呭喌瀹炵幇杞︾墝鍙锋彁鍙栭�昏緫
         // 渚嬪锛氫粠瀛楃涓蹭腑鍖归厤杞︾墝鍙锋牸寮�
+        //aaxx绮SX120
+        //鍦ㄨ繖閲屾彁鍙� 绮SX120
+
         if (StringUtils.isNotEmpty(deviceName)) {
+            String plateNo =PlateNumberExtractor.extractPlateNumber(deviceName);
+            if (plateNo != null) {
+                return plateNo;
+            }
             return deviceName;
         }
         if (StringUtils.isNotEmpty(remark)) {
+            String plateNo =PlateNumberExtractor.extractPlateNumber(remark);
+            if (plateNo != null) {
+                return plateNo;
+            }
             return remark;
         }
         return null;
@@ -285,7 +301,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 +397,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 +444,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 +584,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 +619,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