From 497e3161f4e8fc2be2a78a348ccf3dfcfe4ea602 Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Sat, 17 Jan 2026 15:40:01 +0800
Subject: [PATCH] 反制
---
drone-service/drone-fw/src/main/java/org/sxkj/fw/detection/param/FwEffectEvalParam.java | 38 +++++++++++++++++++
drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/service/ICockpitService.java | 7 +--
drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/controller/CockpitController.java | 16 +------
drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/service/impl/CockpitServiceImpl.java | 33 ++++++++++++++--
drone-service/drone-fw/src/main/java/org/sxkj/fw/detection/entity/FwEffectEvalEntity.java | 4 +-
5 files changed, 75 insertions(+), 23 deletions(-)
diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/controller/CockpitController.java b/drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/controller/CockpitController.java
index ca63d86..1e4ad0d 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/controller/CockpitController.java
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/controller/CockpitController.java
@@ -8,27 +8,18 @@
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
-import org.springblade.core.tool.utils.BeanUtil;
import org.springframework.web.bind.annotation.*;
import org.sxkj.fw.cockpit.service.ICockpitService;
import org.sxkj.fw.cockpit.vo.AlarmStatisticsVO;
import org.sxkj.fw.cockpit.vo.DeviceStatisticsVO;
-import org.sxkj.fw.detection.dto.FwEffectEvalDTO;
-import org.sxkj.fw.detection.entity.FwEffectEvalEntity;
-import org.sxkj.fw.detection.service.IFwEffectEvalService;
+import org.sxkj.fw.detection.param.FwEffectEvalParam;
import org.sxkj.fw.device.dto.FwDeviceDTO;
-import org.sxkj.fw.device.entity.FwDeviceEntity;
-import org.sxkj.fw.device.service.IFwDeviceService;
import org.sxkj.fw.device.vo.CockpitFwDeviceVO;
-import org.sxkj.fw.device.vo.FwDeviceVO;
-import org.sxkj.fw.device.wrapper.FwDeviceWrapper;
import org.sxkj.fw.record.dto.FwDroneAlarmRecordDTO;
-import org.sxkj.fw.record.service.IFwDroneAlarmRecordService;
import org.sxkj.fw.record.vo.FwDroneAlarmRecordVO;
import javax.validation.Valid;
import java.util.List;
-import java.util.Objects;
/**
* 数据驾驶舱
@@ -95,8 +86,7 @@
@PostMapping("/interferenceAndExpulsion")
@ApiOperationSupport(order = 5)
@ApiOperation(value = "信号干扰,诱导驱离", notes = "传入fwEffectEval")
- public R submit(@Valid @RequestBody FwEffectEvalDTO fwEffectEval) {
- FwEffectEvalEntity fwEffectEvalEntity = Objects.requireNonNull(BeanUtil.copy(fwEffectEval, FwEffectEvalEntity.class));
- return R.status(cockpitService.saveOrUpdate(fwEffectEvalEntity));
+ public R interferenceAndExpulsion(@Valid @RequestBody FwEffectEvalParam fwEffectEvalParam) {
+ return R.status(cockpitService.interferenceAndExpulsion(fwEffectEvalParam));
}
}
diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/service/ICockpitService.java b/drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/service/ICockpitService.java
index 205bb4e..f190217 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/service/ICockpitService.java
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/service/ICockpitService.java
@@ -3,9 +3,8 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.sxkj.fw.cockpit.vo.AlarmStatisticsVO;
import org.sxkj.fw.cockpit.vo.DeviceStatisticsVO;
-import org.sxkj.fw.detection.entity.FwEffectEvalEntity;
+import org.sxkj.fw.detection.param.FwEffectEvalParam;
import org.sxkj.fw.device.dto.FwDeviceDTO;
-import org.sxkj.fw.device.entity.FwDeviceEntity;
import org.sxkj.fw.device.vo.CockpitFwDeviceVO;
import org.sxkj.fw.record.dto.FwDroneAlarmRecordDTO;
import org.sxkj.fw.record.vo.FwDroneAlarmRecordVO;
@@ -38,10 +37,10 @@
/**
* 评估结果保存
- * @param fwEffectEvalEntity
+ * @param fwEffectEvalParam
* @return
*/
- boolean saveOrUpdate(FwEffectEvalEntity fwEffectEvalEntity);
+ boolean interferenceAndExpulsion(FwEffectEvalParam fwEffectEvalParam);
/**
* 告警记录和设备记录统计
diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/service/impl/CockpitServiceImpl.java b/drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/service/impl/CockpitServiceImpl.java
index 12709fc..0a74419 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/service/impl/CockpitServiceImpl.java
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/service/impl/CockpitServiceImpl.java
@@ -1,12 +1,12 @@
package org.sxkj.fw.cockpit.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.sxkj.fw.cockpit.service.ICockpitService;
import org.sxkj.fw.cockpit.vo.AlarmStatisticsVO;
import org.sxkj.fw.cockpit.vo.DeviceStatisticsVO;
import org.sxkj.fw.detection.entity.FwEffectEvalEntity;
+import org.sxkj.fw.detection.param.FwEffectEvalParam;
import org.sxkj.fw.detection.service.IFwEffectEvalService;
import org.sxkj.fw.device.dto.FwDeviceDTO;
import org.sxkj.fw.device.entity.FwDeviceEntity;
@@ -49,11 +49,36 @@
}
@Override
- public boolean saveOrUpdate(FwEffectEvalEntity fwEffectEvalEntity) {
- FwDroneAlarmRecordEntity alarmRecordEntity = fwDroneAlarmRecordService.getById(fwEffectEvalEntity.getAlarmRecordId());
+ public boolean interferenceAndExpulsion(FwEffectEvalParam fwEffectEvalParam) {
+ FwDroneAlarmRecordEntity alarmRecordEntity = fwDroneAlarmRecordService.getById(fwEffectEvalParam.getAlarmRecordId());
FwDeviceEntity device = fwDeviceService.getById(alarmRecordEntity.getDeviceId());
+ FwEffectEvalEntity fwEffectEvalEntity = new FwEffectEvalEntity();
+
+ // 告警记录相关字段
+ fwEffectEvalEntity.setAlarmRecordId(fwEffectEvalParam.getAlarmRecordId());
+ fwEffectEvalEntity.setDroneName(alarmRecordEntity.getDroneName());
+ fwEffectEvalEntity.setDroneType(alarmRecordEntity.getDroneType());
+ fwEffectEvalEntity.setDroneDeviceCode(alarmRecordEntity.getDroneSerialNo());
+ fwEffectEvalEntity.setFindTime(alarmRecordEntity.getAlarmTime());
+
+ // 从参数获取反制方式,否则使用告警记录中的值
+ fwEffectEvalEntity.setCounterWay(fwEffectEvalParam.getCounterWay());
+
+ // 设备相关字段
fwEffectEvalEntity.setDeviceId(alarmRecordEntity.getDeviceId());
- fwEffectEvalEntity.setCounterEffect("1");
+ fwEffectEvalEntity.setDeviceSn(device.getDeviceSn());
+ fwEffectEvalEntity.setDeviceName(device.getDeviceName());
+ fwEffectEvalEntity.setDeviceModel(device.getDeviceModel());
+ fwEffectEvalEntity.setDeviceType(device.getDeviceType());
+ fwEffectEvalEntity.setDeployLongitude(device.getLongitude() != null ? Double.parseDouble(device.getLongitude()) : null);
+ fwEffectEvalEntity.setDeployLatitude(device.getLatitude() != null ? Double.parseDouble(device.getLatitude()) : null);
+ fwEffectEvalEntity.setAreaCode(device.getAreaCode());
+
+ // 反制效果及工作模式(从参数获取,否则使用默认值)
+ fwEffectEvalEntity.setCounterEffect( "1"); // 1.success/2.fail
+ fwEffectEvalEntity.setCoverRadiusM(2500); // 覆盖范围(米)
+ fwEffectEvalEntity.setWorkMode( "1"); // 1.机动/2.固定
+
return fwEffectEvalService.saveOrUpdate(fwEffectEvalEntity);
}
diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/detection/entity/FwEffectEvalEntity.java b/drone-service/drone-fw/src/main/java/org/sxkj/fw/detection/entity/FwEffectEvalEntity.java
index 4335830..89cf90c 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/detection/entity/FwEffectEvalEntity.java
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/detection/entity/FwEffectEvalEntity.java
@@ -57,9 +57,9 @@
/**
* 反制设备编码(快照)
*/
- @TableField("device_code")
+ @TableField("device_sn")
@ApiModelProperty(value = "反制设备编码(快照)")
- private String deviceCode;
+ private String deviceSn;
/**
* 反制设备名称(快照)
*/
diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/detection/param/FwEffectEvalParam.java b/drone-service/drone-fw/src/main/java/org/sxkj/fw/detection/param/FwEffectEvalParam.java
new file mode 100644
index 0000000..80df8e7
--- /dev/null
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/detection/param/FwEffectEvalParam.java
@@ -0,0 +1,38 @@
+
+package org.sxkj.fw.detection.param;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 反制效果评估表 参数类
+ *
+ * @author BladeX
+ * @since 2026-01-17
+ */
+@Data
+public class FwEffectEvalParam implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 告警记录ID(ja_fw_drone_alarm_record.id)
+ */
+ @ApiModelProperty(value = "告警记录ID(ja_fw_drone_alarm_record.id)")
+ private Long alarmRecordId;
+
+ @ApiModelProperty(value = "反制方式:1.信号干扰/2.诱导驱离/无")
+ private String counterWay;
+
+ // @ApiModelProperty(value = "反制效果(1.success/2.fail)")
+ // private String counterEffect;
+ //
+ // @ApiModelProperty(value = "覆盖范围(米)")
+ // private Integer coverRadiusM;
+ //
+ // @ApiModelProperty(value = "工作模式(1.机动/2.固定)")
+ // private String workMode;
+
+}
--
Gitblit v1.9.3