diff --git a/src/main/java/com/zsc/edu/gateway/framework/websocket/DataPushTask.java b/src/main/java/com/zsc/edu/gateway/framework/websocket/DataPushTask.java index 241fc1c..6705be3 100644 --- a/src/main/java/com/zsc/edu/gateway/framework/websocket/DataPushTask.java +++ b/src/main/java/com/zsc/edu/gateway/framework/websocket/DataPushTask.java @@ -21,7 +21,7 @@ public class DataPushTask { private final RecordWebSocketHandler recordHandler; private final ProductWebSocketHandler productHandler; - @Scheduled(fixedRate = 20000) + @Scheduled(fixedRate = 3000) public void pushData() { pushAndBroadcast(deviceService::status, deviceHandler); pushAndBroadcast(recordDataService::recordDataStatus, recordHandler); diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/device/controller/DeviceController.java b/src/main/java/com/zsc/edu/gateway/modules/iot/device/controller/DeviceController.java index b17ebd4..d5d2ef4 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/iot/device/controller/DeviceController.java +++ b/src/main/java/com/zsc/edu/gateway/modules/iot/device/controller/DeviceController.java @@ -170,4 +170,13 @@ public class DeviceController { public int toggle(@PathVariable("id") Long id) { return service.toggle(id); } + + /** + * 删除图片或预览图 + */ + @DeleteMapping("/attachment/{id}") + @OperationLogAnnotation(content = "'设备图片或预览图'", operationType = "删除") + public Boolean deleteIconOrPreview(@PathVariable("id") Long id, String attachmentId) { + return service.deleteIconOrPreview(id, attachmentId); + } } diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/device/service/DeviceService.java b/src/main/java/com/zsc/edu/gateway/modules/iot/device/service/DeviceService.java index 25d581f..4ba2474 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/iot/device/service/DeviceService.java +++ b/src/main/java/com/zsc/edu/gateway/modules/iot/device/service/DeviceService.java @@ -38,4 +38,6 @@ public interface DeviceService extends IService { List findByName(String name); int toggle(Long id); + + boolean deleteIconOrPreview(Long id, String attachmentId); } diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/device/service/impl/DeviceServiceImpl.java b/src/main/java/com/zsc/edu/gateway/modules/iot/device/service/impl/DeviceServiceImpl.java index 5b3bc70..547a769 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/iot/device/service/impl/DeviceServiceImpl.java +++ b/src/main/java/com/zsc/edu/gateway/modules/iot/device/service/impl/DeviceServiceImpl.java @@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.zsc.edu.gateway.exception.ConstraintException; import com.zsc.edu.gateway.exception.OutlineException; import com.zsc.edu.gateway.framework.redis.RedisUtils; +import com.zsc.edu.gateway.modules.attachment.service.AttachmentService; import com.zsc.edu.gateway.modules.iot.device.dto.BatchDeviceDto; import com.zsc.edu.gateway.modules.iot.device.dto.DeviceDto; import com.zsc.edu.gateway.modules.iot.device.dto.DeviceServeDto; @@ -60,6 +61,8 @@ public class DeviceServiceImpl extends ServiceImpl imp private DeviceRepository deviceRepo; @Resource private MqttConfig mqttConfig; + @Resource + private AttachmentService attachmentService; /** * 新建设备 */ @@ -70,6 +73,13 @@ public class DeviceServiceImpl extends ServiceImpl imp throw new ConstraintException("该设备名称已存在!"); } Device device = mapper.toEntity(dto); + Product product = productRepo.selectById(device.getProductId()); + if (product.getIconId() != null) { + device.setIconId(product.getIconId()); + } + if (product.getPreviewId() != null) { + device.setPreviewId(product.getPreviewId()); + } save(device); return device; } @@ -240,4 +250,21 @@ public class DeviceServiceImpl extends ServiceImpl imp device.setOnline(!device.getOnline()); return baseMapper.updateById(device); } + + /** + * 删除设备头像 + */ + @Override + public boolean deleteIconOrPreview(Long id, String attachmentId) { + Device device = baseMapper.selectById(id); + if (device.getIconId().equals(attachmentId)) { + device.setIconId(""); + } + if (device.getPreviewId().equals(attachmentId)) { + device.setPreviewId(""); + } + attachmentService.delete(attachmentId); + baseMapper.updateById(device); + return true; + } } \ No newline at end of file diff --git a/storage/attachment/106a80f97c844a80667b2c6d57da5839db05623b b/storage/attachment/106a80f97c844a80667b2c6d57da5839db05623b deleted file mode 100644 index 4c9d3a2..0000000 Binary files a/storage/attachment/106a80f97c844a80667b2c6d57da5839db05623b and /dev/null differ diff --git a/storage/attachment/faad9bd8cf7668198a842812bc28a86dde549fe1 b/storage/attachment/faad9bd8cf7668198a842812bc28a86dde549fe1 deleted file mode 100644 index 37d5479..0000000 Binary files a/storage/attachment/faad9bd8cf7668198a842812bc28a86dde549fe1 and /dev/null differ