diff --git a/pom.xml b/pom.xml index 53eb0adf..e795bf40 100644 --- a/pom.xml +++ b/pom.xml @@ -1,331 +1,331 @@ - - - 4.0.0 - - com.qaup - qaup-management - 1.0.1 - - - 1.0.1 - UTF-8 - UTF-8 - 21 - 3.1.1 - 3.0.4 - 1.2.25 - 1.21 - 3.0.0 - 2.3.3 - 2.1.0 - 2.0.57 - 6.8.1 - 2.19.0 - 4.1.2 - 2.3 - 0.9.1 - 2.3.1 - 6.0.0 - 2.8.9 - - 28.5 - 1.20.0 - 2021.1.0 - - 1.18.38 - - 11.10.5 - - 1.5.18 - - - - - - - - org.springframework.boot - spring-boot-dependencies - 3.5.3 - pom - import - - - - - ch.qos.logback - logback-core - ${logback.version} - - - - ch.qos.logback - logback-classic - ${logback.version} - - - - - com.alibaba - druid-spring-boot-3-starter - ${druid.version} - - - - - eu.bitwalker - UserAgentUtils - ${bitwalker.version} - - - - - com.github.pagehelper - pagehelper-spring-boot-starter - ${pagehelper.boot.version} - - - - - com.github.oshi - oshi-core - ${oshi.version} - - - - - org.springdoc - springdoc-openapi-starter-webmvc-ui - ${springdoc.version} - - - - - commons-io - commons-io - ${commons.io.version} - - - - - org.apache.poi - poi-ooxml - ${poi.version} - - - - - org.apache.velocity - velocity-engine-core - ${velocity.version} - - - - - com.alibaba.fastjson2 - fastjson2 - ${fastjson.version} - - - - - io.jsonwebtoken - jjwt - ${jwt.version} - - - - - pro.fessional - kaptcha - ${kaptcha.version} - - - - - com.qaup - qaup-quartz - ${qaup.version} - - - - - com.qaup - qaup-generator - ${qaup.version} - - - - - com.qaup - qaup-framework - ${qaup.version} - - - - - com.qaup - qaup-system - ${qaup.version} - - - - - com.qaup - qaup-common - ${qaup.version} - - - - - com.qaup - qaup-collision - ${qaup.version} - - - - - org.locationtech.jts - jts-core - ${jts.version} - - - - org.geotools - gt-main - ${geotools.version} - - - - org.geotools - gt-referencing - ${geotools.version} - - - - org.geotools - gt-epsg-hsql - ${geotools.version} - - - - net.postgis - postgis-jdbc - ${postgis.version} - - - - - org.projectlombok - lombok - ${lombok.version} - provided - - - - - org.mybatis.spring.boot - mybatis-spring-boot-starter - ${mybatis-spring-boot.version} - - - - javax.xml.bind - jaxb-api - ${jaxb-api.version} - - - - jakarta.servlet - jakarta.servlet-api - ${jakarta.version} - - - - - io.netty - netty-all - 4.2.2.Final - - - - - org.flywaydb - flyway-core - ${flyway.version} - - - - org.flywaydb - flyway-database-postgresql - ${flyway.version} - - - - - - - qaup-admin - qaup-framework - qaup-system - qaup-quartz - qaup-generator - qaup-common - qaup-collision - - pom - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.14.0 - - ${java.version} - ${project.build.sourceEncoding} - true - - -parameters - - - + + + 4.0.0 + + com.qaup + qaup-management + 1.0.1 + + + 1.0.1 + UTF-8 + UTF-8 + 21 + 3.1.1 + 3.0.4 + 1.2.25 + 1.21 + 3.0.0 + 2.3.3 + 2.1.0 + 2.0.57 + 6.8.1 + 2.19.0 + 4.1.2 + 2.3 + 0.9.1 + 2.3.1 + 6.0.0 + 2.8.9 + + 28.5 + 1.20.0 + 2021.1.0 + + 1.18.38 + + 11.10.5 + + 1.5.18 + + + + + + + + org.springframework.boot + spring-boot-dependencies + 3.5.6 + pom + import + + + + + ch.qos.logback + logback-core + ${logback.version} + + + + ch.qos.logback + logback-classic + ${logback.version} + + + + + com.alibaba + druid-spring-boot-3-starter + ${druid.version} + + + + + eu.bitwalker + UserAgentUtils + ${bitwalker.version} + + + + + com.github.pagehelper + pagehelper-spring-boot-starter + ${pagehelper.boot.version} + + + + + com.github.oshi + oshi-core + ${oshi.version} + + + + + org.springdoc + springdoc-openapi-starter-webmvc-ui + ${springdoc.version} + + + + + commons-io + commons-io + ${commons.io.version} + + + + + org.apache.poi + poi-ooxml + ${poi.version} + + + + + org.apache.velocity + velocity-engine-core + ${velocity.version} + + + + + com.alibaba.fastjson2 + fastjson2 + ${fastjson.version} + + + + + io.jsonwebtoken + jjwt + ${jwt.version} + + + + + pro.fessional + kaptcha + ${kaptcha.version} + + + + + com.qaup + qaup-quartz + ${qaup.version} + + + + + com.qaup + qaup-generator + ${qaup.version} + + + + + com.qaup + qaup-framework + ${qaup.version} + + + + + com.qaup + qaup-system + ${qaup.version} + + + + + com.qaup + qaup-common + ${qaup.version} + + + + + com.qaup + qaup-collision + ${qaup.version} + + + + + org.locationtech.jts + jts-core + ${jts.version} + + + + org.geotools + gt-main + ${geotools.version} + + + + org.geotools + gt-referencing + ${geotools.version} + + + + org.geotools + gt-epsg-hsql + ${geotools.version} + + + + net.postgis + postgis-jdbc + ${postgis.version} + + + + + org.projectlombok + lombok + ${lombok.version} + provided + + + + + org.mybatis.spring.boot + mybatis-spring-boot-starter + ${mybatis-spring-boot.version} + + + + javax.xml.bind + jaxb-api + ${jaxb-api.version} + + + + jakarta.servlet + jakarta.servlet-api + ${jakarta.version} + + + + + io.netty + netty-all + 4.2.2.Final + + + + + org.flywaydb + flyway-core + ${flyway.version} + + + + org.flywaydb + flyway-database-postgresql + ${flyway.version} + + + + + + + qaup-admin + qaup-framework + qaup-system + qaup-quartz + qaup-generator + qaup-common + qaup-collision + + pom + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.14.0 + + ${java.version} + ${project.build.sourceEncoding} + true + + -parameters + + + org.springframework.boot spring-boot-maven-plugin - 3.5.3 + 3.5.6 --enable-native-access=ALL-UNNAMED --enable-preview - - - - - - - public - aliyun nexus - https://maven.aliyun.com/repository/public - - true - - - - - - - public - aliyun nexus - https://maven.aliyun.com/repository/public - - true - - - false - - - - + + + + + + + public + aliyun nexus + https://maven.aliyun.com/repository/public + + true + + + + + + + public + aliyun nexus + https://maven.aliyun.com/repository/public + + true + + + false + + + + \ No newline at end of file diff --git a/qaup-collision/src/main/java/com/qaup/collision/common/service/AirportAreaCacheService.java b/qaup-collision/src/main/java/com/qaup/collision/common/service/AirportAreaCacheService.java index 9a041e78..50462f28 100644 --- a/qaup-collision/src/main/java/com/qaup/collision/common/service/AirportAreaCacheService.java +++ b/qaup-collision/src/main/java/com/qaup/collision/common/service/AirportAreaCacheService.java @@ -3,7 +3,6 @@ package com.qaup.collision.common.service; import com.qaup.collision.common.model.spatial.AirportArea; import com.qaup.collision.common.model.base.CacheConstants; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; @@ -28,7 +27,6 @@ public class AirportAreaCacheService { private final RedisTemplate redisTemplate; - @Autowired public AirportAreaCacheService( @Qualifier("redisTemplate") RedisTemplate redisTemplate) { this.redisTemplate = redisTemplate; diff --git a/qaup-collision/src/main/java/com/qaup/collision/common/service/SpatialQueryCacheService.java b/qaup-collision/src/main/java/com/qaup/collision/common/service/SpatialQueryCacheService.java index 760943ab..1214e6e1 100644 --- a/qaup-collision/src/main/java/com/qaup/collision/common/service/SpatialQueryCacheService.java +++ b/qaup-collision/src/main/java/com/qaup/collision/common/service/SpatialQueryCacheService.java @@ -3,7 +3,6 @@ package com.qaup.collision.common.service; import com.qaup.collision.common.model.base.CacheConstants; import com.qaup.collision.common.model.spatial.VehicleLocation; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; @@ -27,7 +26,6 @@ public class SpatialQueryCacheService { private final RedisTemplate redisTemplate; - @Autowired public SpatialQueryCacheService( @Qualifier("redisTemplate") RedisTemplate redisTemplate) { this.redisTemplate = redisTemplate; diff --git a/qaup-collision/src/main/java/com/qaup/collision/common/service/VehicleLocationCacheService.java b/qaup-collision/src/main/java/com/qaup/collision/common/service/VehicleLocationCacheService.java index 89a65341..67ddc649 100644 --- a/qaup-collision/src/main/java/com/qaup/collision/common/service/VehicleLocationCacheService.java +++ b/qaup-collision/src/main/java/com/qaup/collision/common/service/VehicleLocationCacheService.java @@ -3,7 +3,6 @@ package com.qaup.collision.common.service; import com.qaup.collision.common.model.spatial.VehicleLocation; import com.qaup.collision.common.model.base.CacheConstants; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; @@ -31,7 +30,6 @@ public class VehicleLocationCacheService { private final RedisTemplate redisTemplate; - @Autowired public VehicleLocationCacheService( @Qualifier("redisTemplate") RedisTemplate redisTemplate) { this.redisTemplate = redisTemplate; diff --git a/qaup-collision/src/main/java/com/qaup/collision/datacollector/dao/DataCollectorDao.java b/qaup-collision/src/main/java/com/qaup/collision/datacollector/dao/DataCollectorDao.java index bbf68345..3845833b 100644 --- a/qaup-collision/src/main/java/com/qaup/collision/datacollector/dao/DataCollectorDao.java +++ b/qaup-collision/src/main/java/com/qaup/collision/datacollector/dao/DataCollectorDao.java @@ -1,6 +1,5 @@ package com.qaup.collision.datacollector.dao; - import com.qaup.collision.common.model.Aircraft; import com.qaup.collision.common.model.AirportVehicle; import com.qaup.collision.common.model.dto.Response; @@ -16,7 +15,6 @@ import lombok.Data; import lombok.NoArgsConstructor; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.core.ParameterizedTypeReference; import org.springframework.http.HttpEntity; @@ -55,7 +53,6 @@ public class DataCollectorDao { private final AuthService authService; private final GeometryFactory geometryFactory; - @Autowired public DataCollectorDao(RestTemplate restTemplate, AuthService authService) { this.restTemplate = restTemplate; this.authService = authService; diff --git a/qaup-collision/src/main/java/com/qaup/collision/datacollector/sdk/AdxpFlightServiceHttpClient.java b/qaup-collision/src/main/java/com/qaup/collision/datacollector/sdk/AdxpFlightServiceHttpClient.java index 7b64616e..92784993 100644 --- a/qaup-collision/src/main/java/com/qaup/collision/datacollector/sdk/AdxpFlightServiceHttpClient.java +++ b/qaup-collision/src/main/java/com/qaup/collision/datacollector/sdk/AdxpFlightServiceHttpClient.java @@ -1,11 +1,10 @@ package com.qaup.collision.datacollector.sdk; -import com.fasterxml.jackson.databind.ObjectMapper; import com.qaup.collision.datacollector.config.FlightSdkProperties; import com.qaup.collision.datacollector.dto.FlightNotificationDTO; -import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.core.ParameterizedTypeReference; import org.springframework.http.*; import org.springframework.stereotype.Component; import org.springframework.util.StringUtils; @@ -41,7 +40,6 @@ public class AdxpFlightServiceHttpClient implements org.springframework.beans.fa private final FlightSdkProperties properties; private final RestTemplate restTemplate; - private final ObjectMapper objectMapper; private final ReentrantLock sessionLock = new ReentrantLock(); private String sessionId; @@ -50,7 +48,6 @@ public class AdxpFlightServiceHttpClient implements org.springframework.beans.fa public AdxpFlightServiceHttpClient(FlightSdkProperties properties) { this.properties = properties; this.restTemplate = new RestTemplate(); - this.objectMapper = new ObjectMapper(); } @Override @@ -91,10 +88,11 @@ public class AdxpFlightServiceHttpClient implements org.springframework.beans.fa headers.setContentType(MediaType.APPLICATION_JSON); HttpEntity> entity = new HttpEntity<>(loginRequest, headers); - ResponseEntity response = restTemplate.postForEntity( + ResponseEntity> response = restTemplate.exchange( baseUrl + "/login", + HttpMethod.POST, entity, - Map.class + new ParameterizedTypeReference>() {} ); Map body = response.getBody(); @@ -125,10 +123,11 @@ public class AdxpFlightServiceHttpClient implements org.springframework.beans.fa headers.setContentType(MediaType.APPLICATION_JSON); HttpEntity> entity = new HttpEntity<>(logoutRequest, headers); - restTemplate.postForEntity( + restTemplate.exchange( baseUrl + "/logout", + HttpMethod.POST, entity, - Map.class + new ParameterizedTypeReference>() {} ); log.info("已登出 ADXP 适配器服务"); @@ -145,7 +144,12 @@ public class AdxpFlightServiceHttpClient implements org.springframework.beans.fa sessionLock.lock(); try { String url = baseUrl + "/messages?sessionId=" + sessionId; - ResponseEntity response = restTemplate.getForEntity(url, Map.class); + ResponseEntity> response = restTemplate.exchange( + url, + HttpMethod.GET, + null, + new ParameterizedTypeReference>() {} + ); Map body = response.getBody(); if (body == null || !Boolean.TRUE.equals(body.get("success"))) { diff --git a/qaup-collision/src/main/java/com/qaup/collision/rule/repository/RuleViolationEventRepository.java b/qaup-collision/src/main/java/com/qaup/collision/rule/repository/RuleViolationEventRepository.java index 664ec21e..8cf5b6f1 100644 --- a/qaup-collision/src/main/java/com/qaup/collision/rule/repository/RuleViolationEventRepository.java +++ b/qaup-collision/src/main/java/com/qaup/collision/rule/repository/RuleViolationEventRepository.java @@ -19,7 +19,7 @@ import java.util.List; * @since 2025-01-17 */ @Repository -public interface RuleViolationEventRepository extends JpaRepository { +public interface RuleViolationEventRepository extends JpaRepository { /** * 根据车牌号查询违规事件(通过关联sys_vehicle_info表) diff --git a/qaup-collision/src/main/java/com/qaup/collision/rule/service/RuleViolationProcessor.java b/qaup-collision/src/main/java/com/qaup/collision/rule/service/RuleViolationProcessor.java index 0a07090a..6c20b88b 100644 --- a/qaup-collision/src/main/java/com/qaup/collision/rule/service/RuleViolationProcessor.java +++ b/qaup-collision/src/main/java/com/qaup/collision/rule/service/RuleViolationProcessor.java @@ -82,7 +82,7 @@ public interface RuleViolationProcessor { * @param notes 确认备注 * @return 是否成功 */ - boolean acknowledgeViolation(String eventId, String acknowledgedBy, String notes); + boolean acknowledgeViolation(Long eventId, String acknowledgedBy, String notes); /** * 解决违规事件 @@ -92,7 +92,7 @@ public interface RuleViolationProcessor { * @param resolution 解决方案 * @return 是否成功 */ - boolean resolveViolation(String eventId, String resolvedBy, String resolution); + boolean resolveViolation(Long eventId, String resolvedBy, String resolution); /** * 忽略违规事件 @@ -102,7 +102,7 @@ public interface RuleViolationProcessor { * @param reason 忽略原因 * @return 是否成功 */ - boolean ignoreViolation(String eventId, String ignoredBy, String reason); + boolean ignoreViolation(Long eventId, String ignoredBy, String reason); // ============================================ // 违规事件查询 diff --git a/qaup-collision/src/main/java/com/qaup/collision/rule/service/impl/RuleViolationProcessorImpl.java b/qaup-collision/src/main/java/com/qaup/collision/rule/service/impl/RuleViolationProcessorImpl.java index 5349bae0..2603e697 100644 --- a/qaup-collision/src/main/java/com/qaup/collision/rule/service/impl/RuleViolationProcessorImpl.java +++ b/qaup-collision/src/main/java/com/qaup/collision/rule/service/impl/RuleViolationProcessorImpl.java @@ -170,7 +170,7 @@ public class RuleViolationProcessorImpl implements RuleViolationProcessor { // ============================================ @Override - public boolean acknowledgeViolation(String eventId, String acknowledgedBy, String notes) { + public boolean acknowledgeViolation(Long eventId, String acknowledgedBy, String notes) { try { Optional eventOpt = violationEventRepository.findById(eventId); if (!eventOpt.isPresent()) { @@ -189,7 +189,7 @@ public class RuleViolationProcessorImpl implements RuleViolationProcessor { } @Override - public boolean resolveViolation(String eventId, String resolvedBy, String resolution) { + public boolean resolveViolation(Long eventId, String resolvedBy, String resolution) { try { Optional eventOpt = violationEventRepository.findById(eventId); if (!eventOpt.isPresent()) { @@ -208,7 +208,7 @@ public class RuleViolationProcessorImpl implements RuleViolationProcessor { } @Override - public boolean ignoreViolation(String eventId, String ignoredBy, String reason) { + public boolean ignoreViolation(Long eventId, String ignoredBy, String reason) { try { Optional eventOpt = violationEventRepository.findById(eventId); if (!eventOpt.isPresent()) { diff --git a/qaup-collision/src/main/java/com/qaup/collision/websocket/broadcaster/WebSocketMessageBroadcaster.java b/qaup-collision/src/main/java/com/qaup/collision/websocket/broadcaster/WebSocketMessageBroadcaster.java index 76a35b95..d2a37db2 100644 --- a/qaup-collision/src/main/java/com/qaup/collision/websocket/broadcaster/WebSocketMessageBroadcaster.java +++ b/qaup-collision/src/main/java/com/qaup/collision/websocket/broadcaster/WebSocketMessageBroadcaster.java @@ -24,7 +24,6 @@ import com.qaup.collision.websocket.message.PathConflictAlertMessage; import com.qaup.collision.websocket.handler.CollisionWebSocketHandler; import org.springframework.stereotype.Component; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.context.event.EventListener; import org.springframework.scheduling.annotation.Async; @@ -46,7 +45,6 @@ public class WebSocketMessageBroadcaster { private final CollisionWebSocketHandler collisionWebSocketHandler; // 注入实例 private final ObjectMapper objectMapper; // JSON序列化器 - @Autowired public WebSocketMessageBroadcaster(MessageCacheService messageCacheService, CollisionWebSocketHandler collisionWebSocketHandler, @Qualifier("websocketObjectMapper") ObjectMapper objectMapper) { this.messageCacheService = messageCacheService; this.collisionWebSocketHandler = collisionWebSocketHandler; diff --git a/qaup-collision/src/main/java/com/qaup/collision/websocket/cache/MessageCacheService.java b/qaup-collision/src/main/java/com/qaup/collision/websocket/cache/MessageCacheService.java index 0c05f4a7..b7946d6b 100644 --- a/qaup-collision/src/main/java/com/qaup/collision/websocket/cache/MessageCacheService.java +++ b/qaup-collision/src/main/java/com/qaup/collision/websocket/cache/MessageCacheService.java @@ -1,6 +1,5 @@ package com.qaup.collision.websocket.cache; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; @@ -25,7 +24,6 @@ public class MessageCacheService { private static final int MAX_CACHED_MESSAGES = 50; // 每类型最多缓存50条消息(优化内存占用) private static final Duration CACHE_EXPIRY = Duration.ofMinutes(10); // 10分钟过期(从30分钟优化) - @Autowired public MessageCacheService(@Qualifier("websocketRedisTemplate") RedisTemplate redisTemplate) { this.redisTemplate = redisTemplate; } diff --git a/qaup-collision/src/test/java/com/qaup/collision/datacollector/service/VehicleStatusUpdateIntegrationTest.java b/qaup-collision/src/test/java/com/qaup/collision/datacollector/service/VehicleStatusUpdateIntegrationTest.java index cac620ac..c219794a 100644 --- a/qaup-collision/src/test/java/com/qaup/collision/datacollector/service/VehicleStatusUpdateIntegrationTest.java +++ b/qaup-collision/src/test/java/com/qaup/collision/datacollector/service/VehicleStatusUpdateIntegrationTest.java @@ -3,7 +3,6 @@ package com.qaup.collision.datacollector.service; import com.qaup.collision.common.model.MovingObject; import com.qaup.collision.common.model.MovingObject.MovingObjectType; import com.qaup.collision.datacollector.dao.DataCollectorDao; -import com.qaup.collision.datacollector.model.dto.UniversalVehicleStatusDTO; import com.qaup.collision.dataprocessing.service.DataProcessingService; import com.qaup.collision.websocket.event.VehicleStatusUpdateEvent; import org.junit.jupiter.api.BeforeEach;