diff --git a/src/main/java/com/ssf/mysqloracletest/task/VehicleRecordTask.java b/src/main/java/com/ssf/mysqloracletest/task/VehicleRecordTask.java index c43707b..8e9d84c 100644 --- a/src/main/java/com/ssf/mysqloracletest/task/VehicleRecordTask.java +++ b/src/main/java/com/ssf/mysqloracletest/task/VehicleRecordTask.java @@ -19,11 +19,9 @@ import org.slf4j.LoggerFactory; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; +import java.text.ParseException; import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.TimeZone; +import java.util.*; @RequiredArgsConstructor @Component @@ -89,8 +87,22 @@ public class VehicleRecordTask { transitVehicleRecord.setGlobalPic(tMotorvehicle.getStorageurl1()); transitVehicleRecord.setPlatePic(tMotorvehicle.getStorageurl2()); transitVehicleRecord.setDoorwayCode(tMotorvehicle.getTollgateid()); - transitVehicleRecord.setPassTime(dateFormat.parse(tMotorvehicle.getPasstime()).getTime()/1000); - transitVehicleRecord.setPartitionField(dateFormat.parse(tMotorvehicle.getPasstime())); + // 解析passtime字符串为Date对象 + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); // 假设passtime的格式是这种 + dateFormat.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai")); // 假设passtime是以UTC存储的 + Date passtimeDate; + try { + passtimeDate = dateFormat.parse(tMotorvehicle.getPasstime()); + } catch (ParseException e) { + e.printStackTrace(); + continue; + } + Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("Asia/Shanghai")); + calendar.setTime(passtimeDate); + calendar.add(Calendar.HOUR_OF_DAY, 8); + Date adjustedDate = calendar.getTime(); + transitVehicleRecord.setPassTime(adjustedDate.getTime() / 1000); + transitVehicleRecord.setPartitionField(adjustedDate); TransitVehicleRecord vehicleRecord = transitVehicleRecordService.lambdaQuery().eq(TransitVehicleRecord::getGlobalPic, tMotorvehicle.getStorageurl1()).one(); if (vehicleRecord == null){ boolean save = transitVehicleRecordService.save(transitVehicleRecord);