不同的一级目录下的分组应当可以重名

This commit is contained in:
2025-09-29 17:53:26 +08:00
parent 6cec86bafe
commit d9b69ddc4e
3 changed files with 28 additions and 6 deletions

View File

@ -43,6 +43,7 @@ public class DeviceGroupBo extends BaseEntity {
/**
* 父分组ID
* parent_id
*/
@Schema(title = "父分组ID")
private Long parentId;

View File

@ -120,7 +120,14 @@ public class DeviceGroupServiceImpl implements IDeviceGroupService {
public Boolean insertByBo(DeviceGroupBo bo) {
// 验证分组名称唯一性
DeviceGroup deviceGroup = baseMapper.selectOne(new QueryWrapper<DeviceGroup>().eq("group_name", bo.getGroupName()));
QueryWrapper<DeviceGroup> queryWrapper = new QueryWrapper<DeviceGroup>().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,9 +166,23 @@ public class DeviceGroupServiceImpl implements IDeviceGroupService {
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(DeviceGroup entity) {
private void validEntityBeforeSave(DeviceGroup bo) {
// TODO 做一些数据校验,如唯一约束
// 验证分组名称唯一性
QueryWrapper<DeviceGroup> queryWrapper = new QueryWrapper<DeviceGroup>().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("分组名称已存在,请勿重复添加!!!");
}
}
/**
* 校验并批量删除设备分组信息

View File

@ -125,10 +125,10 @@
<if test="criteria.deviceName != null and criteria.deviceName.trim() != ''">
and d.device_name like concat('%', TRIM(#{criteria.deviceName}), '%')
</if>
<if test="criteria.deviceMac != null">
<if test="criteria.deviceMac != null and criteria.deviceMac.trim() != ''">
and d.device_mac = #{criteria.deviceMac}
</if>
<if test="criteria.deviceImei != null">
<if test="criteria.deviceImei != null and criteria.deviceImei.trim() != ''">
and d.device_imei = #{criteria.deviceImei}
</if>
<if test="criteria.deviceType != null">