From 1f8e5d34b2f305277366610f1443893b194a8fd4 Mon Sep 17 00:00:00 2001 From: yangwei <867012372@qq.com> Date: Wed, 4 Jun 2025 10:32:16 +0800 Subject: [PATCH] =?UTF-8?q?[feat]=E6=8F=90=E4=BA=A4=EF=BC=9B=E7=94=BB?= =?UTF-8?q?=E6=A1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../business/domain/BusinessAlert.java | 21 +++++++++ .../business/domain/bo/BusinessAlertBo.java | 20 +++++++++ .../business/domain/vo/BusinessAlertVo.java | 21 +++++++++ .../impl/BusinessAlertServiceImpl.java | 44 +++++++++++-------- .../org/dromara/system/utils/OvkmzParser.java | 11 +++++ 5 files changed, 99 insertions(+), 18 deletions(-) create mode 100644 dk-modules/system/src/main/java/org/dromara/system/utils/OvkmzParser.java diff --git a/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessAlert.java b/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessAlert.java index a78da95..a4752ca 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessAlert.java +++ b/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessAlert.java @@ -263,4 +263,25 @@ public class BusinessAlert { */ @TableField(exist = false) private String icon; + + /** + * 无人机方向 + */ + private String direction; + + /** + * 无人机云台偏航角 + */ + private String gimbalYaw; + + /** + * 无人机高 + */ + private String height; + + /** + * 无人机俯视角 + */ + private String gimbalPitch; + } diff --git a/dk-modules/business/src/main/java/org/dromara/business/domain/bo/BusinessAlertBo.java b/dk-modules/business/src/main/java/org/dromara/business/domain/bo/BusinessAlertBo.java index 23f549f..9c1e38c 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/domain/bo/BusinessAlertBo.java +++ b/dk-modules/business/src/main/java/org/dromara/business/domain/bo/BusinessAlertBo.java @@ -252,4 +252,24 @@ public class BusinessAlertBo { */ private String exportType = "world"; + /** + * 无人机方向 + */ + private String direction; + + /** + * 无人机云台偏航角 + */ + private String gimbalYaw; + + /** + * 无人机高 + */ + private String height; + + /** + * 无人机俯视角 + */ + private String gimbalPitch; + } diff --git a/dk-modules/business/src/main/java/org/dromara/business/domain/vo/BusinessAlertVo.java b/dk-modules/business/src/main/java/org/dromara/business/domain/vo/BusinessAlertVo.java index cfc7d8e..32efc5c 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/domain/vo/BusinessAlertVo.java +++ b/dk-modules/business/src/main/java/org/dromara/business/domain/vo/BusinessAlertVo.java @@ -211,4 +211,25 @@ public class BusinessAlertVo implements Serializable { * 案件号 */ private String caseNumber; + + + /** + * 无人机方向 + */ + private String direction; + + /** + * 无人机云台偏航角 + */ + private String gimbalYaw; + + /** + * 无人机高 + */ + private String height; + + /** + * 无人机俯视角 + */ + private String gimbalPitch; } diff --git a/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertServiceImpl.java b/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertServiceImpl.java index 587b2e3..247e12c 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertServiceImpl.java +++ b/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertServiceImpl.java @@ -151,28 +151,36 @@ public class BusinessAlertServiceImpl implements IBusinessAlertService { @Override public void addBusinessAlertList(List alertVoList) { - if(!alertVoList.isEmpty()) { - incrementalCount(alertVoList); + if (ObjectUtil.isEmpty(alertVoList)) { + throw new ServiceException("预警参数为空!"); + } - List remoteStartProcessList = new ArrayList<>(); - for (BusinessAlertVo alertVo : alertVoList) { - alertVo.setBusinessType(2); - alertVo.setHandleType(BusinessStatusEnum.WAITING.getStatus()); - BusinessAlert alert = addBusinessAlert(alertVo); - RemoteStartProcess startProcess = new RemoteStartProcess(); - startProcess.setBusinessId(String.valueOf(alert.getId())); - startProcess.setFlowCode("alertChz"); - remoteStartProcessList.add(startProcess); - } + try { + incrementalCount(alertVoList); + } catch (Exception e) { + log.error(e.getMessage(),e); + } - int startIndex = 0; // 从第 0 条开始 - int batchSize = 5; // 每批处理 5 条 - boolean flag = BatchProcessorUtil.processBatches(remoteStartProcessList, batchSize, startIndex, batch -> { - //批量新增部门区域数据 - remoteWorkflowService.startWorkFlowBatch(batch); - }); + List remoteStartProcessList = new ArrayList<>(); + for (BusinessAlertVo alertVo : alertVoList) { + alertVo.setBusinessType(2); + BusinessAlert alert = addBusinessAlert(alertVo); + RemoteStartProcess startProcess = new RemoteStartProcess(); + startProcess.setBusinessId(String.valueOf(alert.getId())); + //根据标签获取流程code + String flowCode = remoteWorkflowService.getFlowCode(alertVo.getLabelEn()); + log.info("flowCode:{}",flowCode); + startProcess.setFlowCode(flowCode); + remoteStartProcessList.add(startProcess); } + int startIndex = 0; // 从第 0 条开始 + int batchSize = 5; // 每批处理 5 条 + boolean flag = BatchProcessorUtil.processBatches(remoteStartProcessList, batchSize, startIndex, batch -> { + //批量新增部门区域数据 + remoteWorkflowService.startWorkFlowBatch(batch); + }); + } /** diff --git a/dk-modules/system/src/main/java/org/dromara/system/utils/OvkmzParser.java b/dk-modules/system/src/main/java/org/dromara/system/utils/OvkmzParser.java new file mode 100644 index 0000000..38aa2dd --- /dev/null +++ b/dk-modules/system/src/main/java/org/dromara/system/utils/OvkmzParser.java @@ -0,0 +1,11 @@ +package org.dromara.system.utils; + + +/** + * 解析ovkmz文件 + */ +public class OvkmzParser { + + + +}