diff --git a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/Device.java b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/Device.java index 6fe3024..8c2fd0f 100644 --- a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/Device.java +++ b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/Device.java @@ -21,6 +21,9 @@ import java.util.Date; @JsonInclude(JsonInclude.Include.ALWAYS) // 关键注解 public class Device extends TenantEntity { + /** + * id + */ @TableId(value = "id", type = IdType.AUTO) @Schema(name = "ID") private Long id; @@ -29,6 +32,9 @@ public class Device extends TenantEntity { @TableField(exist = false) private Long assignId; + /** + * device_type + */ @Schema(name = "设备类型") private Long deviceType; @@ -100,8 +106,6 @@ public class Device extends TenantEntity { private Integer deviceStatus; - - /** * 绑定状态 * 0 未绑定 diff --git a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/DeviceAssignments.java b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/DeviceAssignments.java index e3ea3ce..098e817 100644 --- a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/DeviceAssignments.java +++ b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/DeviceAssignments.java @@ -25,6 +25,7 @@ public class DeviceAssignments extends TenantEntity { /** * 设备id + * device_id */ private Long deviceId; diff --git a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/impl/DeviceServiceImpl.java b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/impl/DeviceServiceImpl.java index 881f985..0b339af 100644 --- a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/impl/DeviceServiceImpl.java +++ b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/impl/DeviceServiceImpl.java @@ -44,7 +44,6 @@ import com.fuyuanshen.system.domain.vo.SysOssVo; import com.fuyuanshen.system.service.ISysOssService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.apache.poi.ss.formula.functions.T; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; diff --git a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/impl/DeviceTypeServiceImpl.java b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/impl/DeviceTypeServiceImpl.java index ee0a8a0..f8eeb58 100644 --- a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/impl/DeviceTypeServiceImpl.java +++ b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/impl/DeviceTypeServiceImpl.java @@ -1,6 +1,8 @@ package com.fuyuanshen.equipment.service.impl; 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.extension.plugins.pagination.Page; 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.satoken.utils.LoginHelper; import com.fuyuanshen.equipment.domain.Device; +import com.fuyuanshen.equipment.domain.DeviceAssignments; import com.fuyuanshen.equipment.domain.DeviceType; import com.fuyuanshen.equipment.domain.DeviceTypeGrants; import com.fuyuanshen.equipment.domain.form.DeviceTypeForm; import com.fuyuanshen.equipment.domain.query.DeviceQueryCriteria; import com.fuyuanshen.equipment.domain.query.DeviceTypeQueryCriteria; +import com.fuyuanshen.equipment.mapper.DeviceAssignmentsMapper; import com.fuyuanshen.equipment.mapper.DeviceMapper; import com.fuyuanshen.equipment.mapper.DeviceTypeGrantsMapper; import com.fuyuanshen.equipment.mapper.DeviceTypeMapper; @@ -41,6 +45,7 @@ public class DeviceTypeServiceImpl extends ServiceImpl ids) { + List deviceTypeId = new ArrayList<>(); + + for (Long id : ids) { + DeviceTypeGrants deviceTypeGrant = deviceTypeGrantsMapper.selectById(id); + + // List deviceTypeGrants = deviceTypeGrantsMapper.selectList(new QueryWrapper() + // .eq("device_type_id", deviceTypeGrant.getDeviceTypeId())); + + // List deviceAssignments = deviceTypeGrantsMapper.selectList(new QueryWrapper() + // .eq("device_id", deviceTypeGrant.getDeviceTypeId())); + + // if (CollectionUtil.isNotEmpty(deviceAssignments)) { + // throw new RuntimeException("该设备类型已绑定设备,无法删除"); + // } + // Device device = deviceMapper.selectById(deviceTypeGrant.getDeviceTypeId()); + + List devices = deviceMapper.selectList(new QueryWrapper() + .eq("device_type", deviceTypeGrant.getDeviceTypeId())); + if (CollectionUtil.isNotEmpty(devices)) { + throw new RuntimeException("该设备类型已绑定设备,无法删除"); + } + deviceTypeId.add(deviceTypeGrant.getDeviceTypeId()); + } + deviceTypeGrantsMapper.deleteByIds(ids); - // - // List invalidIds = new ArrayList<>(); - // List 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 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); + deviceTypeMapper.deleteByIds(deviceTypeId); + }