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

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

@ -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;

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,10 +166,24 @@ 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("分组名称已存在,请勿重复添加!!!");
}
}
/**
* 校验并批量删除设备分组信息
*
@ -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) {
// 创建更新条件

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">