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}