chenxiaofei 2 долоо хоног өмнө
parent
commit
6257bf5d9e

+ 8 - 2
sckw-common/sckw-common-core/src/main/java/com/sckw/core/utils/LocUtils.java

@@ -110,8 +110,14 @@ public class LocUtils {
             }
             
             // 从所有点位中均匀选取指定数量的点
-           // List<RoutePoint> selectedPoints = selectUniformPoints(allPoints, pointCount);
-            
+            //List<RoutePoint> selectedPoints = selectUniformPoints(allPoints, pointCount);
+            LocalDateTime now = LocalDateTime.now();
+            for (int i = 0; i < allPoints.size(); i++) {
+                RoutePoint point = allPoints.get(i);
+                point.setTs(now.plusMinutes(i * 5L));
+               // selectedPoints.add(point);
+            }
+
             RouteResult result = new RouteResult();
             result.setPointInfo(JSON.toJSONString(allPoints));
             result.setDuration(duration);

+ 4 - 0
sckw-modules-api/sckw-transport-api/src/main/java/com/sckw/transport/api/model/dto/VehicleDataDTO.java

@@ -19,6 +19,10 @@ public class VehicleDataDTO implements Serializable {
      * 运单号
      */
     private String wOrderNo;
+    /**
+     * 订单号
+     */
+    private String orderNo;
 
     /**
      * 车牌号

+ 13 - 11
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/kwfTruckTraceService.java

@@ -655,6 +655,7 @@ public class kwfTruckTraceService {
     private List<VehicleReturnData> getVehicleReturnDataList(String wOrderNo) {
         VehicleDataDTO vehicleDataDTO = new VehicleDataDTO();
         vehicleDataDTO.setWOrderNo(wOrderNo);
+        vehicleDataDTO.setOrderNo(wOrderNo);
         
         try {
             // 使用 Feign 调用查询车辆轨迹列表
@@ -1511,9 +1512,16 @@ public class kwfTruckTraceService {
         KwtLogisticsOrder logisticsOrder = kwtLogisticsOrderRepository.queryByLogisticsOrderId(subOrders.getLOrderId());
 
         // 构造要发送给数据中台的轨迹数据请求
-        routePoints.forEach(point -> {
-            VehiclesTrajectoryReq vehiclesTrajectoryReq = getVehiclesTrajectoryReq(req, order, point.getLongitude(), point.getLatitude(), logisticsOrder, fleetByTruckId);
-
+        String dateStr = req.getDate();
+        // 输入的日期字符串
+        LocalDate date = LocalDate.parse(dateStr, DateTimeFormatter.ofPattern("yyyy-MM-dd"));
+        LocalDateTime dateTime = date.atTime(LocalTime.now());
+        for (int i = 0; i < routePoints.size(); i++) {
+            LocUtils.RoutePoint routePoint = routePoints.get(i);
+            VehiclesTrajectoryReq vehiclesTrajectoryReq = getVehiclesTrajectoryReq(req, order, routePoint.getLongitude(), routePoint.getLatitude(), logisticsOrder, fleetByTruckId);
+            LocalDateTime localDateTime = dateTime.plusSeconds(i * 5L);
+            Timestamp timestamp = Timestamp.valueOf(localDateTime);
+            vehiclesTrajectoryReq.setTs(timestamp);
             try {
                 // 调用数据中台保存轨迹数据
                 log.info("调用数据中台保存车辆轨迹数据:{}", JSON.toJSONString(vehiclesTrajectoryReq));
@@ -1531,8 +1539,7 @@ public class kwfTruckTraceService {
                 log.error("生成车辆轨迹异常:", e);
                 throw new BusinessException("生成轨迹失败:" + e.getMessage());
             }
-        });
-
+        }
 
     }
 
@@ -1595,12 +1602,7 @@ public class kwfTruckTraceService {
     @NotNull
     private static VehiclesTrajectoryReq getVehiclesTrajectoryReq(GenerateTraceReq req, KwtWaybillOrder order, String longitude, String latitude, KwtLogisticsOrder logisticsOrder, RFleetVo fleetByTruckId) {
         VehiclesTrajectoryReq vehiclesTrajectoryReq = new VehiclesTrajectoryReq();
-        String dateStr = req.getDate();
-        // 输入的日期字符串
-        LocalDate date = LocalDate.parse(dateStr, DateTimeFormatter.ofPattern("yyyy-MM-dd"));
-        LocalDateTime dateTime = date.atTime(LocalTime.now());
-        Timestamp timestamp = Timestamp.valueOf(dateTime);
-        vehiclesTrajectoryReq.setTs(timestamp);
+
         vehiclesTrajectoryReq.setMobile(order.getDriverPhone());
         vehiclesTrajectoryReq.setTruckNo(req.getTruckNo());
         vehiclesTrajectoryReq.setLongitude(longitude);