删除设备类型
This commit is contained in:
@ -21,6 +21,9 @@ import java.util.Date;
|
|||||||
@JsonInclude(JsonInclude.Include.ALWAYS) // 关键注解
|
@JsonInclude(JsonInclude.Include.ALWAYS) // 关键注解
|
||||||
public class Device extends TenantEntity {
|
public class Device extends TenantEntity {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* id
|
||||||
|
*/
|
||||||
@TableId(value = "id", type = IdType.AUTO)
|
@TableId(value = "id", type = IdType.AUTO)
|
||||||
@Schema(name = "ID")
|
@Schema(name = "ID")
|
||||||
private Long id;
|
private Long id;
|
||||||
@ -29,6 +32,9 @@ public class Device extends TenantEntity {
|
|||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private Long assignId;
|
private Long assignId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* device_type
|
||||||
|
*/
|
||||||
@Schema(name = "设备类型")
|
@Schema(name = "设备类型")
|
||||||
private Long deviceType;
|
private Long deviceType;
|
||||||
|
|
||||||
@ -100,8 +106,6 @@ public class Device extends TenantEntity {
|
|||||||
private Integer deviceStatus;
|
private Integer deviceStatus;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 绑定状态
|
* 绑定状态
|
||||||
* 0 未绑定
|
* 0 未绑定
|
||||||
|
@ -25,6 +25,7 @@ public class DeviceAssignments extends TenantEntity {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 设备id
|
* 设备id
|
||||||
|
* device_id
|
||||||
*/
|
*/
|
||||||
private Long deviceId;
|
private Long deviceId;
|
||||||
|
|
||||||
|
@ -44,7 +44,6 @@ import com.fuyuanshen.system.domain.vo.SysOssVo;
|
|||||||
import com.fuyuanshen.system.service.ISysOssService;
|
import com.fuyuanshen.system.service.ISysOssService;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.poi.ss.formula.functions.T;
|
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
package com.fuyuanshen.equipment.service.impl;
|
package com.fuyuanshen.equipment.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
@ -10,11 +12,13 @@ import com.fuyuanshen.common.core.utils.PageUtil;
|
|||||||
import com.fuyuanshen.common.mybatis.core.page.TableDataInfo;
|
import com.fuyuanshen.common.mybatis.core.page.TableDataInfo;
|
||||||
import com.fuyuanshen.common.satoken.utils.LoginHelper;
|
import com.fuyuanshen.common.satoken.utils.LoginHelper;
|
||||||
import com.fuyuanshen.equipment.domain.Device;
|
import com.fuyuanshen.equipment.domain.Device;
|
||||||
|
import com.fuyuanshen.equipment.domain.DeviceAssignments;
|
||||||
import com.fuyuanshen.equipment.domain.DeviceType;
|
import com.fuyuanshen.equipment.domain.DeviceType;
|
||||||
import com.fuyuanshen.equipment.domain.DeviceTypeGrants;
|
import com.fuyuanshen.equipment.domain.DeviceTypeGrants;
|
||||||
import com.fuyuanshen.equipment.domain.form.DeviceTypeForm;
|
import com.fuyuanshen.equipment.domain.form.DeviceTypeForm;
|
||||||
import com.fuyuanshen.equipment.domain.query.DeviceQueryCriteria;
|
import com.fuyuanshen.equipment.domain.query.DeviceQueryCriteria;
|
||||||
import com.fuyuanshen.equipment.domain.query.DeviceTypeQueryCriteria;
|
import com.fuyuanshen.equipment.domain.query.DeviceTypeQueryCriteria;
|
||||||
|
import com.fuyuanshen.equipment.mapper.DeviceAssignmentsMapper;
|
||||||
import com.fuyuanshen.equipment.mapper.DeviceMapper;
|
import com.fuyuanshen.equipment.mapper.DeviceMapper;
|
||||||
import com.fuyuanshen.equipment.mapper.DeviceTypeGrantsMapper;
|
import com.fuyuanshen.equipment.mapper.DeviceTypeGrantsMapper;
|
||||||
import com.fuyuanshen.equipment.mapper.DeviceTypeMapper;
|
import com.fuyuanshen.equipment.mapper.DeviceTypeMapper;
|
||||||
@ -41,6 +45,7 @@ public class DeviceTypeServiceImpl extends ServiceImpl<DeviceTypeMapper, DeviceT
|
|||||||
private final DeviceMapper deviceMapper;
|
private final DeviceMapper deviceMapper;
|
||||||
|
|
||||||
private final DeviceTypeGrantsMapper deviceTypeGrantsMapper;
|
private final DeviceTypeGrantsMapper deviceTypeGrantsMapper;
|
||||||
|
private final DeviceAssignmentsMapper deviceAssignmentsMapper;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -155,30 +160,33 @@ public class DeviceTypeServiceImpl extends ServiceImpl<DeviceTypeMapper, DeviceT
|
|||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void deleteAll(List<Long> ids) {
|
public void deleteAll(List<Long> ids) {
|
||||||
|
|
||||||
|
List<Long> deviceTypeId = new ArrayList<>();
|
||||||
|
|
||||||
|
for (Long id : ids) {
|
||||||
|
DeviceTypeGrants deviceTypeGrant = deviceTypeGrantsMapper.selectById(id);
|
||||||
|
|
||||||
|
// List<DeviceTypeGrants> deviceTypeGrants = deviceTypeGrantsMapper.selectList(new QueryWrapper<DeviceTypeGrants>()
|
||||||
|
// .eq("device_type_id", deviceTypeGrant.getDeviceTypeId()));
|
||||||
|
|
||||||
|
// List<DeviceTypeGrants> deviceAssignments = deviceTypeGrantsMapper.selectList(new QueryWrapper<DeviceTypeGrants>()
|
||||||
|
// .eq("device_id", deviceTypeGrant.getDeviceTypeId()));
|
||||||
|
|
||||||
|
// if (CollectionUtil.isNotEmpty(deviceAssignments)) {
|
||||||
|
// throw new RuntimeException("该设备类型已绑定设备,无法删除");
|
||||||
|
// }
|
||||||
|
// Device device = deviceMapper.selectById(deviceTypeGrant.getDeviceTypeId());
|
||||||
|
|
||||||
|
List<Device> devices = deviceMapper.selectList(new QueryWrapper<Device>()
|
||||||
|
.eq("device_type", deviceTypeGrant.getDeviceTypeId()));
|
||||||
|
if (CollectionUtil.isNotEmpty(devices)) {
|
||||||
|
throw new RuntimeException("该设备类型已绑定设备,无法删除");
|
||||||
|
}
|
||||||
|
deviceTypeId.add(deviceTypeGrant.getDeviceTypeId());
|
||||||
|
}
|
||||||
|
|
||||||
deviceTypeGrantsMapper.deleteByIds(ids);
|
deviceTypeGrantsMapper.deleteByIds(ids);
|
||||||
//
|
deviceTypeMapper.deleteByIds(deviceTypeId);
|
||||||
// List<Long> invalidIds = new ArrayList<>();
|
|
||||||
// List<Long> invalidId2 = new ArrayList<>();
|
|
||||||
// for (Long id : ids) {
|
|
||||||
// DeviceType deviceType = deviceTypeMapper.selectById(id);
|
|
||||||
// if (deviceType == null || !Objects.equals(deviceType.getOwnerCustomerId(), LoginHelper.getUserId())) {
|
|
||||||
// invalidIds.add(id);
|
|
||||||
// }
|
|
||||||
// DeviceQueryCriteria deviceQueryCriteria = new DeviceQueryCriteria();
|
|
||||||
// deviceQueryCriteria.setDeviceType(id);
|
|
||||||
// List<Device> devices = deviceMapper.findAll(deviceQueryCriteria);
|
|
||||||
// if (!devices.isEmpty()) {
|
|
||||||
// invalidId2.add(id);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// if (!invalidIds.isEmpty()) {
|
|
||||||
// throw new RuntimeException("以下设备类型无法删除(ID 不存在或无权限): " + invalidIds);
|
|
||||||
// }
|
|
||||||
// if (!invalidId2.isEmpty()) {
|
|
||||||
// throw new RuntimeException("以下设备类型无法删除(已绑定设备): " + invalidId2);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// deviceTypeMapper.deleteByIds(ids);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user