From 3bfa34bab5758b2ad78435de186fd6571560f0c3 Mon Sep 17 00:00:00 2001 From: zhuangtianxiang <2913129173@qq.com> Date: Thu, 13 Mar 2025 15:39:16 +0800 Subject: [PATCH] =?UTF-8?q?feat(iot):=20=E8=AE=BE=E5=A4=87=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E5=9B=BE=E6=A0=87=E5=92=8C=E9=A2=84=E8=A7=88=E5=9B=BE?= =?UTF-8?q?=E9=99=84=E4=BB=B6=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 Device 模型中添加 iconId 和 previewId 字段,用于存储附件 ID - 在 DeviceDto、DeviceServeDto 和 DeviceVo 中添加对应的字段和关联对象 - 更新 DeviceMapper.xml 以支持新字段的查询和映射 - 优化 BulletinMapper.xml 中的附件查询逻辑 - 移除 BulletinServiceImpl 中未使用的 UserRepository 依赖 --- .../iot/device/dto/BatchDeviceDto.java | 7 +++++- .../modules/iot/device/dto/DeviceDto.java | 7 +++++- .../iot/device/dto/DeviceServeDto.java | 7 +++++- .../modules/iot/device/entity/Device.java | 21 ++++++++++++++-- .../modules/iot/device/vo/DeviceVo.java | 20 +++++++++++++-- .../service/impl/BulletinServiceImpl.java | 1 - .../resources/mappers/iot/DeviceMapper.xml | 23 ++++++++++++++++-- .../mappers/notice/BulletinMapper.xml | 4 +-- .../3013b01a2c4db4e6354db9e6376aa4a7409b5162 | Bin 0 -> 250368 bytes .../aef555e74ce46ee9b2b4f67f90c32512751a5db6 | Bin 0 -> 20387 bytes storage/temp/863733116800 | Bin 0 -> 20387 bytes 11 files changed, 78 insertions(+), 12 deletions(-) create mode 100644 storage/attachment/3013b01a2c4db4e6354db9e6376aa4a7409b5162 create mode 100644 storage/attachment/aef555e74ce46ee9b2b4f67f90c32512751a5db6 create mode 100644 storage/temp/863733116800 diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/device/dto/BatchDeviceDto.java b/src/main/java/com/zsc/edu/gateway/modules/iot/device/dto/BatchDeviceDto.java index 9bedec4..527ccf4 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/iot/device/dto/BatchDeviceDto.java +++ b/src/main/java/com/zsc/edu/gateway/modules/iot/device/dto/BatchDeviceDto.java @@ -60,6 +60,11 @@ public class BatchDeviceDto { /** * 图标 */ - public String icon; + public String iconId; + + /** + * 预览图 + */ + public String previewId; } diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/device/dto/DeviceDto.java b/src/main/java/com/zsc/edu/gateway/modules/iot/device/dto/DeviceDto.java index 21929c6..9a7d190 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/iot/device/dto/DeviceDto.java +++ b/src/main/java/com/zsc/edu/gateway/modules/iot/device/dto/DeviceDto.java @@ -57,6 +57,11 @@ public class DeviceDto { /** * 图标 */ - public String icon; + public String iconId; + + /** + * 预览图 + */ + public String previewId; } diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/device/dto/DeviceServeDto.java b/src/main/java/com/zsc/edu/gateway/modules/iot/device/dto/DeviceServeDto.java index bb693c7..09187ed 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/iot/device/dto/DeviceServeDto.java +++ b/src/main/java/com/zsc/edu/gateway/modules/iot/device/dto/DeviceServeDto.java @@ -38,7 +38,12 @@ public class DeviceServeDto { /** * 图标 */ - public String icon; + public String iconId; + + /** + * 预览图 + */ + public String previewId; /** * 参数 diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/device/entity/Device.java b/src/main/java/com/zsc/edu/gateway/modules/iot/device/entity/Device.java index b29d17c..a5aa5e4 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/iot/device/entity/Device.java +++ b/src/main/java/com/zsc/edu/gateway/modules/iot/device/entity/Device.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.zsc.edu.gateway.common.enums.IState; import com.zsc.edu.gateway.framework.json.JsonbTypeHandler; +import com.zsc.edu.gateway.modules.attachment.entity.Attachment; import com.zsc.edu.gateway.modules.iot.product.entity.Product; import com.zsc.edu.gateway.modules.system.entity.BaseEntity; import lombok.AllArgsConstructor; @@ -109,10 +110,26 @@ public class Device extends BaseEntity { public Double latitude; /** - * 设备图标 + * 设备图标附件ID */ - public String icon; + public String iconId; + /** + * 设备图标附件 + */ + @TableField(exist = false) + public Attachment icon; + + /** + * 设备预览图附件ID + */ + public String previewId; + + /** + * 设备预览图附件 + */ + @TableField(exist = false) + public Attachment preview; public enum Status implements IEnum, IState { UNACTIVATED(0, "未激活"), diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/device/vo/DeviceVo.java b/src/main/java/com/zsc/edu/gateway/modules/iot/device/vo/DeviceVo.java index 618af75..28907c6 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/iot/device/vo/DeviceVo.java +++ b/src/main/java/com/zsc/edu/gateway/modules/iot/device/vo/DeviceVo.java @@ -3,6 +3,7 @@ package com.zsc.edu.gateway.modules.iot.device.vo; import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.annotation.JsonInclude; import com.zsc.edu.gateway.framework.json.JsonbTypeHandler; +import com.zsc.edu.gateway.modules.attachment.entity.Attachment; import com.zsc.edu.gateway.modules.iot.device.entity.Device; import com.zsc.edu.gateway.modules.iot.product.entity.Product; import com.zsc.edu.gateway.modules.iot.tsl.entity.Param; @@ -107,9 +108,24 @@ public class DeviceVo { public Double latitude; /** - * 设备图标 + * 设备图标附件ID */ - public String icon; + public String iconId; + + /** + * 设备图标附件 + */ + public Attachment icon; + + /** + * 设备预览图附件ID + */ + public String previewId; + + /** + * 设备预览图附件 + */ + public Attachment preview; /** diff --git a/src/main/java/com/zsc/edu/gateway/modules/message/service/impl/BulletinServiceImpl.java b/src/main/java/com/zsc/edu/gateway/modules/message/service/impl/BulletinServiceImpl.java index fb218c8..9151d13 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/message/service/impl/BulletinServiceImpl.java +++ b/src/main/java/com/zsc/edu/gateway/modules/message/service/impl/BulletinServiceImpl.java @@ -36,7 +36,6 @@ public class BulletinServiceImpl extends ServiceImpl - + + @@ -35,6 +36,18 @@ + + + + + + + + @@ -56,10 +69,16 @@ ip.type as param_type, ip.identifier as param_identifier, ip.name as param_name, - ip.remark as param_remark + ip.remark as param_remark, + ai.id as icon_id, + ai.file_name as icon_file_name, + ap.file_name as preview_file_name, + ap.id as preview_id from iot_device d left join iot_product p on d.product_id = p.id left join iot_param ip on p.id = ip.foreign_id and ip.foreign_type = 3 + left join attachment ai on d.icon_id = ai.id + left join attachment ap on d.preview_id = ap.id where d.id = #{id} diff --git a/src/main/resources/mappers/notice/BulletinMapper.xml b/src/main/resources/mappers/notice/BulletinMapper.xml index 6ccc7ce..a7396e0 100644 --- a/src/main/resources/mappers/notice/BulletinMapper.xml +++ b/src/main/resources/mappers/notice/BulletinMapper.xml @@ -25,8 +25,8 @@ - - + +