From 57322c9c8741c061b0f04f3c0d7bca9ac12bc13b Mon Sep 17 00:00:00 2001 From: daiyongfei <974332738@qq.com> Date: Fri, 18 Jul 2025 17:57:58 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E8=93=9D=E7=89=99=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fuyuanshen/equipment/domain/dto/DeviceExcelImportDTO.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/dto/DeviceExcelImportDTO.java b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/dto/DeviceExcelImportDTO.java index f2f9a87..146f9e8 100644 --- a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/dto/DeviceExcelImportDTO.java +++ b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/dto/DeviceExcelImportDTO.java @@ -58,7 +58,9 @@ public class DeviceExcelImportDTO { private String remark; @ExcelProperty("设备类型名称") - @ColumnWidth(20) private String typeName; + @ExcelProperty("蓝牙名称") + private String bluetoothName; + } \ No newline at end of file From ec89dd8c1ede4e2359f91a42b923e166283b7cae Mon Sep 17 00:00:00 2001 From: daiyongfei <974332738@qq.com> Date: Fri, 18 Jul 2025 18:12:36 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=AE=BE=E5=A4=87=20?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../equipment/service/impl/DeviceServiceImpl.java | 10 ++++++++++ 1 file changed, 10 insertions(+) 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 af5164d..6301d5b 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 @@ -142,6 +142,16 @@ public class DeviceServiceImpl extends ServiceImpl impleme @Override @Transactional(rollbackFor = Exception.class) public void addDevice(DeviceForm deviceForm) throws Exception { + + Device device1 = deviceMapper.selectOne(new QueryWrapper().eq("device_mac", deviceForm.getDeviceMac())); + if (device1 != null) { + throw new BadRequestException("设备MAC已存在!!!"); + } + Device device2 = deviceMapper.selectOne(new QueryWrapper().eq("device_imei", deviceForm.getDeviceImei())); + if (device2 != null) { + throw new BadRequestException("设备IMEI已存在!!!"); + } + DeviceTypeQueryCriteria queryCriteria = new DeviceTypeQueryCriteria(); queryCriteria.setDeviceTypeId(deviceForm.getDeviceType()); queryCriteria.setCustomerId(LoginHelper.getUserId()); From f2921ff12f3e8b17b490681f337788445ad211e4 Mon Sep 17 00:00:00 2001 From: daiyongfei <974332738@qq.com> Date: Sat, 19 Jul 2025 09:17:14 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E5=88=86=E9=A1=B5=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E8=AE=BE=E5=A4=87-=E8=AE=BE=E5=A4=87=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../equipment/service/impl/DeviceServiceImpl.java | 6 ++++++ 1 file changed, 6 insertions(+) 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 6301d5b..881f985 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 @@ -101,6 +101,12 @@ public class DeviceServiceImpl extends ServiceImpl impleme public TableDataInfo queryAll(DeviceQueryCriteria criteria, Page page) throws IOException { criteria.setCurrentOwnerId(LoginHelper.getUserId()); + if (criteria.getDeviceType() != null) { + DeviceTypeGrants deviceTypeGrant = deviceTypeGrantsMapper.selectById(criteria.getDeviceType()); + if (deviceTypeGrant != null) { + criteria.setDeviceType(deviceTypeGrant.getDeviceTypeId()); + } + } IPage devices = deviceMapper.findAll(criteria, page); List records = devices.getRecords(); From 3feafc2cd99ee9a2914e33182d6e3bcfb7d680b8 Mon Sep 17 00:00:00 2001 From: daiyongfei <974332738@qq.com> Date: Sat, 19 Jul 2025 10:20:07 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E5=88=A0=E9=99=A4=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fuyuanshen/equipment/domain/Device.java | 8 ++- .../equipment/domain/DeviceAssignments.java | 1 + .../service/impl/DeviceServiceImpl.java | 1 - .../service/impl/DeviceTypeServiceImpl.java | 54 +++++++++++-------- 4 files changed, 38 insertions(+), 26 deletions(-) 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); + }