From c69a8bc29d0b5178321c84e86f07e308c2116c7e Mon Sep 17 00:00:00 2001
From: Xiajijian <1176061145@qq.com>
Date: Fri, 26 Dec 2025 15:18:56 +0800
Subject: [PATCH] 1. 优化新增地图/修改地图名称重复校验。 2. 优化新增模型/修改模型名称重复校验。 3. 优化新增tile/修改tile名称重复校验。
---
ard-system/src/main/java/com/ard/data/tile/service/IArdTileService.java | 9 +++
ard-system/src/main/resources/mapper/data/ArdModelMapper.xml | 5 +
ard-admin/src/main/java/com/ard/web/controller/data/ArdModelController.java | 7 ++
ard-admin/src/main/java/com/ard/web/controller/data/ArdTileController.java | 7 ++
ard-system/src/main/java/com/ard/data/map/service/impl/ArdMapServiceImpl.java | 21 +++++++
ard-system/src/main/java/com/ard/data/model/service/impl/ArdModelServiceImpl.java | 21 +++++++
ard-system/src/main/resources/mapper/data/ArdMapMapper.xml | 5 +
ard-system/src/main/resources/mapper/data/ArdTileMapper.xml | 5 +
ard-system/src/main/java/com/ard/data/model/mapper/ArdModelMapper.java | 10 +++
ard-system/src/main/resources/mapper/data/ArdNoFlyZoneMapper.xml | 2
ard-system/src/main/java/com/ard/data/map/mapper/ArdMapMapper.java | 10 +++
ard-system/src/main/java/com/ard/data/model/service/IArdModelService.java | 9 +++
ard-sample/src/main/java/com/ard/sample/manage/service/impl/LiveStreamServiceImpl.java | 1
ard-system/src/main/java/com/ard/data/map/service/IArdMapService.java | 9 +++
ard-system/src/main/java/com/ard/data/tile/service/impl/ArdTileServiceImpl.java | 21 +++++++
ard-admin/src/main/java/com/ard/web/controller/data/ArdMapController.java | 7 ++
ard-system/src/main/java/com/ard/data/tile/mapper/ArdTileMapper.java | 10 +++
17 files changed, 158 insertions(+), 1 deletions(-)
diff --git a/ard-admin/src/main/java/com/ard/web/controller/data/ArdMapController.java b/ard-admin/src/main/java/com/ard/web/controller/data/ArdMapController.java
index 5a97336..537ac14 100644
--- a/ard-admin/src/main/java/com/ard/web/controller/data/ArdMapController.java
+++ b/ard-admin/src/main/java/com/ard/web/controller/data/ArdMapController.java
@@ -3,6 +3,7 @@
import java.util.List;
import javax.servlet.http.HttpServletResponse;
+import com.ard.common.constant.DeviceConstants;
import com.ard.data.map.domain.ArdMap;
import com.ard.data.map.service.IArdMapService;
import io.swagger.annotations.Api;
@@ -81,6 +82,9 @@
@Log(title = "地图管理", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody ArdMap ardMap) {
+ if (DeviceConstants.NOT_UNIQUE.equals(ardMapService.checkArdMapNameUnique(ardMap))) {
+ return error("新增地图'" + ardMap.getMapName() + "'失败,已存在");
+ }
return toAjax(ardMapService.insertArdMap(ardMap));
}
@@ -92,6 +96,9 @@
@Log(title = "地图管理", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody ArdMap ardMap) {
+ if (DeviceConstants.NOT_UNIQUE.equals(ardMapService.checkArdMapNameUnique(ardMap))) {
+ return error("修改地图'" + ardMap.getMapName() + "'失败,已存在");
+ }
return toAjax(ardMapService.updateArdMap(ardMap));
}
diff --git a/ard-admin/src/main/java/com/ard/web/controller/data/ArdModelController.java b/ard-admin/src/main/java/com/ard/web/controller/data/ArdModelController.java
index d9e6612..3db3520 100644
--- a/ard-admin/src/main/java/com/ard/web/controller/data/ArdModelController.java
+++ b/ard-admin/src/main/java/com/ard/web/controller/data/ArdModelController.java
@@ -3,6 +3,7 @@
import java.util.List;
import javax.servlet.http.HttpServletResponse;
+import com.ard.common.constant.DeviceConstants;
import com.ard.data.model.domain.ArdModel;
import com.ard.data.model.service.IArdModelService;
import io.swagger.annotations.Api;
@@ -81,6 +82,9 @@
@Log(title = "模型管理", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody ArdModel ardModel) {
+ if (DeviceConstants.NOT_UNIQUE.equals(ardModelService.checkArdModelNameUnique(ardModel))) {
+ return error("新增模型'" + ardModel.getModelName() + "'失败,已存在");
+ }
return toAjax(ardModelService.insertArdModel(ardModel));
}
@@ -92,6 +96,9 @@
@Log(title = "模型管理", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody ArdModel ardModel) {
+ if (DeviceConstants.NOT_UNIQUE.equals(ardModelService.checkArdModelNameUnique(ardModel))) {
+ return error("修改模型'" + ardModel.getModelName() + "'失败,已存在");
+ }
return toAjax(ardModelService.updateArdModel(ardModel));
}
diff --git a/ard-admin/src/main/java/com/ard/web/controller/data/ArdTileController.java b/ard-admin/src/main/java/com/ard/web/controller/data/ArdTileController.java
index dc69330..4f57755 100644
--- a/ard-admin/src/main/java/com/ard/web/controller/data/ArdTileController.java
+++ b/ard-admin/src/main/java/com/ard/web/controller/data/ArdTileController.java
@@ -3,6 +3,7 @@
import java.util.List;
import javax.servlet.http.HttpServletResponse;
+import com.ard.common.constant.DeviceConstants;
import com.ard.data.tile.domain.ArdTile;
import com.ard.data.tile.service.IArdTileService;
import io.swagger.annotations.Api;
@@ -81,6 +82,9 @@
@Log(title = "tile管理", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody ArdTile ardTile) {
+ if (DeviceConstants.NOT_UNIQUE.equals(ardTileService.checkArdTileNameUnique(ardTile))) {
+ return error("新增tile'" + ardTile.getTilesName() + "'失败,已存在");
+ }
return toAjax(ardTileService.insertArdTile(ardTile));
}
@@ -92,6 +96,9 @@
@Log(title = "tile管理", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody ArdTile ardTile) {
+ if (DeviceConstants.NOT_UNIQUE.equals(ardTileService.checkArdTileNameUnique(ardTile))) {
+ return error("修改tile'" + ardTile.getTilesName() + "'失败,已存在");
+ }
return toAjax(ardTileService.updateArdTile(ardTile));
}
diff --git a/ard-sample/src/main/java/com/ard/sample/manage/service/impl/LiveStreamServiceImpl.java b/ard-sample/src/main/java/com/ard/sample/manage/service/impl/LiveStreamServiceImpl.java
index 0940bbd..8a6d437 100644
--- a/ard-sample/src/main/java/com/ard/sample/manage/service/impl/LiveStreamServiceImpl.java
+++ b/ard-sample/src/main/java/com/ard/sample/manage/service/impl/LiveStreamServiceImpl.java
@@ -21,7 +21,6 @@
import com.ard.sample.manage.service.ILiveStreamService;
import com.ard.vtdu.config.MediamtxConfig;
import com.ard.vtdu.domain.ArdVtdu;
-import com.ard.vtdu.service.IArdMediaService;
import com.ard.vtdu.service.IArdVtduService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
diff --git a/ard-system/src/main/java/com/ard/data/map/mapper/ArdMapMapper.java b/ard-system/src/main/java/com/ard/data/map/mapper/ArdMapMapper.java
index ae12f02..3aaaeaf 100644
--- a/ard-system/src/main/java/com/ard/data/map/mapper/ArdMapMapper.java
+++ b/ard-system/src/main/java/com/ard/data/map/mapper/ArdMapMapper.java
@@ -1,6 +1,7 @@
package com.ard.data.map.mapper;
import com.ard.data.map.domain.ArdMap;
+import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -59,4 +60,13 @@
* @return 结果
*/
public int deleteArdMapByIds(String[] ids);
+
+ /**
+ * 校验地图管理信息名称是否唯一
+ *
+ * @param mapName 名称
+ * @return 结果
+ */
+ public ArdMap checkArdMapNameUnique(@Param("mapName") String mapName);
+
}
diff --git a/ard-system/src/main/java/com/ard/data/map/service/IArdMapService.java b/ard-system/src/main/java/com/ard/data/map/service/IArdMapService.java
index 028ab9b..996eba2 100644
--- a/ard-system/src/main/java/com/ard/data/map/service/IArdMapService.java
+++ b/ard-system/src/main/java/com/ard/data/map/service/IArdMapService.java
@@ -59,4 +59,13 @@
* @return 结果
*/
public int deleteArdMapById(String id);
+
+ /**
+ * 校验地图管理信息名称是否唯一
+ *
+ * @param ardMap 地图管理
+ * @return 结果
+ */
+ public String checkArdMapNameUnique(ArdMap ardMap);
+
}
diff --git a/ard-system/src/main/java/com/ard/data/map/service/impl/ArdMapServiceImpl.java b/ard-system/src/main/java/com/ard/data/map/service/impl/ArdMapServiceImpl.java
index 869117b..362b632 100644
--- a/ard-system/src/main/java/com/ard/data/map/service/impl/ArdMapServiceImpl.java
+++ b/ard-system/src/main/java/com/ard/data/map/service/impl/ArdMapServiceImpl.java
@@ -1,5 +1,6 @@
package com.ard.data.map.service.impl;
+import com.ard.common.constant.DeviceConstants;
import com.ard.common.utils.uuid.IdUtils;
import com.ard.data.map.domain.ArdMap;
import com.ard.data.map.mapper.ArdMapMapper;
@@ -87,4 +88,24 @@
public int deleteArdMapById(String id) {
return ardMapMapper.deleteArdMapById(id);
}
+
+ /**
+ * 校验地图管理信息名称是否唯一
+ *
+ * @param ardMap 地图管理
+ * @return 结果
+ */
+ @Override
+ public String checkArdMapNameUnique(ArdMap ardMap) {
+ String id = ardMap.getId();
+ String mapName = ardMap.getMapName();
+
+ ArdMap map = ardMapMapper.checkArdMapNameUnique(mapName);
+
+ if (map != null && (id == null || !id.equals(map.getId()))) {
+ return DeviceConstants.NOT_UNIQUE;
+ }
+ return DeviceConstants.UNIQUE;
+ }
+
}
diff --git a/ard-system/src/main/java/com/ard/data/model/mapper/ArdModelMapper.java b/ard-system/src/main/java/com/ard/data/model/mapper/ArdModelMapper.java
index 2f60299..9ead264 100644
--- a/ard-system/src/main/java/com/ard/data/model/mapper/ArdModelMapper.java
+++ b/ard-system/src/main/java/com/ard/data/model/mapper/ArdModelMapper.java
@@ -1,6 +1,7 @@
package com.ard.data.model.mapper;
import com.ard.data.model.domain.ArdModel;
+import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -59,4 +60,13 @@
* @return 结果
*/
public int deleteArdModelByIds(String[] ids);
+
+ /**
+ * 校验模型管理信息名称是否唯一
+ *
+ * @param modelName 名称
+ * @return 结果
+ */
+ public ArdModel checkArdModelNameUnique(@Param("modelName") String modelName);
+
}
diff --git a/ard-system/src/main/java/com/ard/data/model/service/IArdModelService.java b/ard-system/src/main/java/com/ard/data/model/service/IArdModelService.java
index 12fb816..66776cc 100644
--- a/ard-system/src/main/java/com/ard/data/model/service/IArdModelService.java
+++ b/ard-system/src/main/java/com/ard/data/model/service/IArdModelService.java
@@ -59,4 +59,13 @@
* @return 结果
*/
public int deleteArdModelById(String id);
+
+ /**
+ * 校验模型管理信息名称是否唯一
+ *
+ * @param ardModel 模型管理
+ * @return 结果
+ */
+ public String checkArdModelNameUnique(ArdModel ardModel);
+
}
diff --git a/ard-system/src/main/java/com/ard/data/model/service/impl/ArdModelServiceImpl.java b/ard-system/src/main/java/com/ard/data/model/service/impl/ArdModelServiceImpl.java
index 8b3a1a5..b000909 100644
--- a/ard-system/src/main/java/com/ard/data/model/service/impl/ArdModelServiceImpl.java
+++ b/ard-system/src/main/java/com/ard/data/model/service/impl/ArdModelServiceImpl.java
@@ -2,6 +2,7 @@
import java.util.List;
+import com.ard.common.constant.DeviceConstants;
import com.ard.common.utils.uuid.IdUtils;
import com.ard.data.model.domain.ArdModel;
import com.ard.data.model.mapper.ArdModelMapper;
@@ -87,4 +88,24 @@
public int deleteArdModelById(String id) {
return ardModelMapper.deleteArdModelById(id);
}
+
+ /**
+ * 校验模型管理信息名称是否唯一
+ *
+ * @param ardModel 模型管理
+ * @return 结果
+ */
+ @Override
+ public String checkArdModelNameUnique(ArdModel ardModel) {
+ String id = ardModel.getId();
+ String modelName = ardModel.getModelName();
+
+ ArdModel model = ardModelMapper.checkArdModelNameUnique(modelName);
+
+ if (model != null && (id == null || !id.equals(model.getId()))) {
+ return DeviceConstants.NOT_UNIQUE;
+ }
+ return DeviceConstants.UNIQUE;
+ }
+
}
diff --git a/ard-system/src/main/java/com/ard/data/tile/mapper/ArdTileMapper.java b/ard-system/src/main/java/com/ard/data/tile/mapper/ArdTileMapper.java
index 13edb58..656bfd6 100644
--- a/ard-system/src/main/java/com/ard/data/tile/mapper/ArdTileMapper.java
+++ b/ard-system/src/main/java/com/ard/data/tile/mapper/ArdTileMapper.java
@@ -1,6 +1,7 @@
package com.ard.data.tile.mapper;
import com.ard.data.tile.domain.ArdTile;
+import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -59,4 +60,13 @@
* @return 结果
*/
public int deleteArdTileByIds(String[] ids);
+
+ /**
+ * 校验tile管理信息名称是否唯一
+ *
+ * @param tilesName 名称
+ * @return 结果
+ */
+ public ArdTile checkArdTileNameUnique(@Param("tilesName") String tilesName);
+
}
diff --git a/ard-system/src/main/java/com/ard/data/tile/service/IArdTileService.java b/ard-system/src/main/java/com/ard/data/tile/service/IArdTileService.java
index 1a7b6ce..b08ba82 100644
--- a/ard-system/src/main/java/com/ard/data/tile/service/IArdTileService.java
+++ b/ard-system/src/main/java/com/ard/data/tile/service/IArdTileService.java
@@ -59,4 +59,13 @@
* @return 结果
*/
public int deleteArdTileById(String id);
+
+ /**
+ * 校验tile管理信息名称是否唯一
+ *
+ * @param ardTile tile管理
+ * @return 结果
+ */
+ public String checkArdTileNameUnique(ArdTile ardTile);
+
}
diff --git a/ard-system/src/main/java/com/ard/data/tile/service/impl/ArdTileServiceImpl.java b/ard-system/src/main/java/com/ard/data/tile/service/impl/ArdTileServiceImpl.java
index c068545..8014252 100644
--- a/ard-system/src/main/java/com/ard/data/tile/service/impl/ArdTileServiceImpl.java
+++ b/ard-system/src/main/java/com/ard/data/tile/service/impl/ArdTileServiceImpl.java
@@ -2,6 +2,7 @@
import java.util.List;
+import com.ard.common.constant.DeviceConstants;
import com.ard.common.utils.uuid.IdUtils;
import com.ard.data.tile.domain.ArdTile;
import com.ard.data.tile.mapper.ArdTileMapper;
@@ -87,4 +88,24 @@
public int deleteArdTileById(String id) {
return ardTileMapper.deleteArdTileById(id);
}
+
+ /**
+ * 校验tile管理信息名称是否唯一
+ *
+ * @param ardTile tile管理
+ * @return 结果
+ */
+ @Override
+ public String checkArdTileNameUnique(ArdTile ardTile) {
+ String id = ardTile.getId();
+ String tilesName = ardTile.getTilesName();
+
+ ArdTile tile = ardTileMapper.checkArdTileNameUnique(tilesName);
+
+ if (tile != null && (id == null || !id.equals(tile.getId()))) {
+ return DeviceConstants.NOT_UNIQUE;
+ }
+ return DeviceConstants.UNIQUE;
+ }
+
}
diff --git a/ard-system/src/main/resources/mapper/data/ArdMapMapper.xml b/ard-system/src/main/resources/mapper/data/ArdMapMapper.xml
index a5ecaac..11bc45f 100644
--- a/ard-system/src/main/resources/mapper/data/ArdMapMapper.xml
+++ b/ard-system/src/main/resources/mapper/data/ArdMapMapper.xml
@@ -85,4 +85,9 @@
#{id}
</foreach>
</delete>
+
+ <select id="checkArdMapNameUnique" resultMap="ArdMapResult">
+ select * from ard_map where map_name = #{mapName} limit 1
+ </select>
+
</mapper>
\ No newline at end of file
diff --git a/ard-system/src/main/resources/mapper/data/ArdModelMapper.xml b/ard-system/src/main/resources/mapper/data/ArdModelMapper.xml
index a014f0e..8d84bee 100644
--- a/ard-system/src/main/resources/mapper/data/ArdModelMapper.xml
+++ b/ard-system/src/main/resources/mapper/data/ArdModelMapper.xml
@@ -87,4 +87,9 @@
#{id}
</foreach>
</delete>
+
+ <select id="checkArdModelNameUnique" parameterType="String" resultMap="ArdModelResult">
+ select * from ard_model where model_name = #{modelName} limit 1
+ </select>
+
</mapper>
\ No newline at end of file
diff --git a/ard-system/src/main/resources/mapper/data/ArdNoFlyZoneMapper.xml b/ard-system/src/main/resources/mapper/data/ArdNoFlyZoneMapper.xml
index d410207..28ffec0 100644
--- a/ard-system/src/main/resources/mapper/data/ArdNoFlyZoneMapper.xml
+++ b/ard-system/src/main/resources/mapper/data/ArdNoFlyZoneMapper.xml
@@ -83,7 +83,9 @@
#{id}
</foreach>
</delete>
+
<select id="checkArdNoFlyZoneNameUnique" resultMap="ArdNoFlyZoneResult">
select * from ard_no_fly_zone where name = #{name} limit 1
</select>
+
</mapper>
\ No newline at end of file
diff --git a/ard-system/src/main/resources/mapper/data/ArdTileMapper.xml b/ard-system/src/main/resources/mapper/data/ArdTileMapper.xml
index 2ed3409..d0fce45 100644
--- a/ard-system/src/main/resources/mapper/data/ArdTileMapper.xml
+++ b/ard-system/src/main/resources/mapper/data/ArdTileMapper.xml
@@ -104,4 +104,9 @@
#{id}
</foreach>
</delete>
+
+ <select id="checkArdTileNameUnique" parameterType="String" resultMap="ArdTileResult">
+ select * from ard_tile where tiles_name = #{tilesName} limit 1
+ </select>
+
</mapper>
\ No newline at end of file
--
Gitblit v1.9.3