2 Commits

Author SHA1 Message Date
f9d9dadf08 绑定设备分组 2025-08-26 10:00:35 +08:00
e4df695f5e 绑定设备分组 2025-08-26 09:26:33 +08:00
6 changed files with 69 additions and 13 deletions

View File

@ -114,4 +114,21 @@ public class DeviceGroupController extends BaseController {
return toAjax(deviceGroupService.deleteWithValidByIds(List.of(ids), true));
}
/**
* 绑定设备分组
*
* @param groupId 分组id
* @param deviceId 设备id
*/
@Operation(summary = "绑定设备分组")
// @SaCheckPermission("fys-equipment:group:remove")
@Log(title = "绑定设备分组", businessType = BusinessType.DELETE)
@GetMapping("/groupId/{deviceId}")
public R<Void> bindingDevice(@NotEmpty(message = "分组id 不能为空") @PathVariable Long groupId,
@NotEmpty(message = "设备id 不能为空") @PathVariable Long[] deviceId) {
return toAjax(deviceGroupService.bindingDevice(groupId, deviceId));
}
}

View File

@ -8,8 +8,8 @@ spring.boot.admin.client:
metadata:
username: ${spring.boot.admin.client.username}
userpassword: ${spring.boot.admin.client.password}
username: ${monitor.username}
password: ${monitor.password}
username: @monitor.username@
password: @monitor.password@
--- # snail-job 配置
snail-job:

View File

@ -11,8 +11,8 @@ spring.boot.admin.client:
metadata:
username: ${spring.boot.admin.client.username}
userpassword: ${spring.boot.admin.client.password}
username: ${monitor.username}
password: ${monitor.password}
username: @monitor.username@
password: @monitor.password@
--- # snail-job 配置
snail-job:

View File

@ -3,6 +3,7 @@ package com.fuyuanshen.equipment.service;
import com.fuyuanshen.common.mybatis.core.page.TableDataInfo;
import com.fuyuanshen.equipment.domain.vo.DeviceGroupVo;
import com.fuyuanshen.equipment.domain.bo.DeviceGroupBo;
import jakarta.validation.constraints.NotEmpty;
import java.util.Collection;
import java.util.List;
@ -56,4 +57,14 @@ public interface IDeviceGroupService {
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
/**
* 绑定设备分组
*
* @param groupId 分组id
* @param deviceId 设备id
* @return 是否绑定成功
*/
Boolean bindingDevice(@NotEmpty(message = "分组id 不能为空") Long groupId, @NotEmpty(message = "设备id 不能为空") Long[] deviceId);
}

View File

@ -1,6 +1,7 @@
package com.fuyuanshen.equipment.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fuyuanshen.common.core.domain.R;
@ -11,6 +12,8 @@ import com.fuyuanshen.common.mybatis.core.page.TableDataInfo;
import com.fuyuanshen.common.satoken.utils.LoginHelper;
import com.fuyuanshen.equipment.domain.Device;
import com.fuyuanshen.equipment.domain.DeviceTypeGrants;
import com.fuyuanshen.equipment.mapper.DeviceMapper;
import jakarta.validation.constraints.NotEmpty;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
@ -22,6 +25,7 @@ import com.fuyuanshen.equipment.mapper.DeviceGroupMapper;
import com.fuyuanshen.equipment.service.IDeviceGroupService;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Collection;
@ -39,6 +43,7 @@ import java.util.stream.Collectors;
public class DeviceGroupServiceImpl implements IDeviceGroupService {
private final DeviceGroupMapper baseMapper;
private final DeviceMapper deviceMapper;
/**
@ -169,4 +174,27 @@ public class DeviceGroupServiceImpl implements IDeviceGroupService {
}
return baseMapper.deleteByIds(ids) > 0;
}
/**
* 绑定设备分组
*
* @param groupId 分组id
* @param deviceId 设备id
* @return 是否绑定成功
*/
@Override
public Boolean bindingDevice(Long groupId, Long[] deviceId) {
if (deviceId != null && deviceId.length > 0) {
// 创建更新条件
UpdateWrapper<Device> updateWrapper = new UpdateWrapper<>();
updateWrapper.in("id", Arrays.asList(deviceId));
updateWrapper.set("group_id", groupId);
// 执行批量更新
deviceMapper.update(updateWrapper);
}
return true;
}
}

16
pom.xml
View File

@ -83,10 +83,10 @@
<monitor.username>fys</monitor.username>
<monitor.password>123456</monitor.password>
</properties>
<!-- <activation> -->
<!-- &lt;!&ndash; 默认环境 &ndash;&gt; -->
<!-- <activeByDefault>true</activeByDefault> -->
<!-- </activation> -->
<activation>
<!-- 默认环境 -->
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>prod</id>
@ -96,10 +96,10 @@
<monitor.username>fys</monitor.username>
<monitor.password>123456</monitor.password>
</properties>
<activation>
<!-- 默认环境 -->
<activeByDefault>true</activeByDefault>
</activation>
<!-- <activation> -->
<!-- &lt;!&ndash; 默认环境 &ndash;&gt; -->
<!-- <activeByDefault>true</activeByDefault> -->
<!-- </activation> -->
</profile>
<profile>
<id>jingquan</id>