From bc5b6fe50aad750c49da4d138aeef19b577453f4 Mon Sep 17 00:00:00 2001 From: wzy-warehouse <18135009705@163.com> Date: Thu, 18 Jun 2026 20:34:14 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=96=E6=B6=88qgis=E5=AD=90=E5=8C=85?= =?UTF-8?q?=EF=BC=8Cservice=E6=8F=90=E5=88=B0=E9=A1=B6=E5=B1=82=EF=BC=8Ctr?= =?UTF-8?q?igger=E6=B7=BB=E5=8A=A0type=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/gis/xian/controller/QgisController.java | 12 ++++++------ .../xian/service/{qgis/base => }/IFeignService.java | 7 ++++--- .../{qgis/base => }/impl/FeignServiceImpl.java | 12 ++++++------ 3 files changed, 16 insertions(+), 15 deletions(-) rename src/main/java/com/gis/xian/service/{qgis/base => }/IFeignService.java (51%) rename src/main/java/com/gis/xian/service/{qgis/base => }/impl/FeignServiceImpl.java (78%) diff --git a/src/main/java/com/gis/xian/controller/QgisController.java b/src/main/java/com/gis/xian/controller/QgisController.java index 17e4335..ee27d92 100644 --- a/src/main/java/com/gis/xian/controller/QgisController.java +++ b/src/main/java/com/gis/xian/controller/QgisController.java @@ -1,13 +1,13 @@ package com.gis.xian.controller; -import com.gis.xian.service.qgis.base.IFeignService; +import com.gis.xian.service.IFeignService; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; /** - * QGIS 专题图触发接口 - * 统一入口,只接收 simulationId,调用 Python 端处理 + * 专题图触发接口 + * 统一入口,接收 simulationId 和 type,调用 Python 端处理 */ @Slf4j @RestController @@ -18,8 +18,8 @@ public class QgisController { private IFeignService feignService; @PostMapping("/qgis/trigger") - public void trigger(@RequestParam String simulationId) { - log.info("收到专题图触发请求: simulationId={}", simulationId); - feignService.trigger(simulationId); + public void trigger(@RequestParam String simulationId, @RequestParam String type) { + log.info("收到专题图触发请求: simulationId={}, type={}", simulationId, type); + feignService.trigger(simulationId, type); } } diff --git a/src/main/java/com/gis/xian/service/qgis/base/IFeignService.java b/src/main/java/com/gis/xian/service/IFeignService.java similarity index 51% rename from src/main/java/com/gis/xian/service/qgis/base/IFeignService.java rename to src/main/java/com/gis/xian/service/IFeignService.java index ca5d426..4c10850 100644 --- a/src/main/java/com/gis/xian/service/qgis/base/IFeignService.java +++ b/src/main/java/com/gis/xian/service/IFeignService.java @@ -1,7 +1,7 @@ -package com.gis.xian.service.qgis.base; +package com.gis.xian.service; /** - * 统一专题图触发接口 + * 专题图触发接口 * 只负责调用 Python 端,不返回结果 */ public interface IFeignService { @@ -9,6 +9,7 @@ public interface IFeignService { /** * 触发专题图生成 * @param simulationId 模拟ID + * @param type 灾害类型(earthquake / rain) */ - void trigger(String simulationId); + void trigger(String simulationId, String type); } diff --git a/src/main/java/com/gis/xian/service/qgis/base/impl/FeignServiceImpl.java b/src/main/java/com/gis/xian/service/impl/FeignServiceImpl.java similarity index 78% rename from src/main/java/com/gis/xian/service/qgis/base/impl/FeignServiceImpl.java rename to src/main/java/com/gis/xian/service/impl/FeignServiceImpl.java index b185f74..a848ece 100644 --- a/src/main/java/com/gis/xian/service/qgis/base/impl/FeignServiceImpl.java +++ b/src/main/java/com/gis/xian/service/impl/FeignServiceImpl.java @@ -1,6 +1,6 @@ -package com.gis.xian.service.qgis.base.impl; +package com.gis.xian.service.impl; -import com.gis.xian.service.qgis.base.IFeignService; +import com.gis.xian.service.IFeignService; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; @@ -11,7 +11,7 @@ import org.springframework.web.client.RestClient; import java.util.Map; /** - * 统一专题图触发服务 + * 专题图触发服务 * 只负责调用 Python QGIS 服务,不处理计算和存库 */ @Slf4j @@ -25,20 +25,20 @@ public class FeignServiceImpl implements IFeignService { private String qgisUrl; @Override - public void trigger(String simulationId) { + public void trigger(String simulationId, String type) { if (simulationId == null || simulationId.isBlank()) { log.error("触发参数为空,simulationId={}", simulationId); return; } - log.info("触发专题图生成: simulationId={}", simulationId); + log.info("触发专题图生成: simulationId={}, type={}", simulationId, type); try { RestClient client = restClientBuilder.build(); String result = client.post() .uri(qgisUrl) .contentType(MediaType.APPLICATION_JSON) - .body(Map.of("simulationId", simulationId)) + .body(Map.of("simulationId", simulationId, "type", type)) .retrieve() .body(String.class); log.info("Python 端响应: {}", result);