From 7bf05b3448140adabf70794f683c7f352a29d83b Mon Sep 17 00:00:00 2001
From: rain <1679827795@qq.com>
Date: Fri, 16 Jan 2026 11:15:16 +0800
Subject: [PATCH] 反无大屏设备相关优化
---
drone-service/drone-fw/src/main/java/org/sxkj/fw/detection/service/impl/FwDeviceConfigServiceImpl.java | 34 ++++++++++++++++++++++++++++++++++
1 files changed, 34 insertions(+), 0 deletions(-)
diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/detection/service/impl/FwDeviceConfigServiceImpl.java b/drone-service/drone-fw/src/main/java/org/sxkj/fw/detection/service/impl/FwDeviceConfigServiceImpl.java
index ef73ad8..1a59b55 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/detection/service/impl/FwDeviceConfigServiceImpl.java
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/detection/service/impl/FwDeviceConfigServiceImpl.java
@@ -25,6 +25,7 @@
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.core.tool.api.R;
import java.util.List;
/**
@@ -61,6 +62,39 @@
return baseMapper.resetLatestByDeviceId(deviceId, excludeId);
}
+ @Override
+ public R saveOrUpdateConfig(FwDeviceConfigEntity fwDeviceConfig) {
+ if (fwDeviceConfig == null || fwDeviceConfig.getDeviceId() == null) {
+ return R.fail("设备id不能为空");
+ }
+ Long deviceId = fwDeviceConfig.getDeviceId();
+ FwDeviceConfigEntity existing = null;
+ if (fwDeviceConfig.getId() != null) {
+ existing = this.getById(fwDeviceConfig.getId());
+ if (existing == null) {
+ return R.fail("数据不存在");
+ }
+ }
+ if (existing == null) {
+ Integer maxVersion = this.selectMaxConfigVersion(deviceId);
+ fwDeviceConfig.setConfigVersion(maxVersion == null ? 1 : maxVersion + 1);
+ fwDeviceConfig.setIsLatest((byte) 1);
+ this.resetLatestByDeviceId(deviceId, null);
+ return R.status(this.save(fwDeviceConfig));
+ }
+
+ if (fwDeviceConfig.getConfigVersion() == null) {
+ fwDeviceConfig.setConfigVersion(existing.getConfigVersion());
+ }
+ if (fwDeviceConfig.getIsLatest() == null) {
+ fwDeviceConfig.setIsLatest(existing.getIsLatest());
+ }
+ if (fwDeviceConfig.getIsLatest() != null && fwDeviceConfig.getIsLatest() == 1) {
+ this.resetLatestByDeviceId(deviceId, fwDeviceConfig.getId());
+ }
+ return R.status(this.updateById(fwDeviceConfig));
+ }
+
@Override
public List<FwDeviceConfigExcel> exportFwDeviceConfig(Wrapper<FwDeviceConfigEntity> queryWrapper) {
--
Gitblit v1.9.3