From 51960eaad46297899f438a354490fa42a17c0d82 Mon Sep 17 00:00:00 2001 From: zzw <2029503428@qq.com> Date: Wed, 17 Jun 2026 20:04:39 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9QGIS=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xian/{core => }/config/RabbitConfig.java | 4 +- .../{core => }/config/RestClientConfig.java | 8 +- .../typehandler}/GeometryTypeHandler.java | 2 +- .../com/gis/xian/constant/BaseConstants.java | 3 - .../xian/controller/DZEqEventController.java | 17 ++- .../controller/DZInfluenceController.java | 21 ++-- .../xian/controller/DZProductController.java | 18 ++- .../gis/xian/controller/REventController.java | 10 +- ...sage.java => DeadLetterMessageDomain.java} | 6 +- .../dto/{ => qgis}/base/ActiveFaultDTO.java | 2 +- .../qgis/base}/ProductQuery.java | 2 +- .../qgis/base/QgisArgsParams.java} | 4 +- .../dto/{ => qgis}/base/ShanXiCitiesDTO.java | 2 +- .../dto/{ => qgis}/base/ShanXiCountyDTO.java | 2 +- .../dto/{ => qgis}/base/ShanXiTownsDTO.java | 2 +- .../earthquake/EarthquakeAssessmentDTO.java} | 4 +- .../earthquake/EarthquakeCenterDTO.java} | 4 +- .../earthquake/EarthquakeDistanceDTO.java} | 4 +- .../earthquake/EarthquakeInfluenceDTO.java} | 4 +- .../EarthquakeInfluenceGeoJsonDTO.java} | 4 +- .../EarthquakeInformationInfluenceDTO.java} | 4 +- .../earthquake/EarthquakeIntensityQuery.java} | 4 +- .../earthquake/EarthquakeProductDTO.java} | 4 +- .../qgis/earthquake/EarthquakeQuery.java} | 6 +- .../earthquake/EarthquakeTriggerDTO.java} | 4 +- .../rain/RainAssessmentDTO.java} | 4 +- .../rain/RainEventDTO.java} | 4 +- .../qgis/rain/RainQuery.java} | 4 +- .../rain/RainTriggerDTO.java} | 4 +- .../entity/{ => qgis}/base/ActiveFault.java | 5 +- .../xian/entity/{ => qgis}/base/SXCities.java | 2 +- .../xian/entity/{ => qgis}/base/SXCounty.java | 2 +- .../xian/entity/{ => qgis}/base/SXTowns.java | 2 +- .../earthquake/EarthquakeCenter.java} | 8 +- .../earthquake/EarthquakeDistance.java} | 4 +- .../earthquake/EarthquakeEvent.java} | 4 +- .../earthquake/EarthquakeGisInfluence.java} | 4 +- .../earthquake/EarthquakeInfluence.java} | 4 +- .../earthquake/EarthquakeProduct.java} | 4 +- .../earthquake/EarthquakeQueue.java} | 4 +- .../REvent.java => qgis/rain/RainEvent.java} | 6 +- .../gis/xian/enums/{ => qgis}/BaseEnums.java | 2 +- .../EarthquakeMapsEnums.java} | 4 +- .../xian/enums/{ => qgis}/RainMapsEnums.java | 2 +- .../DeadLetterMessageListener.java} | 47 ++++---- .../{ => qgis}/MapReceiveListener.java | 18 +-- .../xian/mapper/pub/DZInfluenceMapper.java | 15 --- .../gis/xian/mapper/pub/DZProductMapper.java | 15 --- .../{ => qgis}/base/ActiveFaultMapper.java | 5 +- .../{ => qgis}/base/ShanXiCitiesMapper.java | 5 +- .../{ => qgis}/base/ShanXiCountyMapper.java | 5 +- .../{ => qgis}/base/ShanXiTownsMapper.java | 5 +- .../earthquake/EarthquakeCenterMapper.java} | 7 +- .../earthquake/EarthquakeDistanceMapper.java} | 7 +- .../earthquake/EarthquakeEventMapper.java} | 7 +- .../EarthquakeGISInfluenceMapper.java} | 7 +- .../earthquake/EarthquakeInfluenceMapper.java | 14 +++ .../earthquake/EarthquakeProductMapper.java | 14 +++ .../earthquake/EarthquakeQueueMapper.java} | 7 +- .../rain/RainEventMapper.java} | 6 +- .../xian/service/dzxx/IDZXXCenterService.java | 19 --- .../service/dzxx/IDZXXInfluenceService.java | 29 ----- .../xian/service/pub/IDZEqEventService.java | 22 ---- .../xian/service/pub/IDZEqQueueService.java | 25 ---- .../xian/service/pub/IDZInfluenceService.java | 25 ---- .../xian/service/pub/IDZProductService.java | 29 ----- .../gis/xian/service/pub/IREventService.java | 21 ---- .../qgis/base/DeadLetterMessageService.java} | 16 +-- .../{ => qgis}/base/IActiveFaultService.java | 6 +- .../{pub => qgis/base}/IFeignService.java | 6 +- .../{ => qgis}/base/IShanXiCitiesService.java | 6 +- .../{ => qgis}/base/IShanXiCountyService.java | 6 +- .../{ => qgis}/base/IShanXiTownsService.java | 6 +- .../base/impl/ActiveFaultServiceImpl.java | 12 +- .../base}/impl/FeignServiceImpl.java | 29 +++-- .../base/impl/ShanXiCitiesServiceImpl.java | 12 +- .../base/impl/ShanXiCountyServiceImpl.java | 12 +- .../base/impl/ShanXiTownsServiceImpl.java | 12 +- .../earthquake/IEarthquakeEventService.java | 22 ++++ .../IEarthquakeInfluenceService.java | 25 ++++ .../IEarthquakeInformationCenterService.java | 19 +++ ...EarthquakeInformationDistanceService.java} | 6 +- ...EarthquakeInformationInfluenceService.java | 29 +++++ .../earthquake/IEarthquakeProductService.java | 29 +++++ .../earthquake/IEarthquakeQueueService.java | 25 ++++ .../impl/EarthquakeEventServiceImpl.java} | 45 ++++--- .../impl/EarthquakeInfluenceServiceImpl.java} | 53 ++++---- ...rthquakeInformationCenterServiceImpl.java} | 16 +-- ...hquakeInformationDistanceServiceImpl.java} | 51 ++++---- ...quakeInformationInfluenceServiceImpl.java} | 99 ++++++++------- .../impl/EarthquakeProductServiceImpl.java} | 113 +++++++++--------- .../impl/EarthquakeQueueServiceImpl.java} | 57 +++++---- .../service/qgis/rain/IREventService.java | 21 ++++ .../rain/impl/RainEventServiceImpl.java} | 40 +++---- ...lient.java => HttpRequestClientUtils.java} | 7 +- .../qgis}/EarthquakeHandler.java | 36 +++--- .../qgis}/EllipseToWktHandler.java | 20 ++-- .../qgis}/GeoDistanceHandler.java | 2 +- .../qgis}/GeoFilesHandler.java | 28 ++--- src/main/resources/application-dev.yml | 10 +- 100 files changed, 702 insertions(+), 746 deletions(-) rename src/main/java/com/gis/xian/{core => }/config/RabbitConfig.java (95%) rename src/main/java/com/gis/xian/{core => }/config/RestClientConfig.java (69%) rename src/main/java/com/gis/xian/{handler => config/typehandler}/GeometryTypeHandler.java (99%) rename src/main/java/com/gis/xian/domain/{DlqMessage.java => DeadLetterMessageDomain.java} (69%) rename src/main/java/com/gis/xian/dto/{ => qgis}/base/ActiveFaultDTO.java (94%) rename src/main/java/com/gis/xian/{query => dto/qgis/base}/ProductQuery.java (93%) rename src/main/java/com/gis/xian/{params/QgisArgs.java => dto/qgis/base/QgisArgsParams.java} (90%) rename src/main/java/com/gis/xian/dto/{ => qgis}/base/ShanXiCitiesDTO.java (93%) rename src/main/java/com/gis/xian/dto/{ => qgis}/base/ShanXiCountyDTO.java (93%) rename src/main/java/com/gis/xian/dto/{ => qgis}/base/ShanXiTownsDTO.java (93%) rename src/main/java/com/gis/xian/dto/{pub/EqAssessmentDTO.java => qgis/earthquake/EarthquakeAssessmentDTO.java} (88%) rename src/main/java/com/gis/xian/dto/{dzxx/DZXXCenterDTO.java => qgis/earthquake/EarthquakeCenterDTO.java} (85%) rename src/main/java/com/gis/xian/dto/{dzxx/DZXXDistanceDTO.java => qgis/earthquake/EarthquakeDistanceDTO.java} (85%) rename src/main/java/com/gis/xian/dto/{pub/DZInfluenceDTO.java => qgis/earthquake/EarthquakeInfluenceDTO.java} (83%) rename src/main/java/com/gis/xian/dto/{pub/IntyGeoJsonDTO.java => qgis/earthquake/EarthquakeInfluenceGeoJsonDTO.java} (92%) rename src/main/java/com/gis/xian/dto/{dzxx/DZXXInfluenceDTO.java => qgis/earthquake/EarthquakeInformationInfluenceDTO.java} (85%) rename src/main/java/com/gis/xian/{query/IntensityQuery.java => dto/qgis/earthquake/EarthquakeIntensityQuery.java} (85%) rename src/main/java/com/gis/xian/dto/{pub/DZProductDTO.java => qgis/earthquake/EarthquakeProductDTO.java} (89%) rename src/main/java/com/gis/xian/{query/EqQuery.java => dto/qgis/earthquake/EarthquakeQuery.java} (79%) rename src/main/java/com/gis/xian/dto/{pub/EqTriggerDTO.java => qgis/earthquake/EarthquakeTriggerDTO.java} (88%) rename src/main/java/com/gis/xian/dto/{pub/RAssessmentDTO.java => qgis/rain/RainAssessmentDTO.java} (86%) rename src/main/java/com/gis/xian/dto/{pub/REventDTO.java => qgis/rain/RainEventDTO.java} (89%) rename src/main/java/com/gis/xian/{query/RQuery.java => dto/qgis/rain/RainQuery.java} (82%) rename src/main/java/com/gis/xian/dto/{pub/RTriggerDTO.java => qgis/rain/RainTriggerDTO.java} (87%) rename src/main/java/com/gis/xian/entity/{ => qgis}/base/ActiveFault.java (96%) rename src/main/java/com/gis/xian/entity/{ => qgis}/base/SXCities.java (96%) rename src/main/java/com/gis/xian/entity/{ => qgis}/base/SXCounty.java (96%) rename src/main/java/com/gis/xian/entity/{ => qgis}/base/SXTowns.java (96%) rename src/main/java/com/gis/xian/entity/{dzxx/DZXXCenter.java => qgis/earthquake/EarthquakeCenter.java} (87%) rename src/main/java/com/gis/xian/entity/{dzxx/DZXXDistance.java => qgis/earthquake/EarthquakeDistance.java} (93%) rename src/main/java/com/gis/xian/entity/{pub/DZEqEvent.java => qgis/earthquake/EarthquakeEvent.java} (96%) rename src/main/java/com/gis/xian/entity/{dzxx/DZXXInfluence.java => qgis/earthquake/EarthquakeGisInfluence.java} (94%) rename src/main/java/com/gis/xian/entity/{pub/DZInfluence.java => qgis/earthquake/EarthquakeInfluence.java} (94%) rename src/main/java/com/gis/xian/entity/{pub/DZProduct.java => qgis/earthquake/EarthquakeProduct.java} (95%) rename src/main/java/com/gis/xian/entity/{pub/DZEqQueue.java => qgis/earthquake/EarthquakeQueue.java} (95%) rename src/main/java/com/gis/xian/entity/{pub/REvent.java => qgis/rain/RainEvent.java} (92%) rename src/main/java/com/gis/xian/enums/{ => qgis}/BaseEnums.java (95%) rename src/main/java/com/gis/xian/enums/{EqMapsEnums.java => qgis/EarthquakeMapsEnums.java} (95%) rename src/main/java/com/gis/xian/enums/{ => qgis}/RainMapsEnums.java (97%) rename src/main/java/com/gis/xian/{core/rabbitmq/DlqConsumer.java => listener/DeadLetterMessageListener.java} (70%) rename src/main/java/com/gis/xian/listener/{ => qgis}/MapReceiveListener.java (85%) delete mode 100644 src/main/java/com/gis/xian/mapper/pub/DZInfluenceMapper.java delete mode 100644 src/main/java/com/gis/xian/mapper/pub/DZProductMapper.java rename src/main/java/com/gis/xian/mapper/{ => qgis}/base/ActiveFaultMapper.java (69%) rename src/main/java/com/gis/xian/mapper/{ => qgis}/base/ShanXiCitiesMapper.java (70%) rename src/main/java/com/gis/xian/mapper/{ => qgis}/base/ShanXiCountyMapper.java (70%) rename src/main/java/com/gis/xian/mapper/{ => qgis}/base/ShanXiTownsMapper.java (70%) rename src/main/java/com/gis/xian/mapper/{dzxx/DZXXCenterMapper.java => qgis/earthquake/EarthquakeCenterMapper.java} (51%) rename src/main/java/com/gis/xian/mapper/{dzxx/DZXXDistanceMapper.java => qgis/earthquake/EarthquakeDistanceMapper.java} (52%) rename src/main/java/com/gis/xian/mapper/{pub/DZEqEventMapper.java => qgis/earthquake/EarthquakeEventMapper.java} (52%) rename src/main/java/com/gis/xian/mapper/{dzxx/DZXXInfluenceMapper.java => qgis/earthquake/EarthquakeGISInfluenceMapper.java} (51%) create mode 100644 src/main/java/com/gis/xian/mapper/qgis/earthquake/EarthquakeInfluenceMapper.java create mode 100644 src/main/java/com/gis/xian/mapper/qgis/earthquake/EarthquakeProductMapper.java rename src/main/java/com/gis/xian/mapper/{pub/DZEqQueueMapper.java => qgis/earthquake/EarthquakeQueueMapper.java} (52%) rename src/main/java/com/gis/xian/mapper/{pub/REventMapper.java => qgis/rain/RainEventMapper.java} (56%) delete mode 100644 src/main/java/com/gis/xian/service/dzxx/IDZXXCenterService.java delete mode 100644 src/main/java/com/gis/xian/service/dzxx/IDZXXInfluenceService.java delete mode 100644 src/main/java/com/gis/xian/service/pub/IDZEqEventService.java delete mode 100644 src/main/java/com/gis/xian/service/pub/IDZEqQueueService.java delete mode 100644 src/main/java/com/gis/xian/service/pub/IDZInfluenceService.java delete mode 100644 src/main/java/com/gis/xian/service/pub/IDZProductService.java delete mode 100644 src/main/java/com/gis/xian/service/pub/IREventService.java rename src/main/java/com/gis/xian/{core/rabbitmq/DlqOperate.java => service/qgis/base/DeadLetterMessageService.java} (76%) rename src/main/java/com/gis/xian/service/{ => qgis}/base/IActiveFaultService.java (74%) rename src/main/java/com/gis/xian/service/{pub => qgis/base}/IFeignService.java (62%) rename src/main/java/com/gis/xian/service/{ => qgis}/base/IShanXiCitiesService.java (75%) rename src/main/java/com/gis/xian/service/{ => qgis}/base/IShanXiCountyService.java (80%) rename src/main/java/com/gis/xian/service/{ => qgis}/base/IShanXiTownsService.java (79%) rename src/main/java/com/gis/xian/service/{ => qgis}/base/impl/ActiveFaultServiceImpl.java (94%) rename src/main/java/com/gis/xian/service/{pub => qgis/base}/impl/FeignServiceImpl.java (80%) rename src/main/java/com/gis/xian/service/{ => qgis}/base/impl/ShanXiCitiesServiceImpl.java (94%) rename src/main/java/com/gis/xian/service/{ => qgis}/base/impl/ShanXiCountyServiceImpl.java (92%) rename src/main/java/com/gis/xian/service/{ => qgis}/base/impl/ShanXiTownsServiceImpl.java (92%) create mode 100644 src/main/java/com/gis/xian/service/qgis/earthquake/IEarthquakeEventService.java create mode 100644 src/main/java/com/gis/xian/service/qgis/earthquake/IEarthquakeInfluenceService.java create mode 100644 src/main/java/com/gis/xian/service/qgis/earthquake/IEarthquakeInformationCenterService.java rename src/main/java/com/gis/xian/service/{dzxx/IDZXXDistanceService.java => qgis/earthquake/IEarthquakeInformationDistanceService.java} (63%) create mode 100644 src/main/java/com/gis/xian/service/qgis/earthquake/IEarthquakeInformationInfluenceService.java create mode 100644 src/main/java/com/gis/xian/service/qgis/earthquake/IEarthquakeProductService.java create mode 100644 src/main/java/com/gis/xian/service/qgis/earthquake/IEarthquakeQueueService.java rename src/main/java/com/gis/xian/service/{pub/impl/DZEqEventServiceImpl.java => qgis/earthquake/impl/EarthquakeEventServiceImpl.java} (62%) rename src/main/java/com/gis/xian/service/{pub/impl/DZInfluenceServiceImpl.java => qgis/earthquake/impl/EarthquakeInfluenceServiceImpl.java} (61%) rename src/main/java/com/gis/xian/service/{dzxx/impl/DZXXCenterServiceImpl.java => qgis/earthquake/impl/EarthquakeInformationCenterServiceImpl.java} (72%) rename src/main/java/com/gis/xian/service/{dzxx/impl/DZXXDistanceServiceImpl.java => qgis/earthquake/impl/EarthquakeInformationDistanceServiceImpl.java} (70%) rename src/main/java/com/gis/xian/service/{dzxx/impl/DZXXInfluenceServiceImpl.java => qgis/earthquake/impl/EarthquakeInformationInfluenceServiceImpl.java} (59%) rename src/main/java/com/gis/xian/service/{pub/impl/DZProductServiceImpl.java => qgis/earthquake/impl/EarthquakeProductServiceImpl.java} (69%) rename src/main/java/com/gis/xian/service/{pub/impl/DZEqQueueServiceImpl.java => qgis/earthquake/impl/EarthquakeQueueServiceImpl.java} (74%) create mode 100644 src/main/java/com/gis/xian/service/qgis/rain/IREventService.java rename src/main/java/com/gis/xian/service/{pub/impl/REventServiceImpl.java => qgis/rain/impl/RainEventServiceImpl.java} (75%) rename src/main/java/com/gis/xian/utils/{http/HttpRestClient.java => HttpRequestClientUtils.java} (97%) rename src/main/java/com/gis/xian/{handler => utils/qgis}/EarthquakeHandler.java (73%) rename src/main/java/com/gis/xian/{handler => utils/qgis}/EllipseToWktHandler.java (90%) rename src/main/java/com/gis/xian/{handler => utils/qgis}/GeoDistanceHandler.java (99%) rename src/main/java/com/gis/xian/{handler => utils/qgis}/GeoFilesHandler.java (76%) diff --git a/src/main/java/com/gis/xian/core/config/RabbitConfig.java b/src/main/java/com/gis/xian/config/RabbitConfig.java similarity index 95% rename from src/main/java/com/gis/xian/core/config/RabbitConfig.java rename to src/main/java/com/gis/xian/config/RabbitConfig.java index da4d12b..7313ad5 100644 --- a/src/main/java/com/gis/xian/core/config/RabbitConfig.java +++ b/src/main/java/com/gis/xian/config/RabbitConfig.java @@ -1,12 +1,10 @@ -package com.gis.xian.core.config; +package com.gis.xian.config; import com.gis.xian.constant.BaseConstants; import lombok.extern.slf4j.Slf4j; import org.springframework.amqp.core.*; import org.springframework.amqp.rabbit.connection.ConnectionFactory; -import org.springframework.amqp.rabbit.connection.CorrelationData; import org.springframework.amqp.rabbit.core.RabbitTemplate; -import org.springframework.amqp.support.converter.AllowedListDeserializingMessageConverter; import org.springframework.amqp.support.converter.MessageConverter; import org.springframework.amqp.support.converter.SimpleMessageConverter; import org.springframework.context.annotation.Bean; diff --git a/src/main/java/com/gis/xian/core/config/RestClientConfig.java b/src/main/java/com/gis/xian/config/RestClientConfig.java similarity index 69% rename from src/main/java/com/gis/xian/core/config/RestClientConfig.java rename to src/main/java/com/gis/xian/config/RestClientConfig.java index b63a074..394f1b1 100644 --- a/src/main/java/com/gis/xian/core/config/RestClientConfig.java +++ b/src/main/java/com/gis/xian/config/RestClientConfig.java @@ -1,6 +1,6 @@ -package com.gis.xian.core.config; +package com.gis.xian.config; -import com.gis.xian.utils.http.HttpRestClient; +import com.gis.xian.utils.HttpRequestClientUtils; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.client.RestTemplate; @@ -19,8 +19,8 @@ public class RestClientConfig { } @Bean - public HttpRestClient httpRestClient(RestTemplate restTemplate) { - HttpRestClient client = new HttpRestClient(restTemplate); + public HttpRequestClientUtils httpRestClient(RestTemplate restTemplate) { + HttpRequestClientUtils client = new HttpRequestClientUtils(restTemplate); // 添加全局默认请求头 // client.addDefaultHeader("X-App-Id", "my-app-id"); return client; diff --git a/src/main/java/com/gis/xian/handler/GeometryTypeHandler.java b/src/main/java/com/gis/xian/config/typehandler/GeometryTypeHandler.java similarity index 99% rename from src/main/java/com/gis/xian/handler/GeometryTypeHandler.java rename to src/main/java/com/gis/xian/config/typehandler/GeometryTypeHandler.java index 47d84c3..719f525 100644 --- a/src/main/java/com/gis/xian/handler/GeometryTypeHandler.java +++ b/src/main/java/com/gis/xian/config/typehandler/GeometryTypeHandler.java @@ -1,4 +1,4 @@ -package com.gis.xian.handler; +package com.gis.xian.config.typehandler; import net.postgis.jdbc.PGgeometry; import org.apache.ibatis.type.BaseTypeHandler; diff --git a/src/main/java/com/gis/xian/constant/BaseConstants.java b/src/main/java/com/gis/xian/constant/BaseConstants.java index d13791c..0a39725 100644 --- a/src/main/java/com/gis/xian/constant/BaseConstants.java +++ b/src/main/java/com/gis/xian/constant/BaseConstants.java @@ -10,9 +10,6 @@ import java.util.Map; */ public class BaseConstants { - // 暴雨专题图模板路径 - public static final String RAIN_MAPS_OUTPUT_PATH = "F:/files/xian/dzxx/output/rain/map/"; // 暴雨专题图文件输出路径 - // 提示语 public static final String PARAMS_ERROR = "参数有误,请重新传入!"; public static final String RESULT_ERROR = "结果空值!"; diff --git a/src/main/java/com/gis/xian/controller/DZEqEventController.java b/src/main/java/com/gis/xian/controller/DZEqEventController.java index 380638c..acc7788 100644 --- a/src/main/java/com/gis/xian/controller/DZEqEventController.java +++ b/src/main/java/com/gis/xian/controller/DZEqEventController.java @@ -1,14 +1,11 @@ package com.gis.xian.controller; -import com.gis.xian.constant.BaseConstants; import com.gis.xian.domain.ApiResponse; -import com.gis.xian.dto.pub.EqTriggerDTO; -import com.gis.xian.query.EqQuery; -import com.gis.xian.service.pub.IDZEqEventService; +import com.gis.xian.dto.qgis.earthquake.EarthquakeTriggerDTO; +import com.gis.xian.dto.qgis.earthquake.EarthquakeQuery; +import com.gis.xian.service.qgis.earthquake.IEarthquakeEventService; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; -import org.geolatte.geom.V; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -22,17 +19,17 @@ import org.springframework.web.bind.annotation.*; @RequestMapping("/open") public class DZEqEventController { @Resource - private IDZEqEventService idzEqEventService; + private IEarthquakeEventService IEarthquakeEventService; @PostMapping("/eq/trigger") - public ApiResponse trigger(@RequestBody @Validated EqTriggerDTO trigger) { - EqQuery query = idzEqEventService.trigger(trigger); + public ApiResponse trigger(@RequestBody @Validated EarthquakeTriggerDTO trigger) { + EarthquakeQuery query = IEarthquakeEventService.trigger(trigger); return ApiResponse.ok(query); } @PostMapping("/eq/delete/{Id}") public ApiResponse delete(@PathVariable Long Id) { - Boolean deleted = idzEqEventService.deletedById(Id); + Boolean deleted = IEarthquakeEventService.deletedById(Id); return ApiResponse.ok(deleted); } diff --git a/src/main/java/com/gis/xian/controller/DZInfluenceController.java b/src/main/java/com/gis/xian/controller/DZInfluenceController.java index f3afa95..11ea674 100644 --- a/src/main/java/com/gis/xian/controller/DZInfluenceController.java +++ b/src/main/java/com/gis/xian/controller/DZInfluenceController.java @@ -1,11 +1,10 @@ package com.gis.xian.controller; -import com.gis.xian.constant.BaseConstants; import com.gis.xian.domain.ApiResponse; -import com.gis.xian.dto.pub.EqAssessmentDTO; -import com.gis.xian.query.EqQuery; -import com.gis.xian.service.dzxx.IDZXXInfluenceService; -import com.gis.xian.service.pub.IDZInfluenceService; +import com.gis.xian.dto.qgis.earthquake.EarthquakeAssessmentDTO; +import com.gis.xian.dto.qgis.earthquake.EarthquakeQuery; +import com.gis.xian.service.qgis.earthquake.IEarthquakeInformationInfluenceService; +import com.gis.xian.service.qgis.earthquake.IEarthquakeInfluenceService; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; @@ -27,19 +26,19 @@ import java.util.Map; public class DZInfluenceController { @Resource - private IDZInfluenceService idzInfluenceService; + private IEarthquakeInfluenceService IEarthquakeInfluenceService; @Resource - private IDZXXInfluenceService idzxxInfluenceService; + private IEarthquakeInformationInfluenceService IEarthquakeInformationInfluenceService; @PostMapping("/influence") - public ApiResponse> getInfluence(@RequestBody @Validated EqQuery query) { - Map influence = idzInfluenceService.getInfluence(query); + public ApiResponse> getInfluence(@RequestBody @Validated EarthquakeQuery query) { + Map influence = IEarthquakeInfluenceService.getInfluence(query); return ApiResponse.ok(influence); } @PostMapping("/generate/influence") - public ApiResponse generateInfluence(@RequestBody @Validated EqAssessmentDTO assess) { - idzxxInfluenceService.handle(assess); + public ApiResponse generateInfluence(@RequestBody @Validated EarthquakeAssessmentDTO assess) { + IEarthquakeInformationInfluenceService.handle(assess); return ApiResponse.ok("地震影响场已生成!"); } } diff --git a/src/main/java/com/gis/xian/controller/DZProductController.java b/src/main/java/com/gis/xian/controller/DZProductController.java index e103209..be28b2c 100644 --- a/src/main/java/com/gis/xian/controller/DZProductController.java +++ b/src/main/java/com/gis/xian/controller/DZProductController.java @@ -1,12 +1,15 @@ package com.gis.xian.controller; import com.gis.xian.domain.ApiResponse; -import com.gis.xian.dto.pub.DZProductDTO; -import com.gis.xian.query.ProductQuery; -import com.gis.xian.service.pub.IDZProductService; +import com.gis.xian.dto.qgis.earthquake.EarthquakeProductDTO; +import com.gis.xian.dto.qgis.base.ProductQuery; +import com.gis.xian.service.qgis.earthquake.IEarthquakeProductService; import jakarta.annotation.Resource; +import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; import java.util.List; @@ -15,14 +18,17 @@ import java.util.List; * @description: 产出结果控制类 * @date 2026/6/4 下午3:38 */ +@Slf4j +@RestController +@RequestMapping("/open") public class DZProductController { @Resource - private IDZProductService idzProductService; + private IEarthquakeProductService IEarthquakeProductService; @PostMapping("/product") - public ApiResponse> getProducts(@RequestBody ProductQuery query) { - List products = idzProductService.getProducts(query); + public ApiResponse> getProducts(@RequestBody ProductQuery query) { + List products = IEarthquakeProductService.getProducts(query); return ApiResponse.ok(products); } } diff --git a/src/main/java/com/gis/xian/controller/REventController.java b/src/main/java/com/gis/xian/controller/REventController.java index 0fd6214..d9a1c5a 100644 --- a/src/main/java/com/gis/xian/controller/REventController.java +++ b/src/main/java/com/gis/xian/controller/REventController.java @@ -1,9 +1,9 @@ package com.gis.xian.controller; import com.gis.xian.domain.ApiResponse; -import com.gis.xian.dto.pub.RTriggerDTO; -import com.gis.xian.query.RQuery; -import com.gis.xian.service.pub.IREventService; +import com.gis.xian.dto.qgis.rain.RainTriggerDTO; +import com.gis.xian.dto.qgis.rain.RainQuery; +import com.gis.xian.service.qgis.rain.IREventService; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; @@ -23,8 +23,8 @@ public class REventController { private IREventService irEventService; @PostMapping("/rs/trigger") - public ApiResponse trigger(@RequestBody @Validated RTriggerDTO trigger) { - RQuery query = irEventService.trigger(trigger); + public ApiResponse trigger(@RequestBody @Validated RainTriggerDTO trigger) { + RainQuery query = irEventService.trigger(trigger); return ApiResponse.ok(query); } diff --git a/src/main/java/com/gis/xian/domain/DlqMessage.java b/src/main/java/com/gis/xian/domain/DeadLetterMessageDomain.java similarity index 69% rename from src/main/java/com/gis/xian/domain/DlqMessage.java rename to src/main/java/com/gis/xian/domain/DeadLetterMessageDomain.java index beb2a97..9bf21a6 100644 --- a/src/main/java/com/gis/xian/domain/DlqMessage.java +++ b/src/main/java/com/gis/xian/domain/DeadLetterMessageDomain.java @@ -1,6 +1,6 @@ package com.gis.xian.domain; -import com.gis.xian.params.QgisArgs; +import com.gis.xian.dto.qgis.base.QgisArgsParams; import lombok.Builder; import lombok.Data; @@ -11,9 +11,9 @@ import lombok.Data; */ @Data @Builder -public class DlqMessage { +public class DeadLetterMessageDomain { - private QgisArgs qgisArgs; // 原始参数 + private QgisArgsParams qgisArgsParams; // 原始参数 private String failReason; // 失败原因 private Long failTime; // 失败时间戳 private Integer retryCount; // 已重试次数 diff --git a/src/main/java/com/gis/xian/dto/base/ActiveFaultDTO.java b/src/main/java/com/gis/xian/dto/qgis/base/ActiveFaultDTO.java similarity index 94% rename from src/main/java/com/gis/xian/dto/base/ActiveFaultDTO.java rename to src/main/java/com/gis/xian/dto/qgis/base/ActiveFaultDTO.java index 6a06e0a..3bcef4d 100644 --- a/src/main/java/com/gis/xian/dto/base/ActiveFaultDTO.java +++ b/src/main/java/com/gis/xian/dto/qgis/base/ActiveFaultDTO.java @@ -1,4 +1,4 @@ -package com.gis.xian.dto.base; +package com.gis.xian.dto.qgis.base; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; diff --git a/src/main/java/com/gis/xian/query/ProductQuery.java b/src/main/java/com/gis/xian/dto/qgis/base/ProductQuery.java similarity index 93% rename from src/main/java/com/gis/xian/query/ProductQuery.java rename to src/main/java/com/gis/xian/dto/qgis/base/ProductQuery.java index 1fcf9f1..08dd23b 100644 --- a/src/main/java/com/gis/xian/query/ProductQuery.java +++ b/src/main/java/com/gis/xian/dto/qgis/base/ProductQuery.java @@ -1,4 +1,4 @@ -package com.gis.xian.query; +package com.gis.xian.dto.qgis.base; import lombok.Data; diff --git a/src/main/java/com/gis/xian/params/QgisArgs.java b/src/main/java/com/gis/xian/dto/qgis/base/QgisArgsParams.java similarity index 90% rename from src/main/java/com/gis/xian/params/QgisArgs.java rename to src/main/java/com/gis/xian/dto/qgis/base/QgisArgsParams.java index 122c60c..2f36800 100644 --- a/src/main/java/com/gis/xian/params/QgisArgs.java +++ b/src/main/java/com/gis/xian/dto/qgis/base/QgisArgsParams.java @@ -1,4 +1,4 @@ -package com.gis.xian.params; +package com.gis.xian.dto.qgis.base; import lombok.Data; @@ -10,7 +10,7 @@ import java.io.Serializable; * @date 2026/5/26 上午11:32 */ @Data -public class QgisArgs implements Serializable { +public class QgisArgsParams implements Serializable { private Integer Id; // 记录进度 private double centerX; diff --git a/src/main/java/com/gis/xian/dto/base/ShanXiCitiesDTO.java b/src/main/java/com/gis/xian/dto/qgis/base/ShanXiCitiesDTO.java similarity index 93% rename from src/main/java/com/gis/xian/dto/base/ShanXiCitiesDTO.java rename to src/main/java/com/gis/xian/dto/qgis/base/ShanXiCitiesDTO.java index 5b2edd0..9423622 100644 --- a/src/main/java/com/gis/xian/dto/base/ShanXiCitiesDTO.java +++ b/src/main/java/com/gis/xian/dto/qgis/base/ShanXiCitiesDTO.java @@ -1,4 +1,4 @@ -package com.gis.xian.dto.base; +package com.gis.xian.dto.qgis.base; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; diff --git a/src/main/java/com/gis/xian/dto/base/ShanXiCountyDTO.java b/src/main/java/com/gis/xian/dto/qgis/base/ShanXiCountyDTO.java similarity index 93% rename from src/main/java/com/gis/xian/dto/base/ShanXiCountyDTO.java rename to src/main/java/com/gis/xian/dto/qgis/base/ShanXiCountyDTO.java index f3623a8..80a72e3 100644 --- a/src/main/java/com/gis/xian/dto/base/ShanXiCountyDTO.java +++ b/src/main/java/com/gis/xian/dto/qgis/base/ShanXiCountyDTO.java @@ -1,4 +1,4 @@ -package com.gis.xian.dto.base; +package com.gis.xian.dto.qgis.base; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; diff --git a/src/main/java/com/gis/xian/dto/base/ShanXiTownsDTO.java b/src/main/java/com/gis/xian/dto/qgis/base/ShanXiTownsDTO.java similarity index 93% rename from src/main/java/com/gis/xian/dto/base/ShanXiTownsDTO.java rename to src/main/java/com/gis/xian/dto/qgis/base/ShanXiTownsDTO.java index f06565a..c6ff452 100644 --- a/src/main/java/com/gis/xian/dto/base/ShanXiTownsDTO.java +++ b/src/main/java/com/gis/xian/dto/qgis/base/ShanXiTownsDTO.java @@ -1,4 +1,4 @@ -package com.gis.xian.dto.base; +package com.gis.xian.dto.qgis.base; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; diff --git a/src/main/java/com/gis/xian/dto/pub/EqAssessmentDTO.java b/src/main/java/com/gis/xian/dto/qgis/earthquake/EarthquakeAssessmentDTO.java similarity index 88% rename from src/main/java/com/gis/xian/dto/pub/EqAssessmentDTO.java rename to src/main/java/com/gis/xian/dto/qgis/earthquake/EarthquakeAssessmentDTO.java index 5f1f5be..e4e5c10 100644 --- a/src/main/java/com/gis/xian/dto/pub/EqAssessmentDTO.java +++ b/src/main/java/com/gis/xian/dto/qgis/earthquake/EarthquakeAssessmentDTO.java @@ -1,4 +1,4 @@ -package com.gis.xian.dto.pub; +package com.gis.xian.dto.qgis.earthquake; import lombok.Data; @@ -10,7 +10,7 @@ import java.time.LocalDateTime; * @date 2026/5/25 下午6:04 */ @Data -public class EqAssessmentDTO { +public class EarthquakeAssessmentDTO { private String event; // 地震编码 private String eqQueueId; // 评估编码 diff --git a/src/main/java/com/gis/xian/dto/dzxx/DZXXCenterDTO.java b/src/main/java/com/gis/xian/dto/qgis/earthquake/EarthquakeCenterDTO.java similarity index 85% rename from src/main/java/com/gis/xian/dto/dzxx/DZXXCenterDTO.java rename to src/main/java/com/gis/xian/dto/qgis/earthquake/EarthquakeCenterDTO.java index d387d56..95f7b2f 100644 --- a/src/main/java/com/gis/xian/dto/dzxx/DZXXCenterDTO.java +++ b/src/main/java/com/gis/xian/dto/qgis/earthquake/EarthquakeCenterDTO.java @@ -1,4 +1,4 @@ -package com.gis.xian.dto.dzxx; +package com.gis.xian.dto.qgis.earthquake; import lombok.Data; @@ -10,7 +10,7 @@ import java.time.LocalDateTime; * @date 2026/5/25 下午5:19 */ @Data -public class DZXXCenterDTO { +public class EarthquakeCenterDTO { private String event; private LocalDateTime eqTime; diff --git a/src/main/java/com/gis/xian/dto/dzxx/DZXXDistanceDTO.java b/src/main/java/com/gis/xian/dto/qgis/earthquake/EarthquakeDistanceDTO.java similarity index 85% rename from src/main/java/com/gis/xian/dto/dzxx/DZXXDistanceDTO.java rename to src/main/java/com/gis/xian/dto/qgis/earthquake/EarthquakeDistanceDTO.java index ded9d23..c0ba2e1 100644 --- a/src/main/java/com/gis/xian/dto/dzxx/DZXXDistanceDTO.java +++ b/src/main/java/com/gis/xian/dto/qgis/earthquake/EarthquakeDistanceDTO.java @@ -1,4 +1,4 @@ -package com.gis.xian.dto.dzxx; +package com.gis.xian.dto.qgis.earthquake; import lombok.Data; import org.locationtech.jts.geom.Geometry; @@ -9,7 +9,7 @@ import org.locationtech.jts.geom.Geometry; * @date 2026/5/26 上午10:03 */ @Data -public class DZXXDistanceDTO { +public class EarthquakeDistanceDTO { private Geometry geom; private String eqQueueId; diff --git a/src/main/java/com/gis/xian/dto/pub/DZInfluenceDTO.java b/src/main/java/com/gis/xian/dto/qgis/earthquake/EarthquakeInfluenceDTO.java similarity index 83% rename from src/main/java/com/gis/xian/dto/pub/DZInfluenceDTO.java rename to src/main/java/com/gis/xian/dto/qgis/earthquake/EarthquakeInfluenceDTO.java index 1a045e5..74db86a 100644 --- a/src/main/java/com/gis/xian/dto/pub/DZInfluenceDTO.java +++ b/src/main/java/com/gis/xian/dto/qgis/earthquake/EarthquakeInfluenceDTO.java @@ -1,4 +1,4 @@ -package com.gis.xian.dto.pub; +package com.gis.xian.dto.qgis.earthquake; import lombok.Data; @@ -8,7 +8,7 @@ import lombok.Data; * @date 2026/5/26 上午10:46 */ @Data -public class DZInfluenceDTO { +public class EarthquakeInfluenceDTO { private String eqQueueId; private String event; diff --git a/src/main/java/com/gis/xian/dto/pub/IntyGeoJsonDTO.java b/src/main/java/com/gis/xian/dto/qgis/earthquake/EarthquakeInfluenceGeoJsonDTO.java similarity index 92% rename from src/main/java/com/gis/xian/dto/pub/IntyGeoJsonDTO.java rename to src/main/java/com/gis/xian/dto/qgis/earthquake/EarthquakeInfluenceGeoJsonDTO.java index ca90402..c0dc1e2 100644 --- a/src/main/java/com/gis/xian/dto/pub/IntyGeoJsonDTO.java +++ b/src/main/java/com/gis/xian/dto/qgis/earthquake/EarthquakeInfluenceGeoJsonDTO.java @@ -1,4 +1,4 @@ -package com.gis.xian.dto.pub; +package com.gis.xian.dto.qgis.earthquake; import lombok.Data; @@ -11,7 +11,7 @@ import java.util.List; * @date 2026/5/26 上午10:43 */ @Data -public class IntyGeoJsonDTO { +public class EarthquakeInfluenceGeoJsonDTO { private final String type = "FeatureCollection"; private List features = new ArrayList<>(); diff --git a/src/main/java/com/gis/xian/dto/dzxx/DZXXInfluenceDTO.java b/src/main/java/com/gis/xian/dto/qgis/earthquake/EarthquakeInformationInfluenceDTO.java similarity index 85% rename from src/main/java/com/gis/xian/dto/dzxx/DZXXInfluenceDTO.java rename to src/main/java/com/gis/xian/dto/qgis/earthquake/EarthquakeInformationInfluenceDTO.java index bde5413..da9d710 100644 --- a/src/main/java/com/gis/xian/dto/dzxx/DZXXInfluenceDTO.java +++ b/src/main/java/com/gis/xian/dto/qgis/earthquake/EarthquakeInformationInfluenceDTO.java @@ -1,4 +1,4 @@ -package com.gis.xian.dto.dzxx; +package com.gis.xian.dto.qgis.earthquake; import lombok.Data; import org.locationtech.jts.geom.Geometry; @@ -9,7 +9,7 @@ import org.locationtech.jts.geom.Geometry; * @date 2026/5/26 上午10:11 */ @Data -public class DZXXInfluenceDTO { +public class EarthquakeInformationInfluenceDTO { private Geometry geom; private String eqQueueId; diff --git a/src/main/java/com/gis/xian/query/IntensityQuery.java b/src/main/java/com/gis/xian/dto/qgis/earthquake/EarthquakeIntensityQuery.java similarity index 85% rename from src/main/java/com/gis/xian/query/IntensityQuery.java rename to src/main/java/com/gis/xian/dto/qgis/earthquake/EarthquakeIntensityQuery.java index 81479d9..c9e37c3 100644 --- a/src/main/java/com/gis/xian/query/IntensityQuery.java +++ b/src/main/java/com/gis/xian/dto/qgis/earthquake/EarthquakeIntensityQuery.java @@ -1,4 +1,4 @@ -package com.gis.xian.query; +package com.gis.xian.dto.qgis.earthquake; import lombok.Data; @@ -8,7 +8,7 @@ import lombok.Data; * @date 2026/5/26 上午10:33 */ @Data -public class IntensityQuery { +public class EarthquakeIntensityQuery { private double centerLon; // 中心点经度 private double centerLat; // 中心点纬度 diff --git a/src/main/java/com/gis/xian/dto/pub/DZProductDTO.java b/src/main/java/com/gis/xian/dto/qgis/earthquake/EarthquakeProductDTO.java similarity index 89% rename from src/main/java/com/gis/xian/dto/pub/DZProductDTO.java rename to src/main/java/com/gis/xian/dto/qgis/earthquake/EarthquakeProductDTO.java index 15a41a1..ad2d0a0 100644 --- a/src/main/java/com/gis/xian/dto/pub/DZProductDTO.java +++ b/src/main/java/com/gis/xian/dto/qgis/earthquake/EarthquakeProductDTO.java @@ -1,4 +1,4 @@ -package com.gis.xian.dto.pub; +package com.gis.xian.dto.qgis.earthquake; import lombok.Data; @@ -10,7 +10,7 @@ import java.time.LocalDateTime; * @date 2026/5/26 上午10:59 */ @Data -public class DZProductDTO { +public class EarthquakeProductDTO { private String eqQueueId; diff --git a/src/main/java/com/gis/xian/query/EqQuery.java b/src/main/java/com/gis/xian/dto/qgis/earthquake/EarthquakeQuery.java similarity index 79% rename from src/main/java/com/gis/xian/query/EqQuery.java rename to src/main/java/com/gis/xian/dto/qgis/earthquake/EarthquakeQuery.java index 99cf4b1..cd6d856 100644 --- a/src/main/java/com/gis/xian/query/EqQuery.java +++ b/src/main/java/com/gis/xian/dto/qgis/earthquake/EarthquakeQuery.java @@ -1,4 +1,4 @@ -package com.gis.xian.query; +package com.gis.xian.dto.qgis.earthquake; import lombok.AllArgsConstructor; import lombok.Data; @@ -12,9 +12,9 @@ import lombok.NoArgsConstructor; @Data @AllArgsConstructor @NoArgsConstructor -public class EqQuery { +public class EarthquakeQuery { private String event; private String eqQueueId; - + } diff --git a/src/main/java/com/gis/xian/dto/pub/EqTriggerDTO.java b/src/main/java/com/gis/xian/dto/qgis/earthquake/EarthquakeTriggerDTO.java similarity index 88% rename from src/main/java/com/gis/xian/dto/pub/EqTriggerDTO.java rename to src/main/java/com/gis/xian/dto/qgis/earthquake/EarthquakeTriggerDTO.java index d0df2f8..6469a59 100644 --- a/src/main/java/com/gis/xian/dto/pub/EqTriggerDTO.java +++ b/src/main/java/com/gis/xian/dto/qgis/earthquake/EarthquakeTriggerDTO.java @@ -1,4 +1,4 @@ -package com.gis.xian.dto.pub; +package com.gis.xian.dto.qgis.earthquake; import lombok.Data; import java.time.LocalDateTime; @@ -9,7 +9,7 @@ import java.time.LocalDateTime; * @date 2026/5/25 下午4:52 */ @Data -public class EqTriggerDTO { +public class EarthquakeTriggerDTO { private String eqName; // 地震名称 diff --git a/src/main/java/com/gis/xian/dto/pub/RAssessmentDTO.java b/src/main/java/com/gis/xian/dto/qgis/rain/RainAssessmentDTO.java similarity index 86% rename from src/main/java/com/gis/xian/dto/pub/RAssessmentDTO.java rename to src/main/java/com/gis/xian/dto/qgis/rain/RainAssessmentDTO.java index db1f9da..eeb0139 100644 --- a/src/main/java/com/gis/xian/dto/pub/RAssessmentDTO.java +++ b/src/main/java/com/gis/xian/dto/qgis/rain/RainAssessmentDTO.java @@ -1,4 +1,4 @@ -package com.gis.xian.dto.pub; +package com.gis.xian.dto.qgis.rain; import lombok.Data; @@ -11,7 +11,7 @@ import java.time.LocalDateTime; * @date 2026/5/26 下午5:51 */ @Data -public class RAssessmentDTO implements Serializable { +public class RainAssessmentDTO implements Serializable { private String rainId; private String rainQueueId; diff --git a/src/main/java/com/gis/xian/dto/pub/REventDTO.java b/src/main/java/com/gis/xian/dto/qgis/rain/RainEventDTO.java similarity index 89% rename from src/main/java/com/gis/xian/dto/pub/REventDTO.java rename to src/main/java/com/gis/xian/dto/qgis/rain/RainEventDTO.java index 13367fd..98cbed9 100644 --- a/src/main/java/com/gis/xian/dto/pub/REventDTO.java +++ b/src/main/java/com/gis/xian/dto/qgis/rain/RainEventDTO.java @@ -1,4 +1,4 @@ -package com.gis.xian.dto.pub; +package com.gis.xian.dto.qgis.rain; import lombok.Data; import org.locationtech.jts.geom.Geometry; @@ -11,7 +11,7 @@ import java.time.LocalDateTime; * @date 2026/6/8 下午4:49 */ @Data -public class REventDTO { +public class RainEventDTO { private String rainId; private String rainQueueId; diff --git a/src/main/java/com/gis/xian/query/RQuery.java b/src/main/java/com/gis/xian/dto/qgis/rain/RainQuery.java similarity index 82% rename from src/main/java/com/gis/xian/query/RQuery.java rename to src/main/java/com/gis/xian/dto/qgis/rain/RainQuery.java index 4ce6ba7..83c00bf 100644 --- a/src/main/java/com/gis/xian/query/RQuery.java +++ b/src/main/java/com/gis/xian/dto/qgis/rain/RainQuery.java @@ -1,4 +1,4 @@ -package com.gis.xian.query; +package com.gis.xian.dto.qgis.rain; import lombok.AllArgsConstructor; import lombok.Data; @@ -12,7 +12,7 @@ import lombok.NoArgsConstructor; @Data @AllArgsConstructor @NoArgsConstructor -public class RQuery { +public class RainQuery { private String rainId; private String rainQueueId; diff --git a/src/main/java/com/gis/xian/dto/pub/RTriggerDTO.java b/src/main/java/com/gis/xian/dto/qgis/rain/RainTriggerDTO.java similarity index 87% rename from src/main/java/com/gis/xian/dto/pub/RTriggerDTO.java rename to src/main/java/com/gis/xian/dto/qgis/rain/RainTriggerDTO.java index 5ab3909..b23b452 100644 --- a/src/main/java/com/gis/xian/dto/pub/RTriggerDTO.java +++ b/src/main/java/com/gis/xian/dto/qgis/rain/RainTriggerDTO.java @@ -1,4 +1,4 @@ -package com.gis.xian.dto.pub; +package com.gis.xian.dto.qgis.rain; import lombok.Data; @@ -10,7 +10,7 @@ import java.time.LocalDateTime; * @date 2026/6/8 下午4:44 */ @Data -public class RTriggerDTO { +public class RainTriggerDTO { private String position; // 区县 private double longitude; // 经度 diff --git a/src/main/java/com/gis/xian/entity/base/ActiveFault.java b/src/main/java/com/gis/xian/entity/qgis/base/ActiveFault.java similarity index 96% rename from src/main/java/com/gis/xian/entity/base/ActiveFault.java rename to src/main/java/com/gis/xian/entity/qgis/base/ActiveFault.java index 05e92db..9ffa566 100644 --- a/src/main/java/com/gis/xian/entity/base/ActiveFault.java +++ b/src/main/java/com/gis/xian/entity/qgis/base/ActiveFault.java @@ -1,10 +1,11 @@ -package com.gis.xian.entity.base; +package com.gis.xian.entity.qgis.base; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gis.xian.config.typehandler.GeometryTypeHandler; import lombok.Data; import org.locationtech.jts.geom.Geometry; @@ -197,7 +198,7 @@ public class ActiveFault { @TableField("\"DateSource\"") private String DateSource; - @TableField(value = "\"Geometry\"", typeHandler = com.gis.xian.handler.GeometryTypeHandler.class) + @TableField(value = "\"Geometry\"", typeHandler = GeometryTypeHandler.class) @JsonSerialize(using = ToStringSerializer.class) private Geometry geometry; diff --git a/src/main/java/com/gis/xian/entity/base/SXCities.java b/src/main/java/com/gis/xian/entity/qgis/base/SXCities.java similarity index 96% rename from src/main/java/com/gis/xian/entity/base/SXCities.java rename to src/main/java/com/gis/xian/entity/qgis/base/SXCities.java index 5051857..0b79940 100644 --- a/src/main/java/com/gis/xian/entity/base/SXCities.java +++ b/src/main/java/com/gis/xian/entity/qgis/base/SXCities.java @@ -1,4 +1,4 @@ -package com.gis.xian.entity.base; +package com.gis.xian.entity.qgis.base; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; diff --git a/src/main/java/com/gis/xian/entity/base/SXCounty.java b/src/main/java/com/gis/xian/entity/qgis/base/SXCounty.java similarity index 96% rename from src/main/java/com/gis/xian/entity/base/SXCounty.java rename to src/main/java/com/gis/xian/entity/qgis/base/SXCounty.java index d5efa46..2431103 100644 --- a/src/main/java/com/gis/xian/entity/base/SXCounty.java +++ b/src/main/java/com/gis/xian/entity/qgis/base/SXCounty.java @@ -1,4 +1,4 @@ -package com.gis.xian.entity.base; +package com.gis.xian.entity.qgis.base; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; diff --git a/src/main/java/com/gis/xian/entity/base/SXTowns.java b/src/main/java/com/gis/xian/entity/qgis/base/SXTowns.java similarity index 96% rename from src/main/java/com/gis/xian/entity/base/SXTowns.java rename to src/main/java/com/gis/xian/entity/qgis/base/SXTowns.java index ecc9195..d5e2e89 100644 --- a/src/main/java/com/gis/xian/entity/base/SXTowns.java +++ b/src/main/java/com/gis/xian/entity/qgis/base/SXTowns.java @@ -1,4 +1,4 @@ -package com.gis.xian.entity.base; +package com.gis.xian.entity.qgis.base; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; diff --git a/src/main/java/com/gis/xian/entity/dzxx/DZXXCenter.java b/src/main/java/com/gis/xian/entity/qgis/earthquake/EarthquakeCenter.java similarity index 87% rename from src/main/java/com/gis/xian/entity/dzxx/DZXXCenter.java rename to src/main/java/com/gis/xian/entity/qgis/earthquake/EarthquakeCenter.java index 1671b43..8d12bb0 100644 --- a/src/main/java/com/gis/xian/entity/dzxx/DZXXCenter.java +++ b/src/main/java/com/gis/xian/entity/qgis/earthquake/EarthquakeCenter.java @@ -1,8 +1,8 @@ -package com.gis.xian.entity.dzxx; +package com.gis.xian.entity.qgis.earthquake; import com.baomidou.mybatisplus.annotation.*; +import com.gis.xian.config.typehandler.GeometryTypeHandler; import lombok.Data; -import org.apache.ibatis.type.JdbcType; import org.locationtech.jts.geom.Geometry; import java.time.LocalDateTime; @@ -14,12 +14,12 @@ import java.time.LocalDateTime; */ @Data @TableName("dzxx.dz_gis_center") -public class DZXXCenter { +public class EarthquakeCenter { @TableId(value = "id", type = IdType.ASSIGN_ID) private Long Id; - @TableField(value = "geom", typeHandler = com.gis.xian.handler.GeometryTypeHandler.class) + @TableField(value = "geom", typeHandler = GeometryTypeHandler.class) private Geometry geom; @TableField("event") diff --git a/src/main/java/com/gis/xian/entity/dzxx/DZXXDistance.java b/src/main/java/com/gis/xian/entity/qgis/earthquake/EarthquakeDistance.java similarity index 93% rename from src/main/java/com/gis/xian/entity/dzxx/DZXXDistance.java rename to src/main/java/com/gis/xian/entity/qgis/earthquake/EarthquakeDistance.java index 8c11e34..5f2ef0b 100644 --- a/src/main/java/com/gis/xian/entity/dzxx/DZXXDistance.java +++ b/src/main/java/com/gis/xian/entity/qgis/earthquake/EarthquakeDistance.java @@ -1,4 +1,4 @@ -package com.gis.xian.entity.dzxx; +package com.gis.xian.entity.qgis.earthquake; import com.baomidou.mybatisplus.annotation.*; import lombok.Data; @@ -14,7 +14,7 @@ import java.time.LocalDateTime; */ @Data @TableName("dzxx.dz_gis_distance") -public class DZXXDistance { +public class EarthquakeDistance { @TableId(value = "id",type = IdType.ASSIGN_ID) private Long Id; diff --git a/src/main/java/com/gis/xian/entity/pub/DZEqEvent.java b/src/main/java/com/gis/xian/entity/qgis/earthquake/EarthquakeEvent.java similarity index 96% rename from src/main/java/com/gis/xian/entity/pub/DZEqEvent.java rename to src/main/java/com/gis/xian/entity/qgis/earthquake/EarthquakeEvent.java index 8c59261..4175aed 100644 --- a/src/main/java/com/gis/xian/entity/pub/DZEqEvent.java +++ b/src/main/java/com/gis/xian/entity/qgis/earthquake/EarthquakeEvent.java @@ -1,4 +1,4 @@ -package com.gis.xian.entity.pub; +package com.gis.xian.entity.qgis.earthquake; import lombok.Data; import com.baomidou.mybatisplus.annotation.*; @@ -12,7 +12,7 @@ import java.time.LocalDateTime; */ @Data @TableName("public.dz_eqevent") -public class DZEqEvent { +public class EarthquakeEvent { @TableId(value = "id",type = IdType.ASSIGN_ID) private Long Id; diff --git a/src/main/java/com/gis/xian/entity/dzxx/DZXXInfluence.java b/src/main/java/com/gis/xian/entity/qgis/earthquake/EarthquakeGisInfluence.java similarity index 94% rename from src/main/java/com/gis/xian/entity/dzxx/DZXXInfluence.java rename to src/main/java/com/gis/xian/entity/qgis/earthquake/EarthquakeGisInfluence.java index d7c36cf..08574a5 100644 --- a/src/main/java/com/gis/xian/entity/dzxx/DZXXInfluence.java +++ b/src/main/java/com/gis/xian/entity/qgis/earthquake/EarthquakeGisInfluence.java @@ -1,4 +1,4 @@ -package com.gis.xian.entity.dzxx; +package com.gis.xian.entity.qgis.earthquake; import com.baomidou.mybatisplus.annotation.*; import lombok.Data; @@ -14,7 +14,7 @@ import java.time.LocalDateTime; @Data @TableName("dzxx.dz_gis_influence") -public class DZXXInfluence { +public class EarthquakeGisInfluence { @TableId(value = "id",type = IdType.ASSIGN_ID) private Long Id; diff --git a/src/main/java/com/gis/xian/entity/pub/DZInfluence.java b/src/main/java/com/gis/xian/entity/qgis/earthquake/EarthquakeInfluence.java similarity index 94% rename from src/main/java/com/gis/xian/entity/pub/DZInfluence.java rename to src/main/java/com/gis/xian/entity/qgis/earthquake/EarthquakeInfluence.java index d9d2cda..c871ec6 100644 --- a/src/main/java/com/gis/xian/entity/pub/DZInfluence.java +++ b/src/main/java/com/gis/xian/entity/qgis/earthquake/EarthquakeInfluence.java @@ -1,4 +1,4 @@ -package com.gis.xian.entity.pub; +package com.gis.xian.entity.qgis.earthquake; import com.baomidou.mybatisplus.annotation.*; import lombok.Data; @@ -12,7 +12,7 @@ import java.time.LocalDateTime; */ @Data @TableName("public.dz_influence") -public class DZInfluence { +public class EarthquakeInfluence { @TableId(value = "id",type = IdType.ASSIGN_ID) private Long Id; diff --git a/src/main/java/com/gis/xian/entity/pub/DZProduct.java b/src/main/java/com/gis/xian/entity/qgis/earthquake/EarthquakeProduct.java similarity index 95% rename from src/main/java/com/gis/xian/entity/pub/DZProduct.java rename to src/main/java/com/gis/xian/entity/qgis/earthquake/EarthquakeProduct.java index 327e83d..1676c16 100644 --- a/src/main/java/com/gis/xian/entity/pub/DZProduct.java +++ b/src/main/java/com/gis/xian/entity/qgis/earthquake/EarthquakeProduct.java @@ -1,4 +1,4 @@ -package com.gis.xian.entity.pub; +package com.gis.xian.entity.qgis.earthquake; import com.baomidou.mybatisplus.annotation.*; import lombok.Data; @@ -12,7 +12,7 @@ import java.time.LocalDateTime; */ @Data @TableName("public.dz_product") -public class DZProduct { +public class EarthquakeProduct { @TableId(value = "id",type = IdType.ASSIGN_ID) private Long Id; diff --git a/src/main/java/com/gis/xian/entity/pub/DZEqQueue.java b/src/main/java/com/gis/xian/entity/qgis/earthquake/EarthquakeQueue.java similarity index 95% rename from src/main/java/com/gis/xian/entity/pub/DZEqQueue.java rename to src/main/java/com/gis/xian/entity/qgis/earthquake/EarthquakeQueue.java index fcfceab..0619a74 100644 --- a/src/main/java/com/gis/xian/entity/pub/DZEqQueue.java +++ b/src/main/java/com/gis/xian/entity/qgis/earthquake/EarthquakeQueue.java @@ -1,4 +1,4 @@ -package com.gis.xian.entity.pub; +package com.gis.xian.entity.qgis.earthquake; import com.baomidou.mybatisplus.annotation.*; import lombok.Data; @@ -13,7 +13,7 @@ import java.time.LocalDateTime; @Data @TableName("public.dz_eqqueue") -public class DZEqQueue { +public class EarthquakeQueue { @TableField(value = "id") private String id; // eqqueueid diff --git a/src/main/java/com/gis/xian/entity/pub/REvent.java b/src/main/java/com/gis/xian/entity/qgis/rain/RainEvent.java similarity index 92% rename from src/main/java/com/gis/xian/entity/pub/REvent.java rename to src/main/java/com/gis/xian/entity/qgis/rain/RainEvent.java index 50a853c..a5457cc 100644 --- a/src/main/java/com/gis/xian/entity/pub/REvent.java +++ b/src/main/java/com/gis/xian/entity/qgis/rain/RainEvent.java @@ -1,10 +1,10 @@ -package com.gis.xian.entity.pub; +package com.gis.xian.entity.qgis.rain; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import com.gis.xian.handler.GeometryTypeHandler; +import com.gis.xian.config.typehandler.GeometryTypeHandler; import lombok.Data; import org.locationtech.jts.geom.Geometry; @@ -17,7 +17,7 @@ import java.time.LocalDateTime; */ @Data @TableName("public.r_event") -public class REvent { +public class RainEvent { @TableId @TableField("id") diff --git a/src/main/java/com/gis/xian/enums/BaseEnums.java b/src/main/java/com/gis/xian/enums/qgis/BaseEnums.java similarity index 95% rename from src/main/java/com/gis/xian/enums/BaseEnums.java rename to src/main/java/com/gis/xian/enums/qgis/BaseEnums.java index 04545c4..e51d0c2 100644 --- a/src/main/java/com/gis/xian/enums/BaseEnums.java +++ b/src/main/java/com/gis/xian/enums/qgis/BaseEnums.java @@ -1,4 +1,4 @@ -package com.gis.xian.enums; +package com.gis.xian.enums.qgis; import lombok.AllArgsConstructor; import lombok.Getter; diff --git a/src/main/java/com/gis/xian/enums/EqMapsEnums.java b/src/main/java/com/gis/xian/enums/qgis/EarthquakeMapsEnums.java similarity index 95% rename from src/main/java/com/gis/xian/enums/EqMapsEnums.java rename to src/main/java/com/gis/xian/enums/qgis/EarthquakeMapsEnums.java index 25c5170..5a3056a 100644 --- a/src/main/java/com/gis/xian/enums/EqMapsEnums.java +++ b/src/main/java/com/gis/xian/enums/qgis/EarthquakeMapsEnums.java @@ -1,4 +1,4 @@ -package com.gis.xian.enums; +package com.gis.xian.enums.qgis; import lombok.AllArgsConstructor; import lombok.Getter; @@ -10,7 +10,7 @@ import lombok.Getter; */ @Getter @AllArgsConstructor -public enum EqMapsEnums { +public enum EarthquakeMapsEnums { // 制图枚举 EARTHQUAKE_DISTRIBUTION(1, "地震影响估计范围分布图"), diff --git a/src/main/java/com/gis/xian/enums/RainMapsEnums.java b/src/main/java/com/gis/xian/enums/qgis/RainMapsEnums.java similarity index 97% rename from src/main/java/com/gis/xian/enums/RainMapsEnums.java rename to src/main/java/com/gis/xian/enums/qgis/RainMapsEnums.java index 615daf9..84b9227 100644 --- a/src/main/java/com/gis/xian/enums/RainMapsEnums.java +++ b/src/main/java/com/gis/xian/enums/qgis/RainMapsEnums.java @@ -1,4 +1,4 @@ -package com.gis.xian.enums; +package com.gis.xian.enums.qgis; import lombok.AllArgsConstructor; import lombok.Getter; diff --git a/src/main/java/com/gis/xian/core/rabbitmq/DlqConsumer.java b/src/main/java/com/gis/xian/listener/DeadLetterMessageListener.java similarity index 70% rename from src/main/java/com/gis/xian/core/rabbitmq/DlqConsumer.java rename to src/main/java/com/gis/xian/listener/DeadLetterMessageListener.java index b3df258..f7a6354 100644 --- a/src/main/java/com/gis/xian/core/rabbitmq/DlqConsumer.java +++ b/src/main/java/com/gis/xian/listener/DeadLetterMessageListener.java @@ -1,19 +1,18 @@ -package com.gis.xian.core.rabbitmq; +package com.gis.xian.listener; import com.alibaba.fastjson2.JSON; import com.gis.xian.config.QgisProperties; -import com.gis.xian.domain.DlqMessage; +import com.gis.xian.domain.DeadLetterMessageDomain; import com.gis.xian.constant.BaseConstants; -import com.gis.xian.enums.BaseEnums; -import com.gis.xian.params.QgisArgs; -import com.gis.xian.service.pub.IDZEqQueueService; +import com.gis.xian.enums.qgis.BaseEnums; +import com.gis.xian.dto.qgis.base.QgisArgsParams; +import com.gis.xian.service.qgis.earthquake.IEarthquakeQueueService; import com.gis.xian.utils.BaseUtils; -import com.gis.xian.utils.http.HttpRestClient; +import com.gis.xian.utils.HttpRequestClientUtils; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.amqp.rabbit.core.RabbitTemplate; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.ParameterizedTypeReference; import org.springframework.stereotype.Component; @@ -24,14 +23,14 @@ import org.springframework.stereotype.Component; */ @Slf4j @Component -public class DlqConsumer { +public class DeadLetterMessageListener { @Resource - private HttpRestClient restclient; + private HttpRequestClientUtils restclient; @Resource private RabbitTemplate rabbitTemplate; @Resource - private IDZEqQueueService idzEqQueueService; + private IEarthquakeQueueService IEarthquakeQueueService; @Resource private QgisProperties qgisProperties; @@ -40,19 +39,19 @@ public class DlqConsumer { // 死信队列消费者 @RabbitListener(queues = BaseConstants.DLQ_QUEUE) - public void handleDlqMessage(DlqMessage dlqMessage) { - QgisArgs arg = dlqMessage.getQgisArgs(); - int currentRetryCount = dlqMessage.getRetryCount(); + public void handleDlqMessage(DeadLetterMessageDomain deadLetterMessageDomain) { + QgisArgsParams arg = deadLetterMessageDomain.getQgisArgsParams(); + int currentRetryCount = deadLetterMessageDomain.getRetryCount(); try { log.info("处理死信队列消息! 参数ID:{} 重试次数:{}", arg.getId(), currentRetryCount); // 判断是否超过最大重试次数 if (currentRetryCount >= maxRetry) { - log.error("消息重试次数已达上限! 参数ID:{} 失败原因:{}", arg.getId(), dlqMessage.getFailReason()); + log.error("消息重试次数已达上限! 参数ID:{} 失败原因:{}", arg.getId(), deadLetterMessageDomain.getFailReason()); // 处理:告警+记录到失败表+人工介入 - sendAlarm(arg, dlqMessage); - saveToFailTable(dlqMessage); + sendAlarm(arg, deadLetterMessageDomain); + saveToFailTable(deadLetterMessageDomain); return; } @@ -75,20 +74,20 @@ public class DlqConsumer { if (arg.getDisaster() == BaseConstants.RAIN_DISASTER_MAP) { p = BaseUtils.compute(arg.getId() + 1, 1); } - idzEqQueueService.updated(arg.getEvent(), arg.getQueueId(), p, BaseEnums.CALCULATING.getCode()); + IEarthquakeQueueService.updated(arg.getEvent(), arg.getQueueId(), p, BaseEnums.CALCULATING.getCode()); // 推送原业务消息 rabbitTemplate.convertAndSend(BaseConstants.ASSESS_EXCHANGE, BaseConstants.MAPS_QUEUE, arg); } catch (Exception e) { log.error("死信消息重试失败! 参数ID:{} 重试次数:{}", arg.getId(), currentRetryCount, e); // 重试失败:更新重试次数,重新发送到死信队列(设置延迟) - dlqMessage.setRetryCount(currentRetryCount + 1); - dlqMessage.setFailReason(dlqMessage.getFailReason() + " | 重试失败:" + e.getMessage()); + deadLetterMessageDomain.setRetryCount(currentRetryCount + 1); + deadLetterMessageDomain.setFailReason(deadLetterMessageDomain.getFailReason() + " | 重试失败:" + e.getMessage()); // 延迟发送(需要安装rabbitmq_delayed_message_exchange插件) rabbitTemplate.convertAndSend( BaseConstants.DLX_EXCHANGE, BaseConstants.DLQ_QUEUE, - dlqMessage, + deadLetterMessageDomain, message -> { // 设置延迟时间(指数退避:10s, 30s, 60s) long delay = 10000 * (long) Math.pow(3, currentRetryCount); @@ -103,15 +102,15 @@ public class DlqConsumer { } // 发送告警(邮件/短信/钉钉等) - private void sendAlarm(QgisArgs arg, DlqMessage dlqMessage) { + private void sendAlarm(QgisArgsParams arg, DeadLetterMessageDomain deadLetterMessageDomain) { // 实现告警逻辑:调用钉钉机器人/邮件接口等 - log.error("【告警】图件处理失败需要人工介入! 参数ID:{} 失败原因:{}", arg.getId(), dlqMessage.getFailReason()); + log.error("【告警】图件处理失败需要人工介入! 参数ID:{} 失败原因:{}", arg.getId(), deadLetterMessageDomain.getFailReason()); } // 保存失败记录到数据库 - private void saveToFailTable(DlqMessage dlqMessage) { + private void saveToFailTable(DeadLetterMessageDomain deadLetterMessageDomain) { // 实现数据库存储逻辑,便于人工排查和处理 - log.info("失败记录已保存到数据库! 参数ID:{}", dlqMessage.getQgisArgs().getId()); + log.info("失败记录已保存到数据库! 参数ID:{}", deadLetterMessageDomain.getQgisArgsParams().getId()); } } diff --git a/src/main/java/com/gis/xian/listener/MapReceiveListener.java b/src/main/java/com/gis/xian/listener/qgis/MapReceiveListener.java similarity index 85% rename from src/main/java/com/gis/xian/listener/MapReceiveListener.java rename to src/main/java/com/gis/xian/listener/qgis/MapReceiveListener.java index ed3a3fc..121904f 100644 --- a/src/main/java/com/gis/xian/listener/MapReceiveListener.java +++ b/src/main/java/com/gis/xian/listener/qgis/MapReceiveListener.java @@ -1,11 +1,11 @@ -package com.gis.xian.listener; +package com.gis.xian.listener.qgis; import com.gis.xian.config.DataSourceContextHolder; import com.gis.xian.constant.BaseConstants; -import com.gis.xian.entity.pub.DZProduct; -import com.gis.xian.params.QgisArgs; +import com.gis.xian.entity.qgis.earthquake.EarthquakeProduct; +import com.gis.xian.dto.qgis.base.QgisArgsParams; import com.gis.xian.service.ex.ServeException; -import com.gis.xian.service.pub.IDZProductService; +import com.gis.xian.service.qgis.earthquake.IEarthquakeProductService; import com.rabbitmq.client.Channel; import jakarta.annotation.PostConstruct; import jakarta.annotation.Resource; @@ -31,7 +31,7 @@ import java.time.LocalDateTime; public class MapReceiveListener { @Resource - private IDZProductService idzProductService; + private IEarthquakeProductService IEarthquakeProductService; @PostConstruct public void init() { @@ -45,7 +45,7 @@ public class MapReceiveListener { // rabbitmq 监听专题图队列 @RabbitListener(queues = "maps", ackMode = "MANUAL") - public void receive(QgisArgs args, Channel channel, @Header(AmqpHeaders.DELIVERY_TAG) long deliveryTag, Message message) throws IOException { + public void receive(QgisArgsParams args, Channel channel, @Header(AmqpHeaders.DELIVERY_TAG) long deliveryTag, Message message) throws IOException { log.info("接收通知:{} 已生成!", args.getName()); try { // 获取路径 @@ -80,12 +80,12 @@ public class MapReceiveListener { } } - private void handleData(QgisArgs args, String filePath) { + private void handleData(QgisArgsParams args, String filePath) { try { DataSourceContextHolder.setDataSource("slave1"); log.debug("切换数据源到: slave1"); - DZProduct product = new DZProduct(); + EarthquakeProduct product = new EarthquakeProduct(); product.setEqQueueId(args.getQueueId()); product.setProTime(LocalDateTime.now()); product.setCode(args.getMapLayout()); @@ -100,7 +100,7 @@ public class MapReceiveListener { product.setSourceFile(filePath); // 将图件信息插入到结果表中 - idzProductService.save(product); + IEarthquakeProductService.save(product); log.info("{} 已保存到数据库!", args.getName()); } finally { DataSourceContextHolder.clearDataSource(); diff --git a/src/main/java/com/gis/xian/mapper/pub/DZInfluenceMapper.java b/src/main/java/com/gis/xian/mapper/pub/DZInfluenceMapper.java deleted file mode 100644 index 4d7809d..0000000 --- a/src/main/java/com/gis/xian/mapper/pub/DZInfluenceMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gis.xian.mapper.pub; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gis.xian.config.DataSource; -import com.gis.xian.entity.pub.DZInfluence; -import org.apache.ibatis.annotations.Mapper; - -/** - * @author zzw - * @description: DZInfluenceMapper - * @date 2026/5/25 下午6:01 - */ -@Mapper -public interface DZInfluenceMapper extends BaseMapper { -} diff --git a/src/main/java/com/gis/xian/mapper/pub/DZProductMapper.java b/src/main/java/com/gis/xian/mapper/pub/DZProductMapper.java deleted file mode 100644 index d739455..0000000 --- a/src/main/java/com/gis/xian/mapper/pub/DZProductMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gis.xian.mapper.pub; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gis.xian.config.DataSource; -import com.gis.xian.entity.pub.DZProduct; -import org.apache.ibatis.annotations.Mapper; - -/** - * @author zzw - * @description: DZInfluenceMapper - * @date 2026/5/25 下午6:01 - */ -@Mapper -public interface DZProductMapper extends BaseMapper { -} diff --git a/src/main/java/com/gis/xian/mapper/base/ActiveFaultMapper.java b/src/main/java/com/gis/xian/mapper/qgis/base/ActiveFaultMapper.java similarity index 69% rename from src/main/java/com/gis/xian/mapper/base/ActiveFaultMapper.java rename to src/main/java/com/gis/xian/mapper/qgis/base/ActiveFaultMapper.java index a687da8..c28621d 100644 --- a/src/main/java/com/gis/xian/mapper/base/ActiveFaultMapper.java +++ b/src/main/java/com/gis/xian/mapper/qgis/base/ActiveFaultMapper.java @@ -1,8 +1,7 @@ -package com.gis.xian.mapper.base; +package com.gis.xian.mapper.qgis.base; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gis.xian.config.DataSource; -import com.gis.xian.entity.base.ActiveFault; +import com.gis.xian.entity.qgis.base.ActiveFault; import org.apache.ibatis.annotations.Mapper; /** diff --git a/src/main/java/com/gis/xian/mapper/base/ShanXiCitiesMapper.java b/src/main/java/com/gis/xian/mapper/qgis/base/ShanXiCitiesMapper.java similarity index 70% rename from src/main/java/com/gis/xian/mapper/base/ShanXiCitiesMapper.java rename to src/main/java/com/gis/xian/mapper/qgis/base/ShanXiCitiesMapper.java index 745866f..23d0606 100644 --- a/src/main/java/com/gis/xian/mapper/base/ShanXiCitiesMapper.java +++ b/src/main/java/com/gis/xian/mapper/qgis/base/ShanXiCitiesMapper.java @@ -1,8 +1,7 @@ -package com.gis.xian.mapper.base; +package com.gis.xian.mapper.qgis.base; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gis.xian.config.DataSource; -import com.gis.xian.entity.base.SXCities; +import com.gis.xian.entity.qgis.base.SXCities; import org.apache.ibatis.annotations.Mapper; /** diff --git a/src/main/java/com/gis/xian/mapper/base/ShanXiCountyMapper.java b/src/main/java/com/gis/xian/mapper/qgis/base/ShanXiCountyMapper.java similarity index 70% rename from src/main/java/com/gis/xian/mapper/base/ShanXiCountyMapper.java rename to src/main/java/com/gis/xian/mapper/qgis/base/ShanXiCountyMapper.java index ed54ebe..45fb094 100644 --- a/src/main/java/com/gis/xian/mapper/base/ShanXiCountyMapper.java +++ b/src/main/java/com/gis/xian/mapper/qgis/base/ShanXiCountyMapper.java @@ -1,8 +1,7 @@ -package com.gis.xian.mapper.base; +package com.gis.xian.mapper.qgis.base; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gis.xian.config.DataSource; -import com.gis.xian.entity.base.SXCounty; +import com.gis.xian.entity.qgis.base.SXCounty; import org.apache.ibatis.annotations.Mapper; /** diff --git a/src/main/java/com/gis/xian/mapper/base/ShanXiTownsMapper.java b/src/main/java/com/gis/xian/mapper/qgis/base/ShanXiTownsMapper.java similarity index 70% rename from src/main/java/com/gis/xian/mapper/base/ShanXiTownsMapper.java rename to src/main/java/com/gis/xian/mapper/qgis/base/ShanXiTownsMapper.java index 8709104..96f1945 100644 --- a/src/main/java/com/gis/xian/mapper/base/ShanXiTownsMapper.java +++ b/src/main/java/com/gis/xian/mapper/qgis/base/ShanXiTownsMapper.java @@ -1,8 +1,7 @@ -package com.gis.xian.mapper.base; +package com.gis.xian.mapper.qgis.base; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gis.xian.config.DataSource; -import com.gis.xian.entity.base.SXTowns; +import com.gis.xian.entity.qgis.base.SXTowns; import org.apache.ibatis.annotations.Mapper; /** diff --git a/src/main/java/com/gis/xian/mapper/dzxx/DZXXCenterMapper.java b/src/main/java/com/gis/xian/mapper/qgis/earthquake/EarthquakeCenterMapper.java similarity index 51% rename from src/main/java/com/gis/xian/mapper/dzxx/DZXXCenterMapper.java rename to src/main/java/com/gis/xian/mapper/qgis/earthquake/EarthquakeCenterMapper.java index 2069dfc..01a958b 100644 --- a/src/main/java/com/gis/xian/mapper/dzxx/DZXXCenterMapper.java +++ b/src/main/java/com/gis/xian/mapper/qgis/earthquake/EarthquakeCenterMapper.java @@ -1,8 +1,7 @@ -package com.gis.xian.mapper.dzxx; +package com.gis.xian.mapper.qgis.earthquake; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gis.xian.config.DataSource; -import com.gis.xian.entity.dzxx.DZXXCenter; +import com.gis.xian.entity.qgis.earthquake.EarthquakeCenter; import org.apache.ibatis.annotations.Mapper; /** @@ -11,5 +10,5 @@ import org.apache.ibatis.annotations.Mapper; * @date 2026/5/25 下午5:21 */ @Mapper -public interface DZXXCenterMapper extends BaseMapper { +public interface EarthquakeCenterMapper extends BaseMapper { } diff --git a/src/main/java/com/gis/xian/mapper/dzxx/DZXXDistanceMapper.java b/src/main/java/com/gis/xian/mapper/qgis/earthquake/EarthquakeDistanceMapper.java similarity index 52% rename from src/main/java/com/gis/xian/mapper/dzxx/DZXXDistanceMapper.java rename to src/main/java/com/gis/xian/mapper/qgis/earthquake/EarthquakeDistanceMapper.java index 9275556..e90abc9 100644 --- a/src/main/java/com/gis/xian/mapper/dzxx/DZXXDistanceMapper.java +++ b/src/main/java/com/gis/xian/mapper/qgis/earthquake/EarthquakeDistanceMapper.java @@ -1,8 +1,7 @@ -package com.gis.xian.mapper.dzxx; +package com.gis.xian.mapper.qgis.earthquake; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gis.xian.config.DataSource; -import com.gis.xian.entity.dzxx.DZXXDistance; +import com.gis.xian.entity.qgis.earthquake.EarthquakeDistance; import org.apache.ibatis.annotations.Mapper; /** @@ -11,5 +10,5 @@ import org.apache.ibatis.annotations.Mapper; * @date 2026/5/25 下午6:20 */ @Mapper -public interface DZXXDistanceMapper extends BaseMapper { +public interface EarthquakeDistanceMapper extends BaseMapper { } diff --git a/src/main/java/com/gis/xian/mapper/pub/DZEqEventMapper.java b/src/main/java/com/gis/xian/mapper/qgis/earthquake/EarthquakeEventMapper.java similarity index 52% rename from src/main/java/com/gis/xian/mapper/pub/DZEqEventMapper.java rename to src/main/java/com/gis/xian/mapper/qgis/earthquake/EarthquakeEventMapper.java index 40655fa..f130da1 100644 --- a/src/main/java/com/gis/xian/mapper/pub/DZEqEventMapper.java +++ b/src/main/java/com/gis/xian/mapper/qgis/earthquake/EarthquakeEventMapper.java @@ -1,8 +1,7 @@ -package com.gis.xian.mapper.pub; +package com.gis.xian.mapper.qgis.earthquake; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gis.xian.config.DataSource; -import com.gis.xian.entity.pub.DZEqEvent; +import com.gis.xian.entity.qgis.earthquake.EarthquakeEvent; import org.apache.ibatis.annotations.Mapper; /** @@ -11,5 +10,5 @@ import org.apache.ibatis.annotations.Mapper; * @date 2026/5/25 下午5:01 */ @Mapper -public interface DZEqEventMapper extends BaseMapper { +public interface EarthquakeEventMapper extends BaseMapper { } diff --git a/src/main/java/com/gis/xian/mapper/dzxx/DZXXInfluenceMapper.java b/src/main/java/com/gis/xian/mapper/qgis/earthquake/EarthquakeGISInfluenceMapper.java similarity index 51% rename from src/main/java/com/gis/xian/mapper/dzxx/DZXXInfluenceMapper.java rename to src/main/java/com/gis/xian/mapper/qgis/earthquake/EarthquakeGISInfluenceMapper.java index 752e7a8..158ef2d 100644 --- a/src/main/java/com/gis/xian/mapper/dzxx/DZXXInfluenceMapper.java +++ b/src/main/java/com/gis/xian/mapper/qgis/earthquake/EarthquakeGISInfluenceMapper.java @@ -1,8 +1,7 @@ -package com.gis.xian.mapper.dzxx; +package com.gis.xian.mapper.qgis.earthquake; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gis.xian.config.DataSource; -import com.gis.xian.entity.dzxx.DZXXInfluence; +import com.gis.xian.entity.qgis.earthquake.EarthquakeGisInfluence; import org.apache.ibatis.annotations.Mapper; /** @@ -11,5 +10,5 @@ import org.apache.ibatis.annotations.Mapper; * @date 2026/5/25 下午6:20 */ @Mapper -public interface DZXXInfluenceMapper extends BaseMapper { +public interface EarthquakeGISInfluenceMapper extends BaseMapper { } diff --git a/src/main/java/com/gis/xian/mapper/qgis/earthquake/EarthquakeInfluenceMapper.java b/src/main/java/com/gis/xian/mapper/qgis/earthquake/EarthquakeInfluenceMapper.java new file mode 100644 index 0000000..72f88d9 --- /dev/null +++ b/src/main/java/com/gis/xian/mapper/qgis/earthquake/EarthquakeInfluenceMapper.java @@ -0,0 +1,14 @@ +package com.gis.xian.mapper.qgis.earthquake; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gis.xian.entity.qgis.earthquake.EarthquakeInfluence; +import org.apache.ibatis.annotations.Mapper; + +/** + * @author zzw + * @description: EarthquakeInfluenceMapper + * @date 2026/5/25 下午6:01 + */ +@Mapper +public interface EarthquakeInfluenceMapper extends BaseMapper { +} diff --git a/src/main/java/com/gis/xian/mapper/qgis/earthquake/EarthquakeProductMapper.java b/src/main/java/com/gis/xian/mapper/qgis/earthquake/EarthquakeProductMapper.java new file mode 100644 index 0000000..6dbe332 --- /dev/null +++ b/src/main/java/com/gis/xian/mapper/qgis/earthquake/EarthquakeProductMapper.java @@ -0,0 +1,14 @@ +package com.gis.xian.mapper.qgis.earthquake; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gis.xian.entity.qgis.earthquake.EarthquakeProduct; +import org.apache.ibatis.annotations.Mapper; + +/** + * @author zzw + * @description: EarthquakeProductMapper + * @date 2026/5/25 下午6:01 + */ +@Mapper +public interface EarthquakeProductMapper extends BaseMapper { +} diff --git a/src/main/java/com/gis/xian/mapper/pub/DZEqQueueMapper.java b/src/main/java/com/gis/xian/mapper/qgis/earthquake/EarthquakeQueueMapper.java similarity index 52% rename from src/main/java/com/gis/xian/mapper/pub/DZEqQueueMapper.java rename to src/main/java/com/gis/xian/mapper/qgis/earthquake/EarthquakeQueueMapper.java index 7ffe9f5..885d8ae 100644 --- a/src/main/java/com/gis/xian/mapper/pub/DZEqQueueMapper.java +++ b/src/main/java/com/gis/xian/mapper/qgis/earthquake/EarthquakeQueueMapper.java @@ -1,8 +1,7 @@ -package com.gis.xian.mapper.pub; +package com.gis.xian.mapper.qgis.earthquake; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gis.xian.config.DataSource; -import com.gis.xian.entity.pub.DZEqQueue; +import com.gis.xian.entity.qgis.earthquake.EarthquakeQueue; import org.apache.ibatis.annotations.Mapper; /** @@ -11,5 +10,5 @@ import org.apache.ibatis.annotations.Mapper; * @date 2026/5/25 下午6:01 */ @Mapper -public interface DZEqQueueMapper extends BaseMapper { +public interface EarthquakeQueueMapper extends BaseMapper { } diff --git a/src/main/java/com/gis/xian/mapper/pub/REventMapper.java b/src/main/java/com/gis/xian/mapper/qgis/rain/RainEventMapper.java similarity index 56% rename from src/main/java/com/gis/xian/mapper/pub/REventMapper.java rename to src/main/java/com/gis/xian/mapper/qgis/rain/RainEventMapper.java index ebc9371..14beacc 100644 --- a/src/main/java/com/gis/xian/mapper/pub/REventMapper.java +++ b/src/main/java/com/gis/xian/mapper/qgis/rain/RainEventMapper.java @@ -1,7 +1,7 @@ -package com.gis.xian.mapper.pub; +package com.gis.xian.mapper.qgis.rain; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gis.xian.entity.pub.REvent; +import com.gis.xian.entity.qgis.rain.RainEvent; import org.apache.ibatis.annotations.Mapper; /** @@ -10,5 +10,5 @@ import org.apache.ibatis.annotations.Mapper; * @date 2026/6/8 下午6:01 */ @Mapper -public interface REventMapper extends BaseMapper { +public interface RainEventMapper extends BaseMapper { } diff --git a/src/main/java/com/gis/xian/service/dzxx/IDZXXCenterService.java b/src/main/java/com/gis/xian/service/dzxx/IDZXXCenterService.java deleted file mode 100644 index a545552..0000000 --- a/src/main/java/com/gis/xian/service/dzxx/IDZXXCenterService.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.gis.xian.service.dzxx; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.gis.xian.config.DataSource; -import com.gis.xian.dto.dzxx.DZXXCenterDTO; -import com.gis.xian.entity.dzxx.DZXXCenter; - -/** - * @author zzw - * @description: 地震信息 - * @date 2026/5/25 下午5:01 - */ -@DataSource("slave1") -public interface IDZXXCenterService extends IService { - - // 地震触发 - public void handle(DZXXCenterDTO trigger); - -} diff --git a/src/main/java/com/gis/xian/service/dzxx/IDZXXInfluenceService.java b/src/main/java/com/gis/xian/service/dzxx/IDZXXInfluenceService.java deleted file mode 100644 index fd80ac6..0000000 --- a/src/main/java/com/gis/xian/service/dzxx/IDZXXInfluenceService.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.gis.xian.service.dzxx; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.gis.xian.config.DataSource; -import com.gis.xian.dto.dzxx.DZXXInfluenceDTO; -import com.gis.xian.dto.pub.EqAssessmentDTO; -import com.gis.xian.entity.dzxx.DZXXInfluence; -import com.gis.xian.query.EqQuery; - -import java.util.List; - -/** - * @author zzw - * @description: 地震影响场接口 - * @date 2026/5/25 下午6:09 - */ -@DataSource("slave1") -public interface IDZXXInfluenceService extends IService { - - // 处理地震影响场数据 - public void handle(EqAssessmentDTO trigger); - - // 根据地震编码查询影响场范围 - public List findInfluenceById(EqQuery query); - - // 获取最大烈度影响场 - public DZXXInfluenceDTO findInfluenceMaxIntyById(EqQuery query); - -} diff --git a/src/main/java/com/gis/xian/service/pub/IDZEqEventService.java b/src/main/java/com/gis/xian/service/pub/IDZEqEventService.java deleted file mode 100644 index 658d61e..0000000 --- a/src/main/java/com/gis/xian/service/pub/IDZEqEventService.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.gis.xian.service.pub; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.gis.xian.config.DataSource; -import com.gis.xian.dto.pub.EqTriggerDTO; -import com.gis.xian.entity.pub.DZEqEvent; -import com.gis.xian.query.EqQuery; - -/** - * @author zzw - * @description: QGIS地震事件触发 - * @date 2026/5/25 下午3:23 - */ -@DataSource("slave1") -public interface IDZEqEventService extends IService { - - // 地震触发 - public EqQuery trigger(EqTriggerDTO trigger); - - // 删除地震事件 - public Boolean deletedById(Long Id); -} diff --git a/src/main/java/com/gis/xian/service/pub/IDZEqQueueService.java b/src/main/java/com/gis/xian/service/pub/IDZEqQueueService.java deleted file mode 100644 index 77d918c..0000000 --- a/src/main/java/com/gis/xian/service/pub/IDZEqQueueService.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.gis.xian.service.pub; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.gis.xian.config.DataSource; -import com.gis.xian.dto.pub.EqAssessmentDTO; -import com.gis.xian.dto.pub.RAssessmentDTO; -import com.gis.xian.entity.pub.DZEqQueue; - -/** - * @author zzw - * @description: 地震评估 - * @date 2026/5/25 下午6:01 - */ -@DataSource("slave1") -public interface IDZEqQueueService extends IService { - - // 地震评估 - public void assess(EqAssessmentDTO assess); - - // 暴雨评估 - public void assess(RAssessmentDTO assess); - - // 更新评估进度、状态 - public void updated(String event, String queueId, double progress, int state); -} diff --git a/src/main/java/com/gis/xian/service/pub/IDZInfluenceService.java b/src/main/java/com/gis/xian/service/pub/IDZInfluenceService.java deleted file mode 100644 index a01c3d2..0000000 --- a/src/main/java/com/gis/xian/service/pub/IDZInfluenceService.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.gis.xian.service.pub; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.gis.xian.config.DataSource; -import com.gis.xian.dto.dzxx.DZXXInfluenceDTO; -import com.gis.xian.entity.pub.DZInfluence; -import com.gis.xian.query.EqQuery; -import java.util.List; -import java.util.Map; - -/** - * @author zzw - * @description: 地震影响场 - * @date 2026/5/25 下午6:01 - */ -@DataSource("slave1") -public interface IDZInfluenceService extends IService { - - // 以文件形式 保存影响场 - public void handle(List dzxx); - - // 获取影响场文件 - public Map getInfluence(EqQuery query); - -} diff --git a/src/main/java/com/gis/xian/service/pub/IDZProductService.java b/src/main/java/com/gis/xian/service/pub/IDZProductService.java deleted file mode 100644 index 1e9dd14..0000000 --- a/src/main/java/com/gis/xian/service/pub/IDZProductService.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.gis.xian.service.pub; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.gis.xian.config.DataSource; -import com.gis.xian.dto.pub.DZProductDTO; -import com.gis.xian.dto.pub.EqAssessmentDTO; -import com.gis.xian.dto.pub.RAssessmentDTO; -import com.gis.xian.entity.pub.DZProduct; -import com.gis.xian.query.ProductQuery; - -import java.util.List; - -/** - * @author zzw - * @description: IDZProductService - * @date 2026/5/25 下午6:01 - */ -@DataSource("slave1") -public interface IDZProductService extends IService { - - // qgis 地震制图服务 - public void makeEarthquakeMaps(EqAssessmentDTO assess); - - // qgis 暴雨制图服务 - public void makeRainstormMaps(RAssessmentDTO assess); - - // 获取产品 - public List getProducts(ProductQuery query); -} diff --git a/src/main/java/com/gis/xian/service/pub/IREventService.java b/src/main/java/com/gis/xian/service/pub/IREventService.java deleted file mode 100644 index 33e9082..0000000 --- a/src/main/java/com/gis/xian/service/pub/IREventService.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.gis.xian.service.pub; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.gis.xian.config.DataSource; -import com.gis.xian.dto.pub.RTriggerDTO; -import com.gis.xian.entity.pub.REvent; -import com.gis.xian.query.RQuery; - -/** - * @author zzw - * @description: IREventService - * @date 2026/6/8 下午6:01 - */ -@DataSource("slave1") -public interface IREventService extends IService { - // 暴雨触发 - public RQuery trigger(RTriggerDTO trigger); - - // 删除暴雨事件 - public Boolean deletedById(Long Id); -} diff --git a/src/main/java/com/gis/xian/core/rabbitmq/DlqOperate.java b/src/main/java/com/gis/xian/service/qgis/base/DeadLetterMessageService.java similarity index 76% rename from src/main/java/com/gis/xian/core/rabbitmq/DlqOperate.java rename to src/main/java/com/gis/xian/service/qgis/base/DeadLetterMessageService.java index 4acfc79..810f51a 100644 --- a/src/main/java/com/gis/xian/core/rabbitmq/DlqOperate.java +++ b/src/main/java/com/gis/xian/service/qgis/base/DeadLetterMessageService.java @@ -1,8 +1,8 @@ -package com.gis.xian.core.rabbitmq; +package com.gis.xian.service.qgis.base; -import com.gis.xian.domain.DlqMessage; +import com.gis.xian.domain.DeadLetterMessageDomain; import com.gis.xian.constant.BaseConstants; -import com.gis.xian.params.QgisArgs; +import com.gis.xian.dto.qgis.base.QgisArgsParams; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.springframework.amqp.rabbit.core.RabbitTemplate; @@ -15,7 +15,7 @@ import org.springframework.stereotype.Component; */ @Slf4j @Component -public class DlqOperate { +public class DeadLetterMessageService { @Resource private RabbitTemplate rabbitTemplate; @@ -27,11 +27,11 @@ public class DlqOperate { * @param reason 失败原因 * @param e 异常信息 */ - public void sendToDlq(QgisArgs arg, String reason, Exception e) { + public void sendToDlq(QgisArgsParams arg, String reason, Exception e) { try { // 封装死信消息体,包含原始参数、失败原因、异常信息、重试次数等 - DlqMessage dlqMessage = DlqMessage.builder() - .qgisArgs(arg) + DeadLetterMessageDomain deadLetterMessageDomain = DeadLetterMessageDomain.builder() + .qgisArgsParams(arg) .failReason(reason + (e != null ? " | " + e.getMessage() : "")) .failTime(System.currentTimeMillis()) .retryCount(0) // 初始重试次数为0 @@ -40,7 +40,7 @@ public class DlqOperate { rabbitTemplate.convertAndSend( BaseConstants.DLX_EXCHANGE, BaseConstants.DLQ_QUEUE, - dlqMessage + deadLetterMessageDomain ); log.info("消息已发送到死信队列! 参数ID:{}", arg.getId()); } catch (Exception ex) { diff --git a/src/main/java/com/gis/xian/service/base/IActiveFaultService.java b/src/main/java/com/gis/xian/service/qgis/base/IActiveFaultService.java similarity index 74% rename from src/main/java/com/gis/xian/service/base/IActiveFaultService.java rename to src/main/java/com/gis/xian/service/qgis/base/IActiveFaultService.java index 3dee44f..3cfd70c 100644 --- a/src/main/java/com/gis/xian/service/base/IActiveFaultService.java +++ b/src/main/java/com/gis/xian/service/qgis/base/IActiveFaultService.java @@ -1,9 +1,9 @@ -package com.gis.xian.service.base; +package com.gis.xian.service.qgis.base; import com.baomidou.mybatisplus.extension.service.IService; import com.gis.xian.config.DataSource; -import com.gis.xian.dto.base.ActiveFaultDTO; -import com.gis.xian.entity.base.ActiveFault; +import com.gis.xian.dto.qgis.base.ActiveFaultDTO; +import com.gis.xian.entity.qgis.base.ActiveFault; /** * @author zzw diff --git a/src/main/java/com/gis/xian/service/pub/IFeignService.java b/src/main/java/com/gis/xian/service/qgis/base/IFeignService.java similarity index 62% rename from src/main/java/com/gis/xian/service/pub/IFeignService.java rename to src/main/java/com/gis/xian/service/qgis/base/IFeignService.java index e17a36e..0ea447e 100644 --- a/src/main/java/com/gis/xian/service/pub/IFeignService.java +++ b/src/main/java/com/gis/xian/service/qgis/base/IFeignService.java @@ -1,7 +1,7 @@ -package com.gis.xian.service.pub; +package com.gis.xian.service.qgis.base; import com.gis.xian.config.DataSource; -import com.gis.xian.params.QgisArgs; +import com.gis.xian.dto.qgis.base.QgisArgsParams; import java.util.List; @@ -14,5 +14,5 @@ import java.util.List; public interface IFeignService { // 调用专题图 - public void invoke(List args); + public void invoke(List args); } diff --git a/src/main/java/com/gis/xian/service/base/IShanXiCitiesService.java b/src/main/java/com/gis/xian/service/qgis/base/IShanXiCitiesService.java similarity index 75% rename from src/main/java/com/gis/xian/service/base/IShanXiCitiesService.java rename to src/main/java/com/gis/xian/service/qgis/base/IShanXiCitiesService.java index 0b866fb..c911cc4 100644 --- a/src/main/java/com/gis/xian/service/base/IShanXiCitiesService.java +++ b/src/main/java/com/gis/xian/service/qgis/base/IShanXiCitiesService.java @@ -1,9 +1,9 @@ -package com.gis.xian.service.base; +package com.gis.xian.service.qgis.base; import com.baomidou.mybatisplus.extension.service.IService; import com.gis.xian.config.DataSource; -import com.gis.xian.dto.base.ShanXiCitiesDTO; -import com.gis.xian.entity.base.SXCities; +import com.gis.xian.dto.qgis.base.ShanXiCitiesDTO; +import com.gis.xian.entity.qgis.base.SXCities; import java.util.List; diff --git a/src/main/java/com/gis/xian/service/base/IShanXiCountyService.java b/src/main/java/com/gis/xian/service/qgis/base/IShanXiCountyService.java similarity index 80% rename from src/main/java/com/gis/xian/service/base/IShanXiCountyService.java rename to src/main/java/com/gis/xian/service/qgis/base/IShanXiCountyService.java index 54d8f1c..fe9ea78 100644 --- a/src/main/java/com/gis/xian/service/base/IShanXiCountyService.java +++ b/src/main/java/com/gis/xian/service/qgis/base/IShanXiCountyService.java @@ -1,9 +1,9 @@ -package com.gis.xian.service.base; +package com.gis.xian.service.qgis.base; import com.baomidou.mybatisplus.extension.service.IService; import com.gis.xian.config.DataSource; -import com.gis.xian.dto.base.ShanXiCountyDTO; -import com.gis.xian.entity.base.SXCounty; +import com.gis.xian.dto.qgis.base.ShanXiCountyDTO; +import com.gis.xian.entity.qgis.base.SXCounty; import java.util.List; diff --git a/src/main/java/com/gis/xian/service/base/IShanXiTownsService.java b/src/main/java/com/gis/xian/service/qgis/base/IShanXiTownsService.java similarity index 79% rename from src/main/java/com/gis/xian/service/base/IShanXiTownsService.java rename to src/main/java/com/gis/xian/service/qgis/base/IShanXiTownsService.java index e6a4208..6eec032 100644 --- a/src/main/java/com/gis/xian/service/base/IShanXiTownsService.java +++ b/src/main/java/com/gis/xian/service/qgis/base/IShanXiTownsService.java @@ -1,9 +1,9 @@ -package com.gis.xian.service.base; +package com.gis.xian.service.qgis.base; import com.baomidou.mybatisplus.extension.service.IService; import com.gis.xian.config.DataSource; -import com.gis.xian.dto.base.ShanXiTownsDTO; -import com.gis.xian.entity.base.SXTowns; +import com.gis.xian.dto.qgis.base.ShanXiTownsDTO; +import com.gis.xian.entity.qgis.base.SXTowns; import java.util.List; diff --git a/src/main/java/com/gis/xian/service/base/impl/ActiveFaultServiceImpl.java b/src/main/java/com/gis/xian/service/qgis/base/impl/ActiveFaultServiceImpl.java similarity index 94% rename from src/main/java/com/gis/xian/service/base/impl/ActiveFaultServiceImpl.java rename to src/main/java/com/gis/xian/service/qgis/base/impl/ActiveFaultServiceImpl.java index 705536d..f3289d3 100644 --- a/src/main/java/com/gis/xian/service/base/impl/ActiveFaultServiceImpl.java +++ b/src/main/java/com/gis/xian/service/qgis/base/impl/ActiveFaultServiceImpl.java @@ -1,13 +1,13 @@ -package com.gis.xian.service.base.impl; +package com.gis.xian.service.qgis.base.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gis.xian.config.DataSource; import com.gis.xian.constant.BaseConstants; -import com.gis.xian.dto.base.ActiveFaultDTO; -import com.gis.xian.entity.base.ActiveFault; -import com.gis.xian.handler.GeoDistanceHandler; -import com.gis.xian.mapper.base.ActiveFaultMapper; -import com.gis.xian.service.base.IActiveFaultService; +import com.gis.xian.dto.qgis.base.ActiveFaultDTO; +import com.gis.xian.entity.qgis.base.ActiveFault; +import com.gis.xian.service.qgis.base.IActiveFaultService; +import com.gis.xian.utils.qgis.GeoDistanceHandler; +import com.gis.xian.mapper.qgis.base.ActiveFaultMapper; import com.gis.xian.service.ex.ParmaException; import com.gis.xian.utils.StringUtils; import lombok.extern.slf4j.Slf4j; diff --git a/src/main/java/com/gis/xian/service/pub/impl/FeignServiceImpl.java b/src/main/java/com/gis/xian/service/qgis/base/impl/FeignServiceImpl.java similarity index 80% rename from src/main/java/com/gis/xian/service/pub/impl/FeignServiceImpl.java rename to src/main/java/com/gis/xian/service/qgis/base/impl/FeignServiceImpl.java index 88c4d7a..ea4a010 100644 --- a/src/main/java/com/gis/xian/service/pub/impl/FeignServiceImpl.java +++ b/src/main/java/com/gis/xian/service/qgis/base/impl/FeignServiceImpl.java @@ -1,22 +1,21 @@ -package com.gis.xian.service.pub.impl; +package com.gis.xian.service.qgis.base.impl; import com.alibaba.fastjson2.JSON; import com.gis.xian.config.DataSource; import com.gis.xian.config.QgisProperties; import com.gis.xian.constant.BaseConstants; -import com.gis.xian.core.rabbitmq.DlqOperate; -import com.gis.xian.enums.BaseEnums; -import com.gis.xian.params.QgisArgs; +import com.gis.xian.service.qgis.base.DeadLetterMessageService; +import com.gis.xian.enums.qgis.BaseEnums; +import com.gis.xian.dto.qgis.base.QgisArgsParams; import com.gis.xian.service.ex.ParmaException; -import com.gis.xian.service.pub.IDZEqQueueService; -import com.gis.xian.service.pub.IFeignService; +import com.gis.xian.service.qgis.earthquake.IEarthquakeQueueService; +import com.gis.xian.service.qgis.base.IFeignService; import com.gis.xian.utils.BaseUtils; -import com.gis.xian.utils.http.HttpRestClient; +import com.gis.xian.utils.HttpRequestClientUtils; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.springframework.context.annotation.Lazy; import org.springframework.amqp.rabbit.core.RabbitTemplate; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.ParameterizedTypeReference; import org.springframework.stereotype.Service; @@ -34,20 +33,20 @@ public class FeignServiceImpl implements IFeignService { @Resource - private HttpRestClient restclient; + private HttpRequestClientUtils restclient; @Resource private RabbitTemplate rabbitTemplate; @Resource @Lazy - private IDZEqQueueService idzEqQueueService; + private IEarthquakeQueueService IEarthquakeQueueService; @Resource - private DlqOperate dlqOperate; + private DeadLetterMessageService dlqOperate; @Resource private QgisProperties qgisProperties; // 调用制图服务 @Override - public void invoke(List args) { + public void invoke(List args) { // 进度 double p = 0; // 异常参数 @@ -57,7 +56,7 @@ public class FeignServiceImpl implements IFeignService { // 保证尽可能的多产, 这里不要进行任何异常抛出, 只能记录失败的图层 try { log.info("开始调用pyqgis服务"); - for (QgisArgs arg : args) { + for (QgisArgsParams arg : args) { try { // 处理单个图件 // 返回数据格式 ParameterizedTypeReference res = new ParameterizedTypeReference() { @@ -79,7 +78,7 @@ public class FeignServiceImpl implements IFeignService { if (arg.getDisaster() == BaseConstants.RAIN_DISASTER_MAP) { p = BaseUtils.compute(arg.getId() + 1, 1); } - idzEqQueueService.updated(arg.getEvent(), arg.getQueueId(), p, BaseEnums.CALCULATING.getCode()); + IEarthquakeQueueService.updated(arg.getEvent(), arg.getQueueId(), p, BaseEnums.CALCULATING.getCode()); // 推送消息 rabbitTemplate.convertAndSend(BaseConstants.ASSESS_EXCHANGE, BaseConstants.MAPS_QUEUE, arg); } catch (Exception ex) { @@ -91,7 +90,7 @@ public class FeignServiceImpl implements IFeignService { } catch (Exception e) { log.error("制图服务出现错误,请检查服务问题! {}", e.getMessage(), e); // 批量失败时,将所有未处理的参数投递到死信 - for (QgisArgs arg : args) { + for (QgisArgsParams arg : args) { // 进入死信队列 dlqOperate.sendToDlq(arg, "制图服务整体异常", e); } diff --git a/src/main/java/com/gis/xian/service/base/impl/ShanXiCitiesServiceImpl.java b/src/main/java/com/gis/xian/service/qgis/base/impl/ShanXiCitiesServiceImpl.java similarity index 94% rename from src/main/java/com/gis/xian/service/base/impl/ShanXiCitiesServiceImpl.java rename to src/main/java/com/gis/xian/service/qgis/base/impl/ShanXiCitiesServiceImpl.java index 64b6ef1..63e3afb 100644 --- a/src/main/java/com/gis/xian/service/base/impl/ShanXiCitiesServiceImpl.java +++ b/src/main/java/com/gis/xian/service/qgis/base/impl/ShanXiCitiesServiceImpl.java @@ -1,13 +1,13 @@ -package com.gis.xian.service.base.impl; +package com.gis.xian.service.qgis.base.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gis.xian.config.DataSource; import com.gis.xian.constant.BaseConstants; -import com.gis.xian.dto.base.ShanXiCitiesDTO; -import com.gis.xian.entity.base.SXCities; -import com.gis.xian.handler.GeoDistanceHandler; -import com.gis.xian.mapper.base.ShanXiCitiesMapper; -import com.gis.xian.service.base.IShanXiCitiesService; +import com.gis.xian.dto.qgis.base.ShanXiCitiesDTO; +import com.gis.xian.entity.qgis.base.SXCities; +import com.gis.xian.service.qgis.base.IShanXiCitiesService; +import com.gis.xian.utils.qgis.GeoDistanceHandler; +import com.gis.xian.mapper.qgis.base.ShanXiCitiesMapper; import com.gis.xian.service.ex.ParmaException; import com.gis.xian.utils.StringUtils; import lombok.extern.slf4j.Slf4j; diff --git a/src/main/java/com/gis/xian/service/base/impl/ShanXiCountyServiceImpl.java b/src/main/java/com/gis/xian/service/qgis/base/impl/ShanXiCountyServiceImpl.java similarity index 92% rename from src/main/java/com/gis/xian/service/base/impl/ShanXiCountyServiceImpl.java rename to src/main/java/com/gis/xian/service/qgis/base/impl/ShanXiCountyServiceImpl.java index 5d82f9a..f7b6950 100644 --- a/src/main/java/com/gis/xian/service/base/impl/ShanXiCountyServiceImpl.java +++ b/src/main/java/com/gis/xian/service/qgis/base/impl/ShanXiCountyServiceImpl.java @@ -1,13 +1,13 @@ -package com.gis.xian.service.base.impl; +package com.gis.xian.service.qgis.base.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gis.xian.config.DataSource; import com.gis.xian.constant.BaseConstants; -import com.gis.xian.dto.base.ShanXiCountyDTO; -import com.gis.xian.entity.base.SXCounty; -import com.gis.xian.handler.GeoDistanceHandler; -import com.gis.xian.mapper.base.ShanXiCountyMapper; -import com.gis.xian.service.base.IShanXiCountyService; +import com.gis.xian.dto.qgis.base.ShanXiCountyDTO; +import com.gis.xian.entity.qgis.base.SXCounty; +import com.gis.xian.service.qgis.base.IShanXiCountyService; +import com.gis.xian.utils.qgis.GeoDistanceHandler; +import com.gis.xian.mapper.qgis.base.ShanXiCountyMapper; import com.gis.xian.service.ex.ParmaException; import com.gis.xian.utils.StringUtils; import lombok.extern.slf4j.Slf4j; diff --git a/src/main/java/com/gis/xian/service/base/impl/ShanXiTownsServiceImpl.java b/src/main/java/com/gis/xian/service/qgis/base/impl/ShanXiTownsServiceImpl.java similarity index 92% rename from src/main/java/com/gis/xian/service/base/impl/ShanXiTownsServiceImpl.java rename to src/main/java/com/gis/xian/service/qgis/base/impl/ShanXiTownsServiceImpl.java index 807f58e..d3741d4 100644 --- a/src/main/java/com/gis/xian/service/base/impl/ShanXiTownsServiceImpl.java +++ b/src/main/java/com/gis/xian/service/qgis/base/impl/ShanXiTownsServiceImpl.java @@ -1,13 +1,13 @@ -package com.gis.xian.service.base.impl; +package com.gis.xian.service.qgis.base.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gis.xian.config.DataSource; import com.gis.xian.constant.BaseConstants; -import com.gis.xian.dto.base.ShanXiTownsDTO; -import com.gis.xian.entity.base.SXTowns; -import com.gis.xian.handler.GeoDistanceHandler; -import com.gis.xian.mapper.base.ShanXiTownsMapper; -import com.gis.xian.service.base.IShanXiTownsService; +import com.gis.xian.dto.qgis.base.ShanXiTownsDTO; +import com.gis.xian.entity.qgis.base.SXTowns; +import com.gis.xian.service.qgis.base.IShanXiTownsService; +import com.gis.xian.utils.qgis.GeoDistanceHandler; +import com.gis.xian.mapper.qgis.base.ShanXiTownsMapper; import com.gis.xian.service.ex.ParmaException; import com.gis.xian.utils.StringUtils; import lombok.extern.slf4j.Slf4j; diff --git a/src/main/java/com/gis/xian/service/qgis/earthquake/IEarthquakeEventService.java b/src/main/java/com/gis/xian/service/qgis/earthquake/IEarthquakeEventService.java new file mode 100644 index 0000000..6960d63 --- /dev/null +++ b/src/main/java/com/gis/xian/service/qgis/earthquake/IEarthquakeEventService.java @@ -0,0 +1,22 @@ +package com.gis.xian.service.qgis.earthquake; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.gis.xian.config.DataSource; +import com.gis.xian.dto.qgis.earthquake.EarthquakeTriggerDTO; +import com.gis.xian.entity.qgis.earthquake.EarthquakeEvent; +import com.gis.xian.dto.qgis.earthquake.EarthquakeQuery; + +/** + * @author zzw + * @description: QGIS地震事件触发 + * @date 2026/5/25 下午3:23 + */ +@DataSource("slave1") +public interface IEarthquakeEventService extends IService { + + // 地震触发 + public EarthquakeQuery trigger(EarthquakeTriggerDTO trigger); + + // 删除地震事件 + public Boolean deletedById(Long Id); +} diff --git a/src/main/java/com/gis/xian/service/qgis/earthquake/IEarthquakeInfluenceService.java b/src/main/java/com/gis/xian/service/qgis/earthquake/IEarthquakeInfluenceService.java new file mode 100644 index 0000000..bdfa050 --- /dev/null +++ b/src/main/java/com/gis/xian/service/qgis/earthquake/IEarthquakeInfluenceService.java @@ -0,0 +1,25 @@ +package com.gis.xian.service.qgis.earthquake; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.gis.xian.config.DataSource; +import com.gis.xian.dto.qgis.earthquake.EarthquakeInformationInfluenceDTO; +import com.gis.xian.entity.qgis.earthquake.EarthquakeInfluence; +import com.gis.xian.dto.qgis.earthquake.EarthquakeQuery; +import java.util.List; +import java.util.Map; + +/** + * @author zzw + * @description: 地震影响场 + * @date 2026/5/25 下午6:01 + */ +@DataSource("slave1") +public interface IEarthquakeInfluenceService extends IService { + + // 以文件形式 保存影响场 + public void handle(List dzxx); + + // 获取影响场文件 + public Map getInfluence(EarthquakeQuery query); + +} diff --git a/src/main/java/com/gis/xian/service/qgis/earthquake/IEarthquakeInformationCenterService.java b/src/main/java/com/gis/xian/service/qgis/earthquake/IEarthquakeInformationCenterService.java new file mode 100644 index 0000000..1325146 --- /dev/null +++ b/src/main/java/com/gis/xian/service/qgis/earthquake/IEarthquakeInformationCenterService.java @@ -0,0 +1,19 @@ +package com.gis.xian.service.qgis.earthquake; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.gis.xian.config.DataSource; +import com.gis.xian.dto.qgis.earthquake.EarthquakeCenterDTO; +import com.gis.xian.entity.qgis.earthquake.EarthquakeCenter; + +/** + * @author zzw + * @description: 地震信息 + * @date 2026/5/25 下午5:01 + */ +@DataSource("slave1") +public interface IEarthquakeInformationCenterService extends IService { + + // 地震触发 + public void handle(EarthquakeCenterDTO trigger); + +} diff --git a/src/main/java/com/gis/xian/service/dzxx/IDZXXDistanceService.java b/src/main/java/com/gis/xian/service/qgis/earthquake/IEarthquakeInformationDistanceService.java similarity index 63% rename from src/main/java/com/gis/xian/service/dzxx/IDZXXDistanceService.java rename to src/main/java/com/gis/xian/service/qgis/earthquake/IEarthquakeInformationDistanceService.java index 5b1a015..9056629 100644 --- a/src/main/java/com/gis/xian/service/dzxx/IDZXXDistanceService.java +++ b/src/main/java/com/gis/xian/service/qgis/earthquake/IEarthquakeInformationDistanceService.java @@ -1,8 +1,8 @@ -package com.gis.xian.service.dzxx; +package com.gis.xian.service.qgis.earthquake; import com.baomidou.mybatisplus.extension.service.IService; import com.gis.xian.config.DataSource; -import com.gis.xian.entity.dzxx.DZXXDistance; +import com.gis.xian.entity.qgis.earthquake.EarthquakeDistance; /** * @ClassName IDZXXDistanceService @@ -11,7 +11,7 @@ import com.gis.xian.entity.dzxx.DZXXDistance; * @Date 2026/5/25 12:06 */ @DataSource("slave1") -public interface IDZXXDistanceService extends IService { +public interface IEarthquakeInformationDistanceService extends IService { // 处理震中到省市区镇 public void handle(double lon, double lat, String eqQueueId); diff --git a/src/main/java/com/gis/xian/service/qgis/earthquake/IEarthquakeInformationInfluenceService.java b/src/main/java/com/gis/xian/service/qgis/earthquake/IEarthquakeInformationInfluenceService.java new file mode 100644 index 0000000..53d8623 --- /dev/null +++ b/src/main/java/com/gis/xian/service/qgis/earthquake/IEarthquakeInformationInfluenceService.java @@ -0,0 +1,29 @@ +package com.gis.xian.service.qgis.earthquake; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.gis.xian.config.DataSource; +import com.gis.xian.dto.qgis.earthquake.EarthquakeInformationInfluenceDTO; +import com.gis.xian.dto.qgis.earthquake.EarthquakeAssessmentDTO; +import com.gis.xian.entity.qgis.earthquake.EarthquakeGisInfluence; +import com.gis.xian.dto.qgis.earthquake.EarthquakeQuery; + +import java.util.List; + +/** + * @author zzw + * @description: 地震影响场接口 + * @date 2026/5/25 下午6:09 + */ +@DataSource("slave1") +public interface IEarthquakeInformationInfluenceService extends IService { + + // 处理地震影响场数据 + public void handle(EarthquakeAssessmentDTO trigger); + + // 根据地震编码查询影响场范围 + public List findInfluenceById(EarthquakeQuery query); + + // 获取最大烈度影响场 + public EarthquakeInformationInfluenceDTO findInfluenceMaxIntyById(EarthquakeQuery query); + +} diff --git a/src/main/java/com/gis/xian/service/qgis/earthquake/IEarthquakeProductService.java b/src/main/java/com/gis/xian/service/qgis/earthquake/IEarthquakeProductService.java new file mode 100644 index 0000000..11f3eb9 --- /dev/null +++ b/src/main/java/com/gis/xian/service/qgis/earthquake/IEarthquakeProductService.java @@ -0,0 +1,29 @@ +package com.gis.xian.service.qgis.earthquake; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.gis.xian.config.DataSource; +import com.gis.xian.dto.qgis.earthquake.EarthquakeProductDTO; +import com.gis.xian.dto.qgis.earthquake.EarthquakeAssessmentDTO; +import com.gis.xian.dto.qgis.rain.RainAssessmentDTO; +import com.gis.xian.entity.qgis.earthquake.EarthquakeProduct; +import com.gis.xian.dto.qgis.base.ProductQuery; + +import java.util.List; + +/** + * @author zzw + * @description: IDZProductService + * @date 2026/5/25 下午6:01 + */ +@DataSource("slave1") +public interface IEarthquakeProductService extends IService { + + // qgis 地震制图服务 + public void makeEarthquakeMaps(EarthquakeAssessmentDTO assess); + + // qgis 暴雨制图服务 + public void makeRainstormMaps(RainAssessmentDTO assess); + + // 获取产品 + public List getProducts(ProductQuery query); +} diff --git a/src/main/java/com/gis/xian/service/qgis/earthquake/IEarthquakeQueueService.java b/src/main/java/com/gis/xian/service/qgis/earthquake/IEarthquakeQueueService.java new file mode 100644 index 0000000..a464303 --- /dev/null +++ b/src/main/java/com/gis/xian/service/qgis/earthquake/IEarthquakeQueueService.java @@ -0,0 +1,25 @@ +package com.gis.xian.service.qgis.earthquake; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.gis.xian.config.DataSource; +import com.gis.xian.dto.qgis.earthquake.EarthquakeAssessmentDTO; +import com.gis.xian.dto.qgis.rain.RainAssessmentDTO; +import com.gis.xian.entity.qgis.earthquake.EarthquakeQueue; + +/** + * @author zzw + * @description: 地震评估 + * @date 2026/5/25 下午6:01 + */ +@DataSource("slave1") +public interface IEarthquakeQueueService extends IService { + + // 地震评估 + public void assess(EarthquakeAssessmentDTO assess); + + // 暴雨评估 + public void assess(RainAssessmentDTO assess); + + // 更新评估进度、状态 + public void updated(String event, String queueId, double progress, int state); +} diff --git a/src/main/java/com/gis/xian/service/pub/impl/DZEqEventServiceImpl.java b/src/main/java/com/gis/xian/service/qgis/earthquake/impl/EarthquakeEventServiceImpl.java similarity index 62% rename from src/main/java/com/gis/xian/service/pub/impl/DZEqEventServiceImpl.java rename to src/main/java/com/gis/xian/service/qgis/earthquake/impl/EarthquakeEventServiceImpl.java index 93bc11b..1eeae4b 100644 --- a/src/main/java/com/gis/xian/service/pub/impl/DZEqEventServiceImpl.java +++ b/src/main/java/com/gis/xian/service/qgis/earthquake/impl/EarthquakeEventServiceImpl.java @@ -1,26 +1,25 @@ -package com.gis.xian.service.pub.impl; +package com.gis.xian.service.qgis.earthquake.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gis.xian.config.DataSource; import com.gis.xian.constant.BaseConstants; -import com.gis.xian.dto.dzxx.DZXXCenterDTO; -import com.gis.xian.dto.pub.EqAssessmentDTO; -import com.gis.xian.dto.pub.EqTriggerDTO; -import com.gis.xian.entity.pub.DZEqEvent; -import com.gis.xian.mapper.pub.DZEqEventMapper; -import com.gis.xian.query.EqQuery; -import com.gis.xian.service.dzxx.IDZXXCenterService; +import com.gis.xian.dto.qgis.earthquake.EarthquakeCenterDTO; +import com.gis.xian.dto.qgis.earthquake.EarthquakeAssessmentDTO; +import com.gis.xian.dto.qgis.earthquake.EarthquakeTriggerDTO; +import com.gis.xian.entity.qgis.earthquake.EarthquakeEvent; +import com.gis.xian.mapper.qgis.earthquake.EarthquakeEventMapper; +import com.gis.xian.dto.qgis.earthquake.EarthquakeQuery; +import com.gis.xian.service.qgis.earthquake.IEarthquakeInformationCenterService; import com.gis.xian.service.ex.ParmaException; import com.gis.xian.service.ex.ServeException; -import com.gis.xian.service.pub.IDZEqEventService; -import com.gis.xian.service.pub.IDZEqQueueService; +import com.gis.xian.service.qgis.earthquake.IEarthquakeEventService; +import com.gis.xian.service.qgis.earthquake.IEarthquakeQueueService; import com.gis.xian.utils.BaseUtils; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -32,17 +31,17 @@ import org.springframework.transaction.annotation.Transactional; @Slf4j @Service @DataSource("slave1") -public class DZEqEventServiceImpl extends ServiceImpl implements IDZEqEventService { +public class EarthquakeEventServiceImpl extends ServiceImpl implements IEarthquakeEventService { @Resource - private IDZXXCenterService idzxxCenterService; + private IEarthquakeInformationCenterService IEarthquakeInformationCenterService; @Resource - private IDZEqQueueService idzEqQueueService; + private IEarthquakeQueueService IEarthquakeQueueService; // 地震业务触发 @Transactional @Override - public EqQuery trigger(EqTriggerDTO trigger) { + public EarthquakeQuery trigger(EarthquakeTriggerDTO trigger) { log.info("地震参数:{}", trigger); // 异常值 if (trigger == null) { @@ -52,14 +51,14 @@ public class DZEqEventServiceImpl extends ServiceImpl lambdaQuery = Wrappers.lambdaQuery(DZEqEvent.class); - lambdaQuery.eq(DZEqEvent::getId, Id); + LambdaQueryWrapper lambdaQuery = Wrappers.lambdaQuery(EarthquakeEvent.class); + lambdaQuery.eq(EarthquakeEvent::getId, Id); int flag = this.baseMapper.delete(lambdaQuery); return flag > 0 ? true : false; } diff --git a/src/main/java/com/gis/xian/service/pub/impl/DZInfluenceServiceImpl.java b/src/main/java/com/gis/xian/service/qgis/earthquake/impl/EarthquakeInfluenceServiceImpl.java similarity index 61% rename from src/main/java/com/gis/xian/service/pub/impl/DZInfluenceServiceImpl.java rename to src/main/java/com/gis/xian/service/qgis/earthquake/impl/EarthquakeInfluenceServiceImpl.java index 699c6e9..3b54366 100644 --- a/src/main/java/com/gis/xian/service/pub/impl/DZInfluenceServiceImpl.java +++ b/src/main/java/com/gis/xian/service/qgis/earthquake/impl/EarthquakeInfluenceServiceImpl.java @@ -1,4 +1,4 @@ -package com.gis.xian.service.pub.impl; +package com.gis.xian.service.qgis.earthquake.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -6,21 +6,20 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gis.xian.config.DataSource; import com.gis.xian.config.QgisProperties; import com.gis.xian.constant.BaseConstants; -import com.gis.xian.dto.dzxx.DZXXInfluenceDTO; -import com.gis.xian.dto.pub.DZInfluenceDTO; -import com.gis.xian.dto.pub.IntyGeoJsonDTO; -import com.gis.xian.entity.pub.DZInfluence; -import com.gis.xian.handler.GeoFilesHandler; -import com.gis.xian.mapper.pub.DZInfluenceMapper; -import com.gis.xian.query.EqQuery; +import com.gis.xian.dto.qgis.earthquake.EarthquakeInformationInfluenceDTO; +import com.gis.xian.dto.qgis.earthquake.EarthquakeInfluenceDTO; +import com.gis.xian.dto.qgis.earthquake.EarthquakeInfluenceGeoJsonDTO; +import com.gis.xian.entity.qgis.earthquake.EarthquakeInfluence; +import com.gis.xian.service.qgis.earthquake.IEarthquakeInfluenceService; +import com.gis.xian.utils.qgis.GeoFilesHandler; +import com.gis.xian.mapper.qgis.earthquake.EarthquakeInfluenceMapper; +import com.gis.xian.dto.qgis.earthquake.EarthquakeQuery; import com.gis.xian.service.ex.ParmaException; import com.gis.xian.service.ex.ServiceException; -import com.gis.xian.service.pub.IDZInfluenceService; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.locationtech.jts.geom.Polygon; import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; @@ -36,10 +35,8 @@ import java.util.Map; @Slf4j @Service @DataSource("slave1") -public class DZInfluenceServiceImpl extends ServiceImpl implements IDZInfluenceService { +public class EarthquakeInfluenceServiceImpl extends ServiceImpl implements IEarthquakeInfluenceService { - @Resource - private GeoFilesHandler handler; @Resource private QgisProperties qgisProperties; @@ -47,7 +44,7 @@ public class DZInfluenceServiceImpl extends ServiceImpl dzxxs) { + public void handle(List dzxxs) { // 异常 if (dzxxs == null || dzxxs.isEmpty()) { throw new ParmaException(BaseConstants.PARAMS_ERROR); @@ -55,14 +52,14 @@ public class DZInfluenceServiceImpl extends ServiceImpl getInfluence(EqQuery query) { + public Map getInfluence(EarthquakeQuery query) { // 异常 if (query == null) { throw new ParmaException(BaseConstants.PARAMS_ERROR); } // 条件 - LambdaQueryWrapper lambdaQuery = Wrappers.lambdaQuery(DZInfluence.class); - lambdaQuery.select(DZInfluence::getPath); - lambdaQuery.eq(DZInfluence::getEvent, query.getEvent()); - lambdaQuery.eq(DZInfluence::getEqQueueId, query.getEqQueueId()); - lambdaQuery.orderByDesc(DZInfluence::getCreateTime); // 防止多条记录 + LambdaQueryWrapper lambdaQuery = Wrappers.lambdaQuery(EarthquakeInfluence.class); + lambdaQuery.select(EarthquakeInfluence::getPath); + lambdaQuery.eq(EarthquakeInfluence::getEvent, query.getEvent()); + lambdaQuery.eq(EarthquakeInfluence::getEqQueueId, query.getEqQueueId()); + lambdaQuery.orderByDesc(EarthquakeInfluence::getCreateTime); // 防止多条记录 lambdaQuery.last("limit 1"); // 查询 - DZInfluence influence = (DZInfluence) this.baseMapper.selectList(lambdaQuery); + EarthquakeInfluence influence = (EarthquakeInfluence) this.baseMapper.selectList(lambdaQuery); if (influence == null) { throw new ParmaException(BaseConstants.RESULT_ERROR); } @@ -115,8 +112,8 @@ public class DZInfluenceServiceImpl extends ServiceImpl implements IDZXXCenterService { +public class EarthquakeInformationCenterServiceImpl extends ServiceImpl implements IEarthquakeInformationCenterService { // 地震触发 @Override - public void handle(DZXXCenterDTO dzxxdto) { + public void handle(EarthquakeCenterDTO dzxxdto) { // 抛出异常 if (dzxxdto == null) { throw new ParmaException(BaseConstants.PARAMS_ERROR); } try { - DZXXCenter dzxx = new DZXXCenter(); + EarthquakeCenter dzxx = new EarthquakeCenter(); BeanUtils.copyProperties(dzxxdto, dzxx); // 处理空间数据 GeometryFactory geometryFactory = new GeometryFactory(); diff --git a/src/main/java/com/gis/xian/service/dzxx/impl/DZXXDistanceServiceImpl.java b/src/main/java/com/gis/xian/service/qgis/earthquake/impl/EarthquakeInformationDistanceServiceImpl.java similarity index 70% rename from src/main/java/com/gis/xian/service/dzxx/impl/DZXXDistanceServiceImpl.java rename to src/main/java/com/gis/xian/service/qgis/earthquake/impl/EarthquakeInformationDistanceServiceImpl.java index f0d5a9c..877c346 100644 --- a/src/main/java/com/gis/xian/service/dzxx/impl/DZXXDistanceServiceImpl.java +++ b/src/main/java/com/gis/xian/service/qgis/earthquake/impl/EarthquakeInformationDistanceServiceImpl.java @@ -1,24 +1,23 @@ -package com.gis.xian.service.dzxx.impl; +package com.gis.xian.service.qgis.earthquake.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gis.xian.config.DataSource; import com.gis.xian.constant.BaseConstants; -import com.gis.xian.dto.base.ShanXiCitiesDTO; -import com.gis.xian.dto.base.ShanXiCountyDTO; -import com.gis.xian.dto.base.ShanXiTownsDTO; -import com.gis.xian.dto.dzxx.DZXXDistanceDTO; -import com.gis.xian.entity.dzxx.DZXXDistance; -import com.gis.xian.mapper.dzxx.DZXXDistanceMapper; -import com.gis.xian.service.base.IShanXiCitiesService; -import com.gis.xian.service.base.IShanXiCountyService; -import com.gis.xian.service.base.IShanXiTownsService; -import com.gis.xian.service.dzxx.IDZXXDistanceService; +import com.gis.xian.dto.qgis.base.ShanXiCitiesDTO; +import com.gis.xian.dto.qgis.base.ShanXiCountyDTO; +import com.gis.xian.dto.qgis.base.ShanXiTownsDTO; +import com.gis.xian.dto.qgis.earthquake.EarthquakeDistanceDTO; +import com.gis.xian.entity.qgis.earthquake.EarthquakeDistance; +import com.gis.xian.mapper.qgis.earthquake.EarthquakeDistanceMapper; +import com.gis.xian.service.qgis.base.IShanXiCitiesService; +import com.gis.xian.service.qgis.base.IShanXiCountyService; +import com.gis.xian.service.qgis.base.IShanXiTownsService; +import com.gis.xian.service.qgis.earthquake.IEarthquakeInformationDistanceService; import com.gis.xian.service.ex.ParmaException; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.locationtech.jts.geom.*; import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; @@ -33,7 +32,7 @@ import java.util.List; @Slf4j @Service @DataSource("slave1") -public class DZXXDistanceServiceImpl extends ServiceImpl implements IDZXXDistanceService { +public class EarthquakeInformationDistanceServiceImpl extends ServiceImpl implements IEarthquakeInformationDistanceService { private static final GeometryFactory GEOMETRY_FACTORY = new GeometryFactory(new PrecisionModel(PrecisionModel.FLOATING), 4326); @Resource @@ -54,22 +53,22 @@ public class DZXXDistanceServiceImpl extends ServiceImpl towns20km = iShanXiTownsService.getMostIntensityAreaTowns(20, lon, lat); // 所有行政区划数 - List combined = combine(cities, counties50km, towns20km, eqQueueId, lon, lat); + List combined = combine(cities, counties50km, towns20km, eqQueueId, lon, lat); // 存库 asyncSave(combined); } // 将行政区划组合 - private List combine(List cities, - List counties20km, - List towns10km, - String eqQueueId, double lon, double lat) { + private List combine(List cities, + List counties20km, + List towns10km, + String eqQueueId, double lon, double lat) { // 震中到行政区划距离 - List distancedtos = new ArrayList<>(); + List distancedtos = new ArrayList<>(); // 处理市州 for (ShanXiCitiesDTO city : cities) { - DZXXDistanceDTO dzxx = new DZXXDistanceDTO(); + EarthquakeDistanceDTO dzxx = new EarthquakeDistanceDTO(); // 处理震中到市州的线段 dzxx.setGeom(p2pLines(lon, lat, city.getX(), city.getY())); @@ -85,7 +84,7 @@ public class DZXXDistanceServiceImpl extends ServiceImpl data) { + protected void asyncSave(List data) { // 批量存储 - List dzxxs = new ArrayList<>(); + List dzxxs = new ArrayList<>(); //处理数据 - for (DZXXDistanceDTO datum : data) { - DZXXDistance dzxx = new DZXXDistance(); + for (EarthquakeDistanceDTO datum : data) { + EarthquakeDistance dzxx = new EarthquakeDistance(); BeanUtils.copyProperties(datum, dzxx); dzxx.getGeom().setSRID(4490); dzxxs.add(dzxx); diff --git a/src/main/java/com/gis/xian/service/dzxx/impl/DZXXInfluenceServiceImpl.java b/src/main/java/com/gis/xian/service/qgis/earthquake/impl/EarthquakeInformationInfluenceServiceImpl.java similarity index 59% rename from src/main/java/com/gis/xian/service/dzxx/impl/DZXXInfluenceServiceImpl.java rename to src/main/java/com/gis/xian/service/qgis/earthquake/impl/EarthquakeInformationInfluenceServiceImpl.java index ba8bceb..3ca0384 100644 --- a/src/main/java/com/gis/xian/service/dzxx/impl/DZXXInfluenceServiceImpl.java +++ b/src/main/java/com/gis/xian/service/qgis/earthquake/impl/EarthquakeInformationInfluenceServiceImpl.java @@ -1,29 +1,28 @@ -package com.gis.xian.service.dzxx.impl; +package com.gis.xian.service.qgis.earthquake.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gis.xian.config.DataSource; import com.gis.xian.constant.BaseConstants; -import com.gis.xian.dto.base.ActiveFaultDTO; -import com.gis.xian.dto.dzxx.DZXXInfluenceDTO; -import com.gis.xian.dto.pub.EqAssessmentDTO; -import com.gis.xian.entity.dzxx.DZXXInfluence; -import com.gis.xian.handler.EarthquakeHandler; -import com.gis.xian.handler.EllipseToWktHandler; -import com.gis.xian.mapper.dzxx.DZXXInfluenceMapper; -import com.gis.xian.query.EqQuery; -import com.gis.xian.query.IntensityQuery; -import com.gis.xian.service.base.IActiveFaultService; -import com.gis.xian.service.dzxx.IDZXXInfluenceService; +import com.gis.xian.dto.qgis.base.ActiveFaultDTO; +import com.gis.xian.dto.qgis.earthquake.EarthquakeInformationInfluenceDTO; +import com.gis.xian.dto.qgis.earthquake.EarthquakeAssessmentDTO; +import com.gis.xian.entity.qgis.earthquake.EarthquakeGisInfluence; +import com.gis.xian.utils.qgis.EarthquakeHandler; +import com.gis.xian.utils.qgis.EllipseToWktHandler; +import com.gis.xian.mapper.qgis.earthquake.EarthquakeGISInfluenceMapper; +import com.gis.xian.dto.qgis.earthquake.EarthquakeQuery; +import com.gis.xian.dto.qgis.earthquake.EarthquakeIntensityQuery; +import com.gis.xian.service.qgis.base.IActiveFaultService; +import com.gis.xian.service.qgis.earthquake.IEarthquakeInformationInfluenceService; import com.gis.xian.service.ex.ParmaException; import com.gis.xian.service.ex.ServiceException; -import com.gis.xian.service.pub.IDZInfluenceService; +import com.gis.xian.service.qgis.earthquake.IEarthquakeInfluenceService; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.locationtech.jts.geom.Polygon; import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; @@ -37,21 +36,17 @@ import java.util.List; @Slf4j @Service @DataSource("slave1") -public class DZXXInfluenceServiceImpl extends ServiceImpl implements IDZXXInfluenceService { +public class EarthquakeInformationInfluenceServiceImpl extends ServiceImpl implements IEarthquakeInformationInfluenceService { @Resource private IActiveFaultService faultService; @Resource - private EllipseToWktHandler ellipseToWktHandler; - @Resource - private IDZInfluenceService idzInfluenceService; - @Resource - private EarthquakeHandler earthquakeHandler; + private IEarthquakeInfluenceService IEarthquakeInfluenceService; // 处理地震影响场数据 @Override - public void handle(EqAssessmentDTO assess) { + public void handle(EarthquakeAssessmentDTO assess) { // 异常处理 if (assess == null) { throw new ParmaException(BaseConstants.PARAMS_ERROR); @@ -63,18 +58,18 @@ public class DZXXInfluenceServiceImpl extends ServiceImpl influences = findInfluenceById(new EqQuery(assess.getEvent(), assess.getEqQueueId())); + List influences = findInfluenceById(new EarthquakeQuery(assess.getEvent(), assess.getEqQueueId())); // 输出geojson文件 - idzInfluenceService.handle(influences); + IEarthquakeInfluenceService.handle(influences); } // 查询地震影响场 @Override - public List findInfluenceById(EqQuery query) { + public List findInfluenceById(EarthquakeQuery query) { // 查询条件 - LambdaQueryWrapper lambdaQuery = Wrappers.lambdaQuery(DZXXInfluence.class); - lambdaQuery.eq(DZXXInfluence::getEvent, query.getEvent()); - lambdaQuery.eq(DZXXInfluence::getEqQueueId, query.getEqQueueId()); + LambdaQueryWrapper lambdaQuery = Wrappers.lambdaQuery(EarthquakeGisInfluence.class); + lambdaQuery.eq(EarthquakeGisInfluence::getEvent, query.getEvent()); + lambdaQuery.eq(EarthquakeGisInfluence::getEqQueueId, query.getEqQueueId()); // 该场地震影响场 - List influences = this.baseMapper.selectList(lambdaQuery); + List influences = this.baseMapper.selectList(lambdaQuery); if (influences == null || influences.size() == 0) { log.error("查询地震影响场结果为空!"); throw new ParmaException(BaseConstants.RESULT_ERROR); } // 处理 - List dzxxs = new ArrayList<>(); - for (DZXXInfluence influence : influences) { - DZXXInfluenceDTO dzxx = new DZXXInfluenceDTO(); + List dzxxs = new ArrayList<>(); + for (EarthquakeGisInfluence influence : influences) { + EarthquakeInformationInfluenceDTO dzxx = new EarthquakeInformationInfluenceDTO(); BeanUtils.copyProperties(influence, dzxx); dzxxs.add(dzxx); } @@ -123,23 +118,23 @@ public class DZXXInfluenceServiceImpl extends ServiceImpl lambdaQuery = Wrappers.lambdaQuery(DZXXInfluence.class); + LambdaQueryWrapper lambdaQuery = Wrappers.lambdaQuery(EarthquakeGisInfluence.class); lambdaQuery - .eq(DZXXInfluence::getEvent, query.getEvent()) - .eq(DZXXInfluence::getEqQueueId, query.getEqQueueId()) - .orderByDesc(DZXXInfluence::getInty) + .eq(EarthquakeGisInfluence::getEvent, query.getEvent()) + .eq(EarthquakeGisInfluence::getEqQueueId, query.getEqQueueId()) + .orderByDesc(EarthquakeGisInfluence::getInty) .last("limit 1"); // 最大烈度 // 获取单条数据 - DZXXInfluence influence = this.baseMapper.selectOne(lambdaQuery); + EarthquakeGisInfluence influence = this.baseMapper.selectOne(lambdaQuery); if (influence == null) { log.error("查询地震影响场结果为空!"); throw new ParmaException(BaseConstants.RESULT_ERROR); } - DZXXInfluenceDTO dzxx = new DZXXInfluenceDTO(); + EarthquakeInformationInfluenceDTO dzxx = new EarthquakeInformationInfluenceDTO(); BeanUtils.copyProperties(influence, dzxx); return dzxx; @@ -167,10 +162,10 @@ public class DZXXInfluenceServiceImpl extends ServiceImpl implements IDZProductService { +public class EarthquakeProductServiceImpl extends ServiceImpl implements IEarthquakeProductService { private static final SecureRandom secureRandom = new SecureRandom(); @@ -53,35 +50,33 @@ public class DZProductServiceImpl extends ServiceImpl maps = Arrays.asList(EqMapsEnums.values()); + List maps = Arrays.asList(EarthquakeMapsEnums.values()); // 设置制图参数 - List args = setMakeEqMapsArgs(assess, maps); + List args = setMakeEqMapsArgs(assess, maps); // 调用出图服务 iFeignService.invoke(args); } @Override @Async("xianPool") - public void makeRainstormMaps(RAssessmentDTO assess) { + public void makeRainstormMaps(RainAssessmentDTO assess) { // 待产专题图集 List maps = Arrays.asList(RainMapsEnums.values()); // 设置制图参数 - List args = setMakeRainstormMapsArgs(assess, maps); + List args = setMakeRainstormMapsArgs(assess, maps); // 调用出图服务 iFeignService.invoke(args); } // 获取产品 @Override - public List getProducts(ProductQuery query) { + public List getProducts(ProductQuery query) { try { log.info("查询产品参数:{}", query); // 空值 @@ -89,19 +84,19 @@ public class DZProductServiceImpl extends ServiceImpl lambdaQuery = Wrappers.lambdaQuery(DZProduct.class); + LambdaQueryWrapper lambdaQuery = Wrappers.lambdaQuery(EarthquakeProduct.class); // 必填项 - lambdaQuery.eq(DZProduct::getEqQueueId, query.getQueueId()); + lambdaQuery.eq(EarthquakeProduct::getEqQueueId, query.getQueueId()); // 选填项 - lambdaQuery.or().eq(StringUtils.hasText(query.getCode()), DZProduct::getCode, query.getCode()); - lambdaQuery.or().eq(StringUtils.hasText(query.getFileType()), DZProduct::getFileType, query.getFileType()); - lambdaQuery.or().like(StringUtils.hasText(query.getFileName()), DZProduct::getFileName, query.getFileName()); - lambdaQuery.or().eq(StringUtils.hasText(query.getProType()), DZProduct::getProType, query.getProType()); + lambdaQuery.or().eq(StringUtils.hasText(query.getCode()), EarthquakeProduct::getCode, query.getCode()); + lambdaQuery.or().eq(StringUtils.hasText(query.getFileType()), EarthquakeProduct::getFileType, query.getFileType()); + lambdaQuery.or().like(StringUtils.hasText(query.getFileName()), EarthquakeProduct::getFileName, query.getFileName()); + lambdaQuery.or().eq(StringUtils.hasText(query.getProType()), EarthquakeProduct::getProType, query.getProType()); // 获取产品服务 - List productList = this.baseMapper.selectList(lambdaQuery); - List dtos = new ArrayList<>(); - for (DZProduct product : productList) { - DZProductDTO dto = new DZProductDTO(); + List productList = this.baseMapper.selectList(lambdaQuery); + List dtos = new ArrayList<>(); + for (EarthquakeProduct product : productList) { + EarthquakeProductDTO dto = new EarthquakeProductDTO(); BeanUtils.copyProperties(product, dto); dto.setTempletId(null); @@ -115,27 +110,27 @@ public class DZProductServiceImpl extends ServiceImpl setMakeEqMapsArgs(EqAssessmentDTO assess, List maps) { + private List setMakeEqMapsArgs(EarthquakeAssessmentDTO assess, List maps) { // 专题图集参数 - List args = new ArrayList<>(); + List args = new ArrayList<>(); // A4 画幅 - for (EqMapsEnums map : maps) { + for (EarthquakeMapsEnums map : maps) { // qgis参数 - QgisArgs arg = new QgisArgs(); + QgisArgsParams arg = new QgisArgsParams(); arg.setId(map.getNum()); arg.setEvent(assess.getEvent()); arg.setQueueId(assess.getEqQueueId()); arg.setCenterX(assess.getLongitude()); arg.setCenterY(assess.getLatitude()); - arg.setInfo(earthquakeHandler.parseInfo(assess.getEqTime(), assess.getEqMagnitude(), assess.getEqAddr())); - arg.setMapTitle(earthquakeHandler.combine(assess.getEqName(), assess.getEqType(), map)); + arg.setInfo(EarthquakeHandler.parseInfo(assess.getEqTime(), assess.getEqMagnitude(), assess.getEqAddr())); + arg.setMapTitle(EarthquakeHandler.combine(assess.getEqName(), assess.getEqType(), map)); arg.setMapTime(BaseUtils.formatTime(LocalDateTime.now(), false)); arg.setMapLayout(BaseConstants.MAP_LAYOUT_A4); // A4 arg.setMapUint(BaseConstants.MAP_UNIT); // 单位 // 死信队列中获取单张图片 arg.setName(map.getName()); - arg.setOutFile(earthquakeHandler.getPath(assess.getEvent(), assess.getEqQueueId(), BaseConstants.MAP_LAYOUT_A4, map)); + arg.setOutFile(EarthquakeHandler.getPath(assess.getEvent(), assess.getEqQueueId(), BaseConstants.MAP_LAYOUT_A4, map, qgisProperties)); arg.setPath(qgisProperties.getEqMapsTemplatePath() + map.getName() + ".qgz"); arg.setDisaster(BaseConstants.EQ_DISASTER_MAP); // 地震灾害 @@ -148,22 +143,22 @@ public class DZProductServiceImpl extends ServiceImpl setMakeRainstormMapsArgs(RAssessmentDTO assess, List maps) { + private List setMakeRainstormMapsArgs(RainAssessmentDTO assess, List maps) { // 专题图集参数 - List args = new ArrayList<>(); + List args = new ArrayList<>(); // A4 画幅 for (RainMapsEnums map : maps) { // qgis参数 - QgisArgs arg = new QgisArgs(); + QgisArgsParams arg = new QgisArgsParams(); arg.setId(map.getNum()); arg.setEvent(assess.getRainId()); arg.setQueueId(assess.getRainQueueId()); arg.setCenterX(assess.getLongitude()); arg.setCenterY(assess.getLatitude()); - arg.setInfo(earthquakeHandler.parseRInfo(assess.getOccurrenceTime(), assess.getRainfall(), assess.getDuration())); - arg.setMapTitle(earthquakeHandler.combineR(assess.getPosition(), assess.getRainType(), map)); + arg.setInfo(EarthquakeHandler.parseRInfo(assess.getOccurrenceTime(), assess.getRainfall(), assess.getDuration())); + arg.setMapTitle(EarthquakeHandler.combineR(assess.getPosition(), assess.getRainType(), map)); arg.setMapTime(BaseUtils.formatTime(LocalDateTime.now(), false)); arg.setMapLayout(BaseConstants.MAP_LAYOUT_A3); // A4 arg.setMapUint(BaseConstants.MAP_UNIT); // 单位 // 死信队列中获取单张图片 arg.setName(map.getName()); - arg.setOutFile(earthquakeHandler.getRPath(assess.getRainId(), assess.getRainQueueId(), BaseConstants.MAP_LAYOUT_A4, map)); + arg.setOutFile(EarthquakeHandler.getRPath(assess.getRainId(), assess.getRainQueueId(), BaseConstants.MAP_LAYOUT_A4, map, qgisProperties)); arg.setPath(qgisProperties.getRainMapsTemplatePath() + map.getName() + ".qgz"); arg.setDisaster(BaseConstants.RAIN_DISASTER_MAP); // 暴雨灾害 // 按规则缩放 @@ -213,20 +208,20 @@ public class DZProductServiceImpl extends ServiceImpl change(EqAssessmentDTO assess, String size, String name) { + public Map change(EarthquakeAssessmentDTO assess, String size, String name) { Map map = new HashMap<>(); if (size.equals("A3")) { diff --git a/src/main/java/com/gis/xian/service/pub/impl/DZEqQueueServiceImpl.java b/src/main/java/com/gis/xian/service/qgis/earthquake/impl/EarthquakeQueueServiceImpl.java similarity index 74% rename from src/main/java/com/gis/xian/service/pub/impl/DZEqQueueServiceImpl.java rename to src/main/java/com/gis/xian/service/qgis/earthquake/impl/EarthquakeQueueServiceImpl.java index 758c67e..0364ec3 100644 --- a/src/main/java/com/gis/xian/service/pub/impl/DZEqQueueServiceImpl.java +++ b/src/main/java/com/gis/xian/service/qgis/earthquake/impl/EarthquakeQueueServiceImpl.java @@ -1,26 +1,25 @@ -package com.gis.xian.service.pub.impl; +package com.gis.xian.service.qgis.earthquake.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gis.xian.config.DataSource; import com.gis.xian.constant.BaseConstants; -import com.gis.xian.dto.pub.EqAssessmentDTO; -import com.gis.xian.dto.pub.RAssessmentDTO; -import com.gis.xian.entity.pub.DZEqQueue; -import com.gis.xian.enums.BaseEnums; -import com.gis.xian.mapper.pub.DZEqQueueMapper; -import com.gis.xian.service.dzxx.IDZXXDistanceService; -import com.gis.xian.service.dzxx.IDZXXInfluenceService; +import com.gis.xian.dto.qgis.earthquake.EarthquakeAssessmentDTO; +import com.gis.xian.dto.qgis.rain.RainAssessmentDTO; +import com.gis.xian.entity.qgis.earthquake.EarthquakeQueue; +import com.gis.xian.enums.qgis.BaseEnums; +import com.gis.xian.mapper.qgis.earthquake.EarthquakeQueueMapper; +import com.gis.xian.service.qgis.earthquake.IEarthquakeInformationDistanceService; +import com.gis.xian.service.qgis.earthquake.IEarthquakeInformationInfluenceService; import com.gis.xian.service.ex.ParmaException; import com.gis.xian.service.ex.ServeException; -import com.gis.xian.service.pub.IDZEqQueueService; -import com.gis.xian.service.pub.IDZProductService; +import com.gis.xian.service.qgis.earthquake.IEarthquakeProductService; +import com.gis.xian.service.qgis.earthquake.IEarthquakeQueueService; import com.gis.xian.utils.BaseUtils; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -34,19 +33,19 @@ import java.time.LocalDateTime; @Slf4j @Service @DataSource("slave1") -public class DZEqQueueServiceImpl extends ServiceImpl implements IDZEqQueueService { +public class EarthquakeQueueServiceImpl extends ServiceImpl implements IEarthquakeQueueService { @Resource - private IDZXXDistanceService idzxxDistanceService; + private IEarthquakeInformationDistanceService IEarthquakeInformationDistanceService; @Resource - private IDZXXInfluenceService idzxxInfluenceService; + private IEarthquakeInformationInfluenceService IEarthquakeInformationInfluenceService; @Resource - private IDZProductService idzProductService; + private IEarthquakeProductService IEarthquakeProductService; // 地震评估 @Transactional @Override - public void assess(EqAssessmentDTO assess) { + public void assess(EarthquakeAssessmentDTO assess) { log.info("开始评估,评估参数:{}", assess); // 异常值 if (assess == null) { @@ -57,12 +56,12 @@ public class DZEqQueueServiceImpl extends ServiceImpl lambdaQuery = Wrappers.lambdaQuery(DZEqQueue.class) - .eq(DZEqQueue::getEvent, event) - .eq(DZEqQueue::getId, queueId); + LambdaQueryWrapper lambdaQuery = Wrappers.lambdaQuery(EarthquakeQueue.class) + .eq(EarthquakeQueue::getEvent, event) + .eq(EarthquakeQueue::getId, queueId); // 评估异常终止 if (state == BaseEnums.TIMEOUT_OR_EXCEPTION.getCode()) { diff --git a/src/main/java/com/gis/xian/service/qgis/rain/IREventService.java b/src/main/java/com/gis/xian/service/qgis/rain/IREventService.java new file mode 100644 index 0000000..74dc0c9 --- /dev/null +++ b/src/main/java/com/gis/xian/service/qgis/rain/IREventService.java @@ -0,0 +1,21 @@ +package com.gis.xian.service.qgis.rain; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.gis.xian.config.DataSource; +import com.gis.xian.dto.qgis.rain.RainTriggerDTO; +import com.gis.xian.entity.qgis.rain.RainEvent; +import com.gis.xian.dto.qgis.rain.RainQuery; + +/** + * @author zzw + * @description: IREventService + * @date 2026/6/8 下午6:01 + */ +@DataSource("slave1") +public interface IREventService extends IService { + // 暴雨触发 + public RainQuery trigger(RainTriggerDTO trigger); + + // 删除暴雨事件 + public Boolean deletedById(Long Id); +} diff --git a/src/main/java/com/gis/xian/service/pub/impl/REventServiceImpl.java b/src/main/java/com/gis/xian/service/qgis/rain/impl/RainEventServiceImpl.java similarity index 75% rename from src/main/java/com/gis/xian/service/pub/impl/REventServiceImpl.java rename to src/main/java/com/gis/xian/service/qgis/rain/impl/RainEventServiceImpl.java index 1a88927..a7d3fdb 100644 --- a/src/main/java/com/gis/xian/service/pub/impl/REventServiceImpl.java +++ b/src/main/java/com/gis/xian/service/qgis/rain/impl/RainEventServiceImpl.java @@ -1,21 +1,21 @@ -package com.gis.xian.service.pub.impl; +package com.gis.xian.service.qgis.rain.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gis.xian.config.DataSource; import com.gis.xian.constant.BaseConstants; -import com.gis.xian.dto.pub.RAssessmentDTO; -import com.gis.xian.dto.pub.REventDTO; -import com.gis.xian.dto.pub.RTriggerDTO; -import com.gis.xian.entity.pub.REvent; -import com.gis.xian.mapper.pub.REventMapper; -import com.gis.xian.query.RQuery; +import com.gis.xian.dto.qgis.rain.RainAssessmentDTO; +import com.gis.xian.dto.qgis.rain.RainEventDTO; +import com.gis.xian.dto.qgis.rain.RainTriggerDTO; +import com.gis.xian.entity.qgis.rain.RainEvent; +import com.gis.xian.mapper.qgis.rain.RainEventMapper; +import com.gis.xian.dto.qgis.rain.RainQuery; import com.gis.xian.service.ex.ParmaException; import com.gis.xian.service.ex.ServeException; import com.gis.xian.service.ex.ServiceException; -import com.gis.xian.service.pub.IDZEqQueueService; -import com.gis.xian.service.pub.IREventService; +import com.gis.xian.service.qgis.earthquake.IEarthquakeQueueService; +import com.gis.xian.service.qgis.rain.IREventService; import com.gis.xian.utils.BaseUtils; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; @@ -34,14 +34,14 @@ import org.springframework.transaction.annotation.Transactional; @Slf4j @Service @DataSource("slave1") -public class REventServiceImpl extends ServiceImpl implements IREventService { +public class RainEventServiceImpl extends ServiceImpl implements IREventService { @Resource - private IDZEqQueueService idzEqQueueService; + private IEarthquakeQueueService IEarthquakeQueueService; // 暴雨触发 @Transactional @Override - public RQuery trigger(RTriggerDTO trigger) { + public RainQuery trigger(RainTriggerDTO trigger) { log.info("暴雨参数:{}", trigger); // 异常值 if (trigger == null) { @@ -52,7 +52,7 @@ public class REventServiceImpl extends ServiceImpl impleme // 暴雨业务 try { // 暴雨信息存储 - REventDTO eventdto = new REventDTO(); + RainEventDTO eventdto = new RainEventDTO(); BeanUtils.copyProperties(trigger, eventdto); eventdto.setRainId(code); log.info("暴雨专题图编码:{}", code); @@ -65,19 +65,19 @@ public class REventServiceImpl extends ServiceImpl impleme String batch = BaseUtils.generationBatchCode(code); // 评估业务 try { - RAssessmentDTO assess = new RAssessmentDTO(); + RainAssessmentDTO assess = new RainAssessmentDTO(); BeanUtils.copyProperties(trigger, assess); assess.setRainId(code); assess.setRainQueueId(batch); // 开始评估 - idzEqQueueService.assess(assess); + IEarthquakeQueueService.assess(assess); } catch (Exception ex) { log.error(ex.getMessage()); ex.printStackTrace(); throw new ServeException(BaseConstants.ASSESS_SERVER_ERROR); } // 地震编码 - return new RQuery(code, batch); + return new RainQuery(code, batch); } @@ -89,22 +89,22 @@ public class REventServiceImpl extends ServiceImpl impleme throw new ParmaException(BaseConstants.PARAMS_ERROR); } // 条件构造 - LambdaQueryWrapper lambdaQuery = Wrappers.lambdaQuery(REvent.class); - lambdaQuery.eq(REvent::getId, Id); + LambdaQueryWrapper lambdaQuery = Wrappers.lambdaQuery(RainEvent.class); + lambdaQuery.eq(RainEvent::getId, Id); int flag = this.baseMapper.delete(lambdaQuery); return flag > 0 ? true : false; } // 处理暴雨数据 - private void handle(REventDTO eventdto) { + private void handle(RainEventDTO eventdto) { // 抛出异常 if (eventdto == null) { throw new ParmaException(BaseConstants.PARAMS_ERROR); } try { - REvent revent = new REvent(); + RainEvent revent = new RainEvent(); BeanUtils.copyProperties(eventdto, revent); // 处理空间数据 GeometryFactory geometryFactory = new GeometryFactory(); diff --git a/src/main/java/com/gis/xian/utils/http/HttpRestClient.java b/src/main/java/com/gis/xian/utils/HttpRequestClientUtils.java similarity index 97% rename from src/main/java/com/gis/xian/utils/http/HttpRestClient.java rename to src/main/java/com/gis/xian/utils/HttpRequestClientUtils.java index 522f8fe..6c94eed 100644 --- a/src/main/java/com/gis/xian/utils/http/HttpRestClient.java +++ b/src/main/java/com/gis/xian/utils/HttpRequestClientUtils.java @@ -1,8 +1,7 @@ -package com.gis.xian.utils.http; +package com.gis.xian.utils; import org.springframework.core.ParameterizedTypeReference; import org.springframework.http.*; -import org.springframework.stereotype.Component; import org.springframework.web.client.RestTemplate; import java.util.Map; @@ -12,7 +11,7 @@ import java.util.Map; * @description: 第三方请求工具类 * @date 2026/5/26 下午4:27 */ -public class HttpRestClient { +public class HttpRequestClientUtils { private final RestTemplate restTemplate; @@ -29,7 +28,7 @@ public class HttpRestClient { * 构造方法,注入RestTemplate * @param restTemplate RestTemplate实例 */ - public HttpRestClient(RestTemplate restTemplate) { + public HttpRequestClientUtils(RestTemplate restTemplate) { this.restTemplate = restTemplate; } diff --git a/src/main/java/com/gis/xian/handler/EarthquakeHandler.java b/src/main/java/com/gis/xian/utils/qgis/EarthquakeHandler.java similarity index 73% rename from src/main/java/com/gis/xian/handler/EarthquakeHandler.java rename to src/main/java/com/gis/xian/utils/qgis/EarthquakeHandler.java index c3ee3db..83b326c 100644 --- a/src/main/java/com/gis/xian/handler/EarthquakeHandler.java +++ b/src/main/java/com/gis/xian/utils/qgis/EarthquakeHandler.java @@ -1,12 +1,10 @@ -package com.gis.xian.handler; +package com.gis.xian.utils.qgis; import com.gis.xian.config.QgisProperties; import com.gis.xian.constant.BaseConstants; -import com.gis.xian.enums.EqMapsEnums; -import com.gis.xian.enums.RainMapsEnums; +import com.gis.xian.enums.qgis.EarthquakeMapsEnums; +import com.gis.xian.enums.qgis.RainMapsEnums; import com.gis.xian.utils.BaseUtils; -import jakarta.annotation.Resource; -import org.springframework.stereotype.Component; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; @@ -16,12 +14,8 @@ import java.time.format.DateTimeFormatter; * @description: 地震烈度核心服务 * @date 2026/5/26 上午10:47 */ -@Component public class EarthquakeHandler { - @Resource - private QgisProperties qgisProperties; - /** * 获取不同烈度下的面积 * @@ -29,7 +23,7 @@ public class EarthquakeHandler { * @param b 短轴 * @return 返回椭圆的面积 */ - public double calculateArea(double a, double b) { + public static double calculateArea(double a, double b) { return Math.PI * a * b; } @@ -41,7 +35,7 @@ public class EarthquakeHandler { * @description: 计算椭圆的长轴 * @return: 返回长轴 */ - public double calculateRa(double M, double Ia) { + public static double calculateRa(double M, double Ia) { return (Math.pow(10, (4.0293 + 1.3003 * M - Ia) / 3.6404) - 10) * 1000; } @@ -53,25 +47,25 @@ public class EarthquakeHandler { * @description: 计算椭圆的短轴 * @return: 返回短轴 */ - public double calculateRb(double M, double Ib) { + public static double calculateRb(double M, double Ib) { return (Math.pow(10, (2.3816 + 1.3003 * M - Ib) / 2.8573) - 5) * 1000; } // 格式化地震三要素信息 - public String parseInfo(LocalDateTime eqTime, double magnitude, String addr) { + public static String parseInfo(LocalDateTime eqTime, double magnitude, String addr) { String time = BaseUtils.formatTime(eqTime, true); return String.format("时间:%s\r\n震级:%s级\r\n位置:%s", time, magnitude, addr); } // 格式化暴雨三要素信息 - public String parseRInfo(LocalDateTime eqTime, String magnitude, String addr) { + public static String parseRInfo(LocalDateTime eqTime, String magnitude, String addr) { String time = BaseUtils.formatTime(eqTime, true); return String.format("时间:%s\r\n累计降雨量:%s毫米\r\n已持续:%s小时", time, magnitude, addr); } // 拼接地震图件标题 - public String combine(String eqName, String eqType, EqMapsEnums map) { + public static String combine(String eqName, String eqType, EarthquakeMapsEnums map) { // 地点 + 震级 String name = eqName; // 图名称 + 地震类型 @@ -80,7 +74,7 @@ public class EarthquakeHandler { } // 拼接暴雨图件标题 - public String combineR(String rainName, String rainType, RainMapsEnums map) { + public static String combineR(String rainName, String rainType, RainMapsEnums map) { // 地点 + 暴雨名称 String name = rainName; // 图名称 + 暴雨类型 @@ -89,7 +83,9 @@ public class EarthquakeHandler { } // 拼接导出路径 - public String getPath(String event, String queueId, String size, EqMapsEnums map) { + + // 拼接导出路径 + public static String getPath(String event, String queueId, String size, EarthquakeMapsEnums map, QgisProperties qgisProperties) { // 地震事件 + 批次 String batch = queueId.substring(event.length()); String path = event + "/" + batch + "/" + size + "/" + map.getName(); @@ -97,20 +93,20 @@ public class EarthquakeHandler { } // 拼接导出路径 - public String getRPath(String rainId, String queueId, String size, RainMapsEnums map) { + public static String getRPath(String rainId, String queueId, String size, RainMapsEnums map, QgisProperties qgisProperties) { // 地震事件 + 批次 String batch = queueId.substring(rainId.length()); String path = rainId + "/" + batch + "/" + size + "/" + map.getName(); return String.format("%s", qgisProperties.getBasePath() + qgisProperties.getRainMapsOutputPath() + path + ".jpg"); } - public String format(LocalDateTime time) { + public static String format(LocalDateTime time) { DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM月dd日HH时mm分"); String timestamp = time.format(formatter); return timestamp; } - public String formatTime(LocalDateTime time) { + public static String formatTime(LocalDateTime time) { DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy年MM月dd日HH时mm分"); String timestamp = time.format(formatter); return timestamp; diff --git a/src/main/java/com/gis/xian/handler/EllipseToWktHandler.java b/src/main/java/com/gis/xian/utils/qgis/EllipseToWktHandler.java similarity index 90% rename from src/main/java/com/gis/xian/handler/EllipseToWktHandler.java rename to src/main/java/com/gis/xian/utils/qgis/EllipseToWktHandler.java index e59619a..0f4bef0 100644 --- a/src/main/java/com/gis/xian/handler/EllipseToWktHandler.java +++ b/src/main/java/com/gis/xian/utils/qgis/EllipseToWktHandler.java @@ -1,12 +1,11 @@ -package com.gis.xian.handler; +package com.gis.xian.utils.qgis; -import com.gis.xian.query.IntensityQuery; +import com.gis.xian.dto.qgis.earthquake.EarthquakeIntensityQuery; import org.locationtech.jts.geom.Geometry; import org.locationtech.jts.geom.GeometryFactory; import org.locationtech.jts.geom.Polygon; import org.locationtech.jts.io.WKTReader; import org.locationtech.proj4j.*; -import org.springframework.stereotype.Component; import java.math.BigDecimal; import java.math.RoundingMode; @@ -18,19 +17,18 @@ import java.util.List; * @description: 椭圆烈度衰减圈转换为WKT格式 * @date 2026/5/26 上午10:25 */ -@Component public class EllipseToWktHandler { // 投影转换工厂 - private final CRSFactory crsFactory = new CRSFactory(); - private final CoordinateTransformFactory ctFactory = new CoordinateTransformFactory(); - GeometryFactory geometryFactory = new GeometryFactory(); + private static final CRSFactory crsFactory = new CRSFactory(); + private static final CoordinateTransformFactory ctFactory = new CoordinateTransformFactory(); + private static final GeometryFactory geometryFactory = new GeometryFactory(); /** * 将椭圆参数转换为 POLYGON 格式的 WKT 字符串 * @param query 椭圆烈度参数 * @return POLYGON格式的WKT字符串 */ - public Polygon ellipseToPolygonWkt(IntensityQuery query) { + public static Polygon ellipseToPolygonWkt(EarthquakeIntensityQuery query) { try { // 确定UTM投影带并创建转换器 int utmZone = (int) Math.floor((query.getCenterLon() + 180) / 6) + 1; @@ -108,7 +106,7 @@ public class EllipseToWktHandler { /** * 解析WKT获取经纬度范围 */ - public void printLatLonRange(String wkt) { + public static void printLatLonRange(String wkt) { // 提取顶点坐标 String coordsPart = wkt.replace("POLYGON ((", "").replace("))", ""); String[] coordStrs = coordsPart.split(", "); @@ -137,12 +135,12 @@ public class EllipseToWktHandler { /** * 保留6位小数 */ - private double roundTo6Decimals(double value) { + private static double roundTo6Decimals(double value) { return new BigDecimal(value).setScale(6, RoundingMode.HALF_UP).doubleValue(); } // 构建 Polygon 对象 - public Polygon buildPolygonFromWKTString(String wktPolygon) { + public static Polygon buildPolygonFromWKTString(String wktPolygon) { try { // WKT解析器 WKTReader wktReader = new WKTReader(geometryFactory); diff --git a/src/main/java/com/gis/xian/handler/GeoDistanceHandler.java b/src/main/java/com/gis/xian/utils/qgis/GeoDistanceHandler.java similarity index 99% rename from src/main/java/com/gis/xian/handler/GeoDistanceHandler.java rename to src/main/java/com/gis/xian/utils/qgis/GeoDistanceHandler.java index ba859c8..2a41a26 100644 --- a/src/main/java/com/gis/xian/handler/GeoDistanceHandler.java +++ b/src/main/java/com/gis/xian/utils/qgis/GeoDistanceHandler.java @@ -1,4 +1,4 @@ -package com.gis.xian.handler; +package com.gis.xian.utils.qgis; import lombok.extern.slf4j.Slf4j; import org.springframework.util.Assert; diff --git a/src/main/java/com/gis/xian/handler/GeoFilesHandler.java b/src/main/java/com/gis/xian/utils/qgis/GeoFilesHandler.java similarity index 76% rename from src/main/java/com/gis/xian/handler/GeoFilesHandler.java rename to src/main/java/com/gis/xian/utils/qgis/GeoFilesHandler.java index f898571..984d9e9 100644 --- a/src/main/java/com/gis/xian/handler/GeoFilesHandler.java +++ b/src/main/java/com/gis/xian/utils/qgis/GeoFilesHandler.java @@ -1,18 +1,13 @@ -package com.gis.xian.handler; +package com.gis.xian.utils.qgis; import com.fasterxml.jackson.databind.ObjectMapper; import com.gis.xian.config.QgisProperties; -import com.gis.xian.constant.BaseConstants; -import com.gis.xian.dto.dzxx.DZXXInfluenceDTO; -import com.gis.xian.dto.pub.IntyGeoJsonDTO; -import jakarta.annotation.Resource; -import lombok.extern.slf4j.Slf4j; +import com.gis.xian.dto.qgis.earthquake.EarthquakeInformationInfluenceDTO; +import com.gis.xian.dto.qgis.earthquake.EarthquakeInfluenceGeoJsonDTO; import org.locationtech.jts.geom.CoordinateSequence; import org.locationtech.jts.geom.GeometryFactory; import org.locationtech.jts.geom.LinearRing; import org.locationtech.jts.geom.Polygon; -import org.locationtech.jts.io.WKTReader; -import org.springframework.stereotype.Component; import java.io.BufferedWriter; import java.io.File; @@ -27,18 +22,13 @@ import java.util.List; * @description: 处理空间数据文件形式 * @date 2026/5/26 上午10:41 */ -@Slf4j -@Component public class GeoFilesHandler { - @Resource - private QgisProperties qgisProperties; - private static final GeometryFactory GEOMETRY_FACTORY = new GeometryFactory(); - private static final WKTReader WKT_READER = new WKTReader(GEOMETRY_FACTORY); + // Deleted:private static final WKTReader WKT_READER = new WKTReader(GEOMETRY_FACTORY); private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper(); - public void writeGeoJsonToFile(IntyGeoJsonDTO featureCollection, String fileName) throws IOException { + public static void writeGeoJsonToFile(EarthquakeInfluenceGeoJsonDTO featureCollection, String fileName, QgisProperties qgisProperties) throws IOException { // 序列化 String geoJsonStr = OBJECT_MAPPER.writerWithDefaultPrettyPrinter().writeValueAsString(featureCollection); // geojson文件路径 @@ -60,7 +50,7 @@ public class GeoFilesHandler { } // 将JTS转换为GeoJSON坐标 - private List> convertCoordinateSequenceToGeoJson(CoordinateSequence cs) { + private static List> convertCoordinateSequenceToGeoJson(CoordinateSequence cs) { List> coordinates = new ArrayList<>(); for (int i = 0; i < cs.size(); i++) { double lon = cs.getX(i); // 经度 @@ -74,9 +64,9 @@ public class GeoFilesHandler { } // 将JTS Polygon转换为GeoJSON Feature对象 - public IntyGeoJsonDTO.GeoJsonFeature convertPolygonToGeoJsonFeature(Polygon polygon, DZXXInfluenceDTO dzxx) { - IntyGeoJsonDTO.GeoJsonFeature feature = new IntyGeoJsonDTO.GeoJsonFeature(); - IntyGeoJsonDTO.GeoJsonFeature.GeoJsonGeometry geometry = new IntyGeoJsonDTO.GeoJsonFeature.GeoJsonGeometry(); + public static EarthquakeInfluenceGeoJsonDTO.GeoJsonFeature convertPolygonToGeoJsonFeature(Polygon polygon, EarthquakeInformationInfluenceDTO dzxx) { + EarthquakeInfluenceGeoJsonDTO.GeoJsonFeature feature = new EarthquakeInfluenceGeoJsonDTO.GeoJsonFeature(); + EarthquakeInfluenceGeoJsonDTO.GeoJsonFeature.GeoJsonGeometry geometry = new EarthquakeInfluenceGeoJsonDTO.GeoJsonFeature.GeoJsonGeometry(); // 设置几何类型 geometry.setType("Polygon"); diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 5977746..dff3a40 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -23,10 +23,14 @@ spring: rabbitmq: host: localhost port: 5672 - # username: xiaodemo - # password: 1234 username: zzw password: zzw0401 +# host: 47.92.216.173 +# port: 4018 + # username: xiaodemo + # password: 1234 +# username: gis +# password: gis502 #虚拟host 可以不设置,使用server默认host # virtual-host: /xiaodemos #消息确认配置项 @@ -42,7 +46,7 @@ spring: retry: enabled: true # 开启消费者重试(建议结合业务幂等性使用) max-attempts: 3 # 最大重试次数 - initial-interval: 1000ms # 第一次重试间隔 + initial-interval: 10000ms # 第一次重试间隔 multiplier: 2 # 重试间隔倍数(第二次2s,第三次4s) # 日志配置 logging: