Explorar el Código

提交车辆轨回放查询接口

chenxiaofei hace 1 mes
padre
commit
5c51a44bf6

+ 5 - 0
iot-platform-manager/src/main/java/com/platform/api/controller/TransferController.java

@@ -1,5 +1,6 @@
 package com.platform.api.controller;
 
+import ch.qos.logback.classic.Logger;
 import com.platform.api.manager.TransferVehicleManage;
 import com.platform.api.request.VehicleDataRequest;
 import com.platform.api.request.VehicleDataSaveRequest;
@@ -8,6 +9,7 @@ import com.platform.exception.BaseResult;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import jakarta.annotation.Resource;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -26,6 +28,7 @@ import java.util.List;
 @Tag(name = "数据传输接口", description = "车辆数据采集和查询相关接口")
 @RestController
 @FeignClient(name = "platform-transfer-api", url = "${platform.transfer.api.url}")
+@Slf4j
 public class TransferController {
 
     @Resource
@@ -37,6 +40,8 @@ public class TransferController {
     @Operation(summary = "保存车辆数据", description = "保存车辆实时采集的数据")
     @PostMapping("/api/transfer/saveVehicleData")
     public BaseResult<Boolean> saveVehicleData(@RequestBody @Validated VehicleDataSaveRequest request) {
+        log.info("保存车辆数据入口");
+        request.setwOrderNo(request.getWayOrderNo());
         transferVehicleManage.saveVehicleData(request);
         return BaseResult.success(true);
     }

+ 22 - 14
iot-platform-manager/src/main/java/com/platform/api/manager/TransferVehicleManage.java

@@ -66,6 +66,7 @@ public class TransferVehicleManage {
         vehicleDataQueue.add(request);
 
         // 2. 检查是否达到批量阈值,若达到则批量保存
+        log.info("检查是否达到批量阈值");
         List<VehicleDataSaveRequest> vehicleDataList = vehicleDataQueue.takeBatchIfReached();
         if (CollectionUtils.isEmpty(vehicleDataList)) {
             return;
@@ -78,13 +79,14 @@ public class TransferVehicleManage {
      */
     public void batchSaveVehicle(List<VehicleDataSaveRequest> vehicleDataList) {
         //mock数据
-        vehicleDataList.stream().forEach(vehicle -> {
-            vehicle.getVehicleDataVO().setCarNo("16939110775088937");
-            vehicle.setwOrderNo("W1709780533650");
-        });
+//        vehicleDataList.stream().forEach(vehicle -> {
+//            vehicle.getVehicleDataVO().setCarNo("16939110775088937");
+//            vehicle.setwOrderNo("W1709780533650");
+//        });
         List<VehicleData> newVehicles = checkVehicle(vehicleDataList);
         // 批量保存到关系库
         if (CollectionUtils.isNotEmpty(newVehicles)) {
+            log.info("批量保存关系数据库");
             vehicleDataService.saveBatch(newVehicles);
         }
 
@@ -114,6 +116,7 @@ public class TransferVehicleManage {
                 .collect(Collectors.toList());
 
         // 2. 批量查询已存在的车辆id
+        log.info("查询关系数据库中已存在的车牌");
         List<String> existCarNos = vehicleDataService.list(Wrappers.<VehicleData>lambdaQuery()
                         .in(VehicleData::getCarNo, carNoList))
                 .stream()
@@ -145,7 +148,7 @@ public class TransferVehicleManage {
      */
     public List<VehicleDataResp> queryVehicleDataList(VehicleDataRequest request) {
         //mock数据
-        request.setwOrderNo("W1709780533650");
+       // request.setwOrderNo("W1709780533650");
         if (request == null || (StringUtils.isEmpty(request.getCarNo()) && StringUtils.isEmpty(request.getwOrderNo()))) {
             throw new IotException(ErrorCodeEnum.ILLEGAL_PARAM, "接口参数为null!");
         }
@@ -176,20 +179,25 @@ public class TransferVehicleManage {
      */
     public VehicleDataResp queryRealTimeLocation(VehicleDataRequest request) {
         //mock数据
-        request.setCarNo("16939110775088937");
+      //  request.setCarNo("16939110775088937");
         if (request == null || (StringUtils.isEmpty(request.getCarNo()))) {
             throw new IotException(ErrorCodeEnum.ILLEGAL_PARAM, "车牌carNo不能为空!");
         }
+        VehicleTimeSeriesData realTimeLocation = null;
 
-        // 查询车辆id关系数据中是否存在
-        VehicleData vehicleData = vehicleDataService.getOne(Wrappers.<VehicleData>lambdaQuery().eq(VehicleData::getCarNo, request.getCarNo()));
-        if (vehicleData == null) {
-            log.info("子表 {} 不存在,返回空结果", "vehicle_data_" + request.getCarNo().trim());
-            return new VehicleDataResp();
-        }
+        try {
+            // 查询车辆id关系数据中是否存在
+            VehicleData vehicleData = vehicleDataService.getOne(Wrappers.<VehicleData>lambdaQuery().eq(VehicleData::getCarNo, request.getCarNo()));
+            if (vehicleData == null) {
+                log.info("子表 {} 不存在,返回空结果", "vehicle_data_" + request.getCarNo().trim());
+                return new VehicleDataResp();
+            }
 
-        String subTableName = "vehicle_data_" + request.getCarNo().trim();
-        VehicleTimeSeriesData realTimeLocation = taosService.selectRealTimeLocation(subTableName, request.getCarNo());
+            String subTableName = "vehicle_data_" + request.getCarNo().trim();
+            realTimeLocation = taosService.selectRealTimeLocation(subTableName, request.getCarNo());
+        } catch (Exception e) {
+            log.error("查询车辆实时经纬度异常", e);
+        }
 
         //参数转换
         return VehicleDataResp.toIotPageResp(realTimeLocation);

+ 6 - 0
iot-platform-manager/src/main/java/com/platform/api/request/VehicleDataSaveRequest.java

@@ -80,6 +80,12 @@ public class VehicleDataSaveRequest extends PageRequest {
 
     private String wOrderNo;
 
+    /**
+     * 运单号
+     */
+
+    private String wayOrderNo;
+
     /**
      * 报警代码
      */

+ 4 - 0
iot-platform-manager/src/main/java/com/platform/service/impl/TaosServiceImpl.java

@@ -8,6 +8,7 @@ import com.platform.entity.VehicleTimeSeriesData;
 import com.platform.mapper.TaosMapper;
 import com.platform.service.TaosService;
 import jakarta.annotation.Resource;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -23,6 +24,7 @@ import java.util.stream.Collectors;
  */
 
 @Service
+@Slf4j
 public class TaosServiceImpl implements TaosService {
 
     @Resource
@@ -37,7 +39,9 @@ public class TaosServiceImpl implements TaosService {
     @Override
     public List<String> batchInsertVehicleData(List<VehicleDataSaveRequest> vehicleDataList) {
         try {
+            log.info("开始创建表");
             taosMapper.createVehicleDataTable();
+            log.info("创建表成功, 开始插入数据");
             taosMapper.batchInsertVehicleData(vehicleDataList);
         } catch (Exception e) {
             e.printStackTrace();