@ -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<DeviceTypeMapper, DeviceT
private final DeviceMapper deviceMapper ;
private final DeviceTypeGrantsMapper deviceTypeGrantsMapper ;
private final DeviceAssignmentsMapper deviceAssignmentsMapper ;
/**
@ -155,30 +160,33 @@ public class DeviceTypeServiceImpl extends ServiceImpl<DeviceTypeMapper, DeviceT
@Transactional ( rollbackFor = Exception . class )
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 ) ;
//
// 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);
deviceTypeMapper . deleteByIds ( deviceTypeId ) ;
}