From 82d6b98f5b6b88e223259547208ab59829ad723e Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期六, 01 十一月 2025 21:30:52 +0800
Subject: [PATCH] fix:增加旧系统状态同步到新系统,新系统状态同步到旧系统
---
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/CmsVehicleSyncTask.java | 49 +++++++++++++++++++++++++++++++------------------
1 files changed, 31 insertions(+), 18 deletions(-)
diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/CmsVehicleSyncTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/CmsVehicleSyncTask.java
index e414f6a..c5abe54 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/CmsVehicleSyncTask.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/CmsVehicleSyncTask.java
@@ -6,16 +6,13 @@
import java.util.List;
import java.util.stream.Collectors;
+import com.ruoyi.system.domain.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.system.domain.CmsVehicleDeviceResponse;
-import com.ruoyi.system.domain.CmsVehicleLocationResponse;
-import com.ruoyi.system.domain.VehicleGps;
-import com.ruoyi.system.domain.VehicleInfo;
import com.ruoyi.system.service.ICmsGpsCollectService;
import com.ruoyi.system.service.IVehicleGpsService;
import com.ruoyi.system.service.IVehicleInfoService;
@@ -42,7 +39,7 @@
log.info("寮�濮嬪悓姝MS杞﹁締淇℃伅");
try {
// 鑾峰彇CMS鎵�鏈夎溅杈嗕俊鎭�
- CmsVehicleDeviceResponse response = cmsGpsCollectService.queryVehicleDevices();
+ CmsVehicleDeviceListResponse response = cmsGpsCollectService.getDeviceByVehicle(null);
if (response.getResult() != 0) {
log.error("鑾峰彇CMS杞﹁締淇℃伅澶辫触");
return;
@@ -50,10 +47,10 @@
// 鑾峰彇鎵�鏈塁MS杞﹁締鐨勮溅鐗屽彿
List<String> cmsPlateNos = new ArrayList<>();
- response.getVehicles().forEach(vehicle -> {
- if (StringUtils.isNotEmpty(vehicle.getNm())) {
+ response.getDevices().forEach(vehicle -> {
+ if (StringUtils.isNotEmpty(vehicle.getVid())) {
// 浠庤溅杈嗗悕绉颁腑鎻愬彇杞︾墝鍙凤紙鍋囪鏍煎紡涓�"鈽呰溅鐗屽彿锛堝湴鍖猴級"锛�
- String plateNo =this.getPlateNo(vehicle.getNm());
+ String plateNo =this.getPlateNo(vehicle.getVid());
cmsPlateNos.add(plateNo);
}
});
@@ -70,17 +67,29 @@
List<String> onlyCms=cmsPlateNos.stream().filter(e->!notCmsVehicles.contains(e)).collect((Collectors.toList()));
Integer syncCarCount=0;
- for(String e:onlyCms){
- VehicleInfo vehicleInfo = new VehicleInfo();
- vehicleInfo.setVehicleNo(e);
- vehicleInfo.setPlatformCode("CMS");
- vehicleInfo.setStatus("0");
- //濡傛灉杞﹁締涓嶅瓨鍦紝鍒欐彃鍏�
- if (vehicleInfoService.selectVehicleInfoList(vehicleInfo).size()==0) {
+ response.getDevices().stream().filter(e->onlyCms.contains(this.getPlateNo(e.getVid()))).forEach(vehicle->{
+ String plateNo =this.getPlateNo(vehicle.getVid());
+
+ VehicleInfo vehicleInfo= vehicleInfoService.selectVehicleInfoByPlateNumber(plateNo);
+ if (vehicleInfo==null) {
+ vehicleInfo = new VehicleInfo();
+ vehicleInfo.setVehicleNo(plateNo);
+ vehicleInfo.setDeviceId(vehicle.getDid());
+ vehicleInfo.setPlatformCode("CMS");
+ vehicleInfo.setStatus("0");
vehicleInfoService.insertVehicleInfo(vehicleInfo);
- syncCarCount++;
}
- }
+ else{
+ vehicleInfo.setVehicleNo(plateNo);
+ vehicleInfo.setDeviceId(vehicle.getDid());
+ vehicleInfo.setPlatformCode("CMS");
+ vehicleInfo.setStatus("0");
+ vehicleInfoService.updateVehicleInfo(vehicleInfo);
+ }
+
+ });
+
+
log.info("鎴愬姛鍚屾{}涓狢MS杞﹁締淇℃伅", syncCarCount);
@@ -138,12 +147,16 @@
if(f==null){
continue;
}
-
+ if(vehicle.getJd()==null||vehicle.getWd()==null){
+ continue;
+ }
// 鍒涘缓GPS璁板綍
VehicleGps gps = new VehicleGps();
gps.setVehicleId(f.getVehicleId());
gps.setDeviceId(null);
+
gps.setLongitude(vehicle.getJd()/1000000);
+
gps.setLatitude(vehicle.getWd()/1000000);
gps.setSpeed(defaultZero);
gps.setVehicleNo(plateNo);
--
Gitblit v1.9.1