From d9b69ddc4efd30c765280fda8c3f39028ed82bf8 Mon Sep 17 00:00:00 2001 From: daiyongfei <974332738@qq.com> Date: Mon, 29 Sep 2025 17:53:26 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8D=E5=90=8C=E7=9A=84=E4=B8=80=E7=BA=A7?= =?UTF-8?q?=E7=9B=AE=E5=BD=95=E4=B8=8B=E7=9A=84=E5=88=86=E7=BB=84=E5=BA=94?= =?UTF-8?q?=E5=BD=93=E5=8F=AF=E4=BB=A5=E9=87=8D=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../equipment/domain/bo/DeviceGroupBo.java | 3 ++- .../service/impl/DeviceGroupServiceImpl.java | 27 ++++++++++++++++--- .../mapper/equipment/DeviceMapper.xml | 4 +-- 3 files changed, 28 insertions(+), 6 deletions(-) diff --git a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/bo/DeviceGroupBo.java b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/bo/DeviceGroupBo.java index e0ac783eb..afd5c86bd 100644 --- a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/bo/DeviceGroupBo.java +++ b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/bo/DeviceGroupBo.java @@ -31,7 +31,7 @@ public class DeviceGroupBo extends BaseEntity { * 分组名称 */ @Schema(title = "分组名称") - @NotBlank(message = "分组名称不能为空", groups = { AddGroup.class, EditGroup.class }) + @NotBlank(message = "分组名称不能为空", groups = {AddGroup.class, EditGroup.class}) private String groupName; /** @@ -43,6 +43,7 @@ public class DeviceGroupBo extends BaseEntity { /** * 父分组ID + * parent_id */ @Schema(title = "父分组ID") private Long parentId; diff --git a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/impl/DeviceGroupServiceImpl.java b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/impl/DeviceGroupServiceImpl.java index bb02c2ce9..3b74c7e89 100644 --- a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/impl/DeviceGroupServiceImpl.java +++ b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/impl/DeviceGroupServiceImpl.java @@ -120,7 +120,14 @@ public class DeviceGroupServiceImpl implements IDeviceGroupService { public Boolean insertByBo(DeviceGroupBo bo) { // 验证分组名称唯一性 - DeviceGroup deviceGroup = baseMapper.selectOne(new QueryWrapper().eq("group_name", bo.getGroupName())); + QueryWrapper queryWrapper = new QueryWrapper().eq("group_name", bo.getGroupName()); + if (bo.getParentId() != null) { + queryWrapper.eq("parent_id", bo.getParentId()); + } else { + queryWrapper.isNull("parent_id"); + } + DeviceGroup deviceGroup = baseMapper.selectOne(queryWrapper); + if (deviceGroup != null) { throw new RuntimeException("分组名称已存在,请勿重复添加!!!"); } @@ -159,10 +166,24 @@ public class DeviceGroupServiceImpl implements IDeviceGroupService { /** * 保存前的数据校验 */ - private void validEntityBeforeSave(DeviceGroup entity) { + private void validEntityBeforeSave(DeviceGroup bo) { // TODO 做一些数据校验,如唯一约束 + // 验证分组名称唯一性 + QueryWrapper queryWrapper = new QueryWrapper().eq("group_name", bo.getGroupName()); + if (bo.getParentId() != null) { + queryWrapper.eq("parent_id", bo.getParentId()); + } else { + queryWrapper.isNull("parent_id"); + } + DeviceGroup deviceGroup = baseMapper.selectOne(queryWrapper); + + if (deviceGroup != null && deviceGroup.getId() != bo.getId()) { + throw new RuntimeException("分组名称已存在,请勿重复添加!!!"); + } + } + /** * 校验并批量删除设备分组信息 * @@ -210,7 +231,7 @@ public class DeviceGroupServiceImpl implements IDeviceGroupService { * @return 是否解绑成功 */ @Override - public Boolean groupUnbind( Long[] deviceId) { + public Boolean groupUnbind(Long[] deviceId) { if (deviceId != null && deviceId.length > 0) { // 创建更新条件 diff --git a/fys-modules/fys-equipment/src/main/resources/mapper/equipment/DeviceMapper.xml b/fys-modules/fys-equipment/src/main/resources/mapper/equipment/DeviceMapper.xml index 19768df8d..856516b2f 100644 --- a/fys-modules/fys-equipment/src/main/resources/mapper/equipment/DeviceMapper.xml +++ b/fys-modules/fys-equipment/src/main/resources/mapper/equipment/DeviceMapper.xml @@ -125,10 +125,10 @@ and d.device_name like concat('%', TRIM(#{criteria.deviceName}), '%') - + and d.device_mac = #{criteria.deviceMac} - + and d.device_imei = #{criteria.deviceImei}