From 4e8ab17d827b9e5650b5c8671cb4b087f5b0bda3 Mon Sep 17 00:00:00 2001 From: "zangch@mesnac.com" Date: Tue, 23 Dec 2025 14:17:25 +0800 Subject: [PATCH] =?UTF-8?q?feat(base):=20=E6=B7=BB=E5=8A=A0=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E5=8F=82=E6=95=B0=E7=BC=96=E5=8F=B7=E5=94=AF=E4=B8=80?= =?UTF-8?q?=E6=80=A7=E6=A0=A1=E9=AA=8C=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在BaseDeviceParamMapper中新增countByParamCode方法用于校验参数编号唯一性 - 在BaseDeviceParamMapper.xml中添加对应的SQL查询语句 - 在insertBaseDeviceParam方法中添加参数编号唯一性校验逻辑 - 在updateBaseDeviceParam方法中添加参数编号唯一性校验逻辑 - 实现新增和更新时的参数编号重复检查机制 - 添加相应的异常处理和错误提示信息 --- .../aucma/base/mapper/BaseDeviceParamMapper.java | 10 ++++++++++ .../service/impl/BaseDeviceParamServiceImpl.java | 15 +++++++++++++++ .../mapper/base/BaseDeviceParamMapper.xml | 16 ++++++++++++++++ 3 files changed, 41 insertions(+) diff --git a/aucma-base/src/main/java/com/aucma/base/mapper/BaseDeviceParamMapper.java b/aucma-base/src/main/java/com/aucma/base/mapper/BaseDeviceParamMapper.java index 1698e39..f448cc5 100644 --- a/aucma-base/src/main/java/com/aucma/base/mapper/BaseDeviceParamMapper.java +++ b/aucma-base/src/main/java/com/aucma/base/mapper/BaseDeviceParamMapper.java @@ -1,6 +1,7 @@ package com.aucma.base.mapper; import java.util.List; +import org.apache.ibatis.annotations.Param; import com.aucma.base.domain.BaseDeviceParam; /** @@ -67,6 +68,15 @@ public interface BaseDeviceParamMapper */ public List selectByParamCodes(List paramCodes); + /** + * 校验参数编号唯一性 + * + * @param paramCode 参数编号 + * @param excludeObjId 排除的主键(更新时使用) + * @return 已存在数量 + */ + public int countByParamCode(@Param("paramCode") String paramCode, @Param("excludeObjId") Long excludeObjId); + /** * 批量新增设备参数 * diff --git a/aucma-base/src/main/java/com/aucma/base/service/impl/BaseDeviceParamServiceImpl.java b/aucma-base/src/main/java/com/aucma/base/service/impl/BaseDeviceParamServiceImpl.java index 8a78d0e..f86907c 100644 --- a/aucma-base/src/main/java/com/aucma/base/service/impl/BaseDeviceParamServiceImpl.java +++ b/aucma-base/src/main/java/com/aucma/base/service/impl/BaseDeviceParamServiceImpl.java @@ -59,6 +59,14 @@ public class BaseDeviceParamServiceImpl implements IBaseDeviceParamService @Override public int insertBaseDeviceParam(BaseDeviceParam baseDeviceParam) { + String paramCode = baseDeviceParam.getParamCode(); + int count = baseDeviceParamMapper.countByParamCode(paramCode, null); + System.out.println(count + paramCode); + // 校验参数编号唯一 + if (count > 0) + { + throw new ServiceException("参数编号已存在:" + paramCode); + } return baseDeviceParamMapper.insertBaseDeviceParam(baseDeviceParam); } @@ -71,6 +79,13 @@ public class BaseDeviceParamServiceImpl implements IBaseDeviceParamService @Override public int updateBaseDeviceParam(BaseDeviceParam baseDeviceParam) { + String paramCode = baseDeviceParam.getParamCode(); + int count = baseDeviceParamMapper.countByParamCode(paramCode, baseDeviceParam.getObjId()); + System.out.println(count + paramCode + baseDeviceParam.getObjId()); + if (count > 0) + { + throw new ServiceException("参数编号已存在:" + baseDeviceParam.getParamCode()); + } return baseDeviceParamMapper.updateBaseDeviceParam(baseDeviceParam); } diff --git a/aucma-base/src/main/resources/mapper/base/BaseDeviceParamMapper.xml b/aucma-base/src/main/resources/mapper/base/BaseDeviceParamMapper.xml index 4211b42..9b49106 100644 --- a/aucma-base/src/main/resources/mapper/base/BaseDeviceParamMapper.xml +++ b/aucma-base/src/main/resources/mapper/base/BaseDeviceParamMapper.xml @@ -61,10 +61,26 @@ + + +