mirror of
https://gitee.com/beecue/fastbee.git
synced 2025-12-19 17:35:54 +08:00
设备解绑功能完善
This commit is contained in:
@@ -70,10 +70,10 @@ public interface IDeviceLogService
|
||||
public int deleteDeviceLogByLogId(Long logId);
|
||||
|
||||
/**
|
||||
* 根据设备IDs批量删除设备日志
|
||||
* 根据设备ID批量删除设备日志
|
||||
*
|
||||
* @param deviceIds 需要删除的设备日志IDs
|
||||
* @param deviceId 需要删除的设备日志ID
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteDeviceLogByDeviceIds(Long[] deviceIds);
|
||||
public int deleteDeviceLogByDeviceId(Long deviceId);
|
||||
}
|
||||
|
||||
@@ -155,20 +155,13 @@ public interface IDeviceService
|
||||
public int reportDevice(Device device);
|
||||
|
||||
/**
|
||||
* 批量删除设备
|
||||
* 删除设备
|
||||
*
|
||||
* @param deviceIds 需要删除的设备主键集合
|
||||
* @param deviceId 需要删除的设备主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteDeviceByDeviceIds(Long[] deviceIds) throws SchedulerException;
|
||||
public int deleteDeviceByDeviceId(Long deviceId) throws SchedulerException;
|
||||
|
||||
/**
|
||||
* 删除设备信息
|
||||
*
|
||||
* @param deviceId 设备主键
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteDeviceByDeviceId(Long deviceId);
|
||||
|
||||
/**
|
||||
* 生成设备唯一编号
|
||||
|
||||
@@ -102,13 +102,13 @@ public class DeviceLogServiceImpl implements IDeviceLogService
|
||||
/**
|
||||
* 根据设备Ids批量删除设备日志
|
||||
*
|
||||
* @param deviceIds 需要删除数据的设备Ids
|
||||
* @param deviceId 需要删除数据的设备Ids
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteDeviceLogByDeviceIds(Long[] deviceIds)
|
||||
public int deleteDeviceLogByDeviceId(Long deviceId)
|
||||
{
|
||||
return deviceLogMapper.deleteDeviceLogByDeviceIds(deviceIds);
|
||||
return deviceLogMapper.deleteDeviceLogByDeviceId(deviceId);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -796,34 +796,44 @@ public class DeviceServiceImpl implements IDeviceService {
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除设备
|
||||
* @param deviceIds 需要删除的设备主键
|
||||
* 删除设备
|
||||
* @param deviceId 需要删除的设备主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public int deleteDeviceByDeviceIds(Long[] deviceIds) throws SchedulerException {
|
||||
// 删除设备分组
|
||||
deviceMapper.deleteDeviceGroupByDeviceIds(deviceIds);
|
||||
// TODO 删除设备日志 td里面删除
|
||||
deviceLogMapper.deleteDeviceLogByDeviceIds(deviceIds);
|
||||
// TODO 删除设备告警记录
|
||||
public int deleteDeviceByDeviceId(Long deviceId) throws SchedulerException {
|
||||
SysUser user=getLoginUser().getUser();
|
||||
// 是否为普通用户,普通用户如果不是设备所有者,只能删除设备用户和用户自己的设备关联分组信息
|
||||
boolean isGeneralUser=false;
|
||||
List<SysRole> roles=user.getRoles();
|
||||
for(int i=0;i<roles.size();i++){
|
||||
if (roles.get(i).getRoleKey().equals("general")){
|
||||
isGeneralUser=true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// 删除定时任务
|
||||
deviceJobService.deleteJobByDeviceIds(deviceIds);
|
||||
// 删除设备用户
|
||||
deviceUserMapper.deleteDeviceUserByDeviceIds(deviceIds);
|
||||
// 删除设备
|
||||
return deviceMapper.deleteDeviceByDeviceIds(deviceIds);
|
||||
}
|
||||
Device device=deviceMapper.selectDeviceByDeviceId(deviceId);
|
||||
if(isGeneralUser && device.getUserId().longValue()!=user.getUserId()){
|
||||
// 删除用户的设备用户信息。 普通用户,且不是设备所有者。
|
||||
deviceUserMapper.deleteDeviceUserByDeviceId(new UserIdAndDeviceIdModel(user.getUserId(),deviceId));
|
||||
// 删除用户的设备分组
|
||||
deviceMapper.deleteDeviceGroupByDeviceId(new UserIdAndDeviceIdModel(user.getUserId(),deviceId));
|
||||
}else{
|
||||
// 删除设备用户。 租户、管理员和设备所有者
|
||||
deviceUserMapper.deleteDeviceUserByDeviceId(new UserIdAndDeviceIdModel(null,deviceId));
|
||||
// 删除设备分组。
|
||||
deviceMapper.deleteDeviceGroupByDeviceId(new UserIdAndDeviceIdModel(null,deviceId));
|
||||
// 删除定时任务
|
||||
deviceJobService.deleteJobByDeviceIds(new Long[]{deviceId});
|
||||
// 批量删除设备日志
|
||||
logService.deleteDeviceLogByDeviceId(deviceId);
|
||||
// TODO 删除设备告警记录
|
||||
|
||||
/**
|
||||
* 删除设备信息
|
||||
* @param deviceId 设备主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteDeviceByDeviceId(Long deviceId) {
|
||||
return deviceMapper.deleteDeviceByDeviceId(deviceId);
|
||||
// 删除设备
|
||||
deviceMapper.deleteDeviceByDeviceIds(new Long[]{deviceId});
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import com.ruoyi.common.core.domain.entity.SysUser;
|
||||
import com.ruoyi.common.utils.DateUtils;
|
||||
import com.ruoyi.iot.domain.DeviceUser;
|
||||
import com.ruoyi.iot.mapper.DeviceUserMapper;
|
||||
import com.ruoyi.iot.model.UserIdAndDeviceIdModel;
|
||||
import com.ruoyi.iot.service.IDeviceUserService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.dao.DuplicateKeyException;
|
||||
@@ -103,7 +104,7 @@ public class DeviceUserServiceImpl implements IDeviceUserService
|
||||
@Override
|
||||
public int deleteDeviceUserByDeviceId(Long deviceId)
|
||||
{
|
||||
return deviceUserMapper.deleteDeviceUserByDeviceId(deviceId);
|
||||
return deviceUserMapper.deleteDeviceUserByDeviceId(new UserIdAndDeviceIdModel(null,deviceId));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user