修改 前端菜单 管理菜单,角色前后端分配 及通道创建失败的问题
This commit is contained in:
@@ -202,7 +202,7 @@ public interface IDeviceService
|
||||
* @return 结果
|
||||
*/
|
||||
public AjaxResult deleteDeviceByDeviceId(Long deviceId) throws SchedulerException;
|
||||
|
||||
public void deleteDeviceById(Long deviceId) ;
|
||||
/**
|
||||
* 生成设备唯一编号
|
||||
* @return 结果
|
||||
|
||||
@@ -1370,6 +1370,67 @@ public class DeviceServiceImpl implements IDeviceService {
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除设备
|
||||
*
|
||||
* @param deviceId 需要删除的设备主键
|
||||
* @return 结果
|
||||
*/
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void deleteDeviceById(Long deviceId){
|
||||
//查询设备
|
||||
Device device = deviceMapper.selectDeviceByDeviceId(deviceId);
|
||||
|
||||
// 2.3版本更改 设备管理者和设备拥有者为true,普通用户如果不是设备所有者,只能删除设备用户和用户自己的设备关联分组信息
|
||||
// 查绑定用户被分享用户配置的场景,需要把场景删掉
|
||||
DeviceUser deviceUser = deviceUserMapper.selectDeviceUserByDeviceId(deviceId);
|
||||
List<Long> userIdSceneList = new ArrayList<>();
|
||||
if (null != deviceUser) {
|
||||
userIdSceneList.add(deviceUser.getUserId());
|
||||
}
|
||||
Long[] shareSceneIds = null;
|
||||
List<DeviceShare> deviceShares = deviceShareService.selectDeviceShareByDeviceId(deviceId);
|
||||
if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(deviceShares)) {
|
||||
List<Long> userIdList = deviceShares.stream().map(DeviceShare::getUserId).collect(Collectors.toList());
|
||||
userIdSceneList.addAll(userIdList);
|
||||
}
|
||||
if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(userIdSceneList)) {
|
||||
shareSceneIds = sceneDeviceMapper.listSceneIdByDeviceIdAndUserId(device.getSerialNumber(), userIdSceneList);
|
||||
}
|
||||
|
||||
if (null != shareSceneIds && shareSceneIds.length > 0) {
|
||||
sceneService.deleteSceneBySceneIds(shareSceneIds);
|
||||
}
|
||||
// 删除设备分组。 租户、管理员和设备所有者
|
||||
deviceMapper.deleteDeviceGroupByDeviceId(new UserIdDeviceIdModel(null, deviceId));
|
||||
// 删除设备用户。
|
||||
deviceUserMapper.deleteDeviceUserByDeviceId(new UserIdDeviceIdModel(null, deviceId));
|
||||
deviceShareService.deleteDeviceShareByDeviceId(deviceId);
|
||||
// 删除定时任务 TODO - emq兼容
|
||||
// deviceJobService.deleteJobByDeviceIds(new Long[]{deviceId});
|
||||
// 批量删除设备监测日志
|
||||
logService.deleteDeviceLogByDeviceNumber(device.getSerialNumber());
|
||||
// 批量删除设备事件日志 DeviceNumber
|
||||
eventLogService.deleteEventLogByDeviceNumber(device.getSerialNumber());
|
||||
// 批量删除设备功能日志
|
||||
functionLogService.deleteFunctionLogByDeviceNumber(device.getSerialNumber());
|
||||
// 批量删除设备告警记录
|
||||
alertLogService.deleteAlertLogBySerialNumber(device.getSerialNumber());
|
||||
// redis中删除设备物模型(状态)
|
||||
String key = RedisKeyBuilder.buildTSLVCacheKey(device.getProductId(), device.getSerialNumber());
|
||||
redisCache.deleteObject(key);
|
||||
// 删除设备
|
||||
deviceMapper.deleteDeviceByDeviceIds(new Long[]{deviceId});
|
||||
// redis中删除规则脚本
|
||||
String cacheKey = RedisKeyBuilder.buildDeviceMsgCacheKey(device.getSerialNumber());
|
||||
redisCache.deleteObject(cacheKey);
|
||||
// 删除设备
|
||||
deviceMapper.deleteDeviceByDeviceIds(new Long[]{deviceId});
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 根据设备编号查询协议编码
|
||||
|
||||
Reference in New Issue
Block a user