From 196dc1a9991711ebf2a3cbfe676a0c85da58fa0a Mon Sep 17 00:00:00 2001 From: xins Date: Mon, 16 Oct 2023 15:21:54 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8B=A5=E4=BE=9D=E5=BE=AE=E6=9C=8D=E5=8A=A11.?= =?UTF-8?q?5.7=201=E3=80=81dataprocess=EF=BC=9A=E5=9B=BE=E7=89=87=E5=A4=84?= =?UTF-8?q?=E7=90=86=E5=85=BC=E5=AE=B9=202=E3=80=81job=EF=BC=9Ainnerauth?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/constant/TdEngineConstants.java | 7 +++++-- .../service/impl/HwDeviceModeServiceImpl.java | 4 ++-- .../service/impl/DataProcessServiceImpl.java | 20 ++++++++++++++++--- .../main/java/com/ruoyi/job/task/RyTask.java | 3 ++- 4 files changed, 26 insertions(+), 8 deletions(-) diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/TdEngineConstants.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/TdEngineConstants.java index 23c204f..d65f96b 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/TdEngineConstants.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/TdEngineConstants.java @@ -24,7 +24,10 @@ public class TdEngineConstants { public static final String PAYLOAD_DEVICE_CODE = "uid";//协议上传设备编号的key - public static final String PAYLOAD_DEVICE_DATA_TYPE_IMAGE = "image";//协议上传图片类型的key + public static final String PAYLOAD_DEVICE_DATA_TYPE_IMAGE = "image";//协议上传图片的key + + public static final String PAYLOAD_DEVICE_DATA_TYPE_TYPE = "type";//协议上传图片类型的key + public static final String PAYLOAD_DEVICE_DATA_TYPE_TYPE_FIRSET_UPPER = "Type";//协议上传图片类型的key // public static final String DEFAULT_DB_NAME_PREFIX = "db_scene_";//数据库名称前缀 @@ -71,7 +74,7 @@ public class TdEngineConstants { /** * 禁止的功能标识符 */ - public static final List ABNDON_FUNCTION_IDENTIFIERS = Arrays.asList("ts","value1"); + public static final List ABNDON_FUNCTION_IDENTIFIERS = Arrays.asList("ts","value1","type"); public static final Map DEVICE_DATA_COLUMN_MAP = new HashMap(); diff --git a/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/service/impl/HwDeviceModeServiceImpl.java b/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/service/impl/HwDeviceModeServiceImpl.java index e887f27..8cd8e6c 100644 --- a/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/service/impl/HwDeviceModeServiceImpl.java +++ b/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/service/impl/HwDeviceModeServiceImpl.java @@ -106,7 +106,7 @@ public class HwDeviceModeServiceImpl implements IHwDeviceModeService { String keyLatitude = keyLatitudeR.getData(); hwDeviceModeFunctionList.forEach(d -> { - if (TdEngineConstants.ABNDON_FUNCTION_IDENTIFIERS.contains(d.getFunctionIdentifier())) { + if (TdEngineConstants.ABNDON_FUNCTION_IDENTIFIERS.contains(d.getFunctionIdentifier().toLowerCase())) { throw new ServiceException("标识符不能等于:" + d.getFunctionIdentifier()); } if (StringUtils.isEmpty(d.getCoordinate()) && @@ -391,7 +391,7 @@ public class HwDeviceModeServiceImpl implements IHwDeviceModeService { */ private void checkDuplicateIdentifiers(HwDeviceModeFunction hwDeviceModeFunction) { String functionIdentifier = hwDeviceModeFunction.getFunctionIdentifier(); - if (TdEngineConstants.ABNDON_FUNCTION_IDENTIFIERS.contains(functionIdentifier)) { + if (TdEngineConstants.ABNDON_FUNCTION_IDENTIFIERS.contains(functionIdentifier.toLowerCase())) { throw new ServiceException("标识符不能等于:" + functionIdentifier); } diff --git a/ruoyi-modules/hw-data-process/src/main/java/com/ruoyi/dataprocess/service/impl/DataProcessServiceImpl.java b/ruoyi-modules/hw-data-process/src/main/java/com/ruoyi/dataprocess/service/impl/DataProcessServiceImpl.java index 61eb97f..3c4cd12 100644 --- a/ruoyi-modules/hw-data-process/src/main/java/com/ruoyi/dataprocess/service/impl/DataProcessServiceImpl.java +++ b/ruoyi-modules/hw-data-process/src/main/java/com/ruoyi/dataprocess/service/impl/DataProcessServiceImpl.java @@ -135,6 +135,10 @@ public class DataProcessServiceImpl implements IDataProcessService { key = TdEngineConstants.TDENGINE_KEY_TRANSFER_MAP.get(key) == null ? key : TdEngineConstants.TDENGINE_KEY_TRANSFER_MAP.get(key); + if (key.equalsIgnoreCase(TdEngineConstants.PAYLOAD_DEVICE_DATA_TYPE_TYPE)) { + continue; + } + if (value instanceof String) { String valueStr = (String) value; if (StringUtils.isNotBlank(valueStr)) { @@ -143,13 +147,23 @@ public class DataProcessServiceImpl implements IDataProcessService { */ String[] imagePatternArr = imagePatterns.split(","); String extension = ImageUtils.getImageType(valueStr, imagePatternArr); - if (StringUtils.isNotBlank(extension)) { + if (StringUtils.isNotBlank(extension) && valueStr.length() > 300) { //保存图片,并返回图片详细地址进行赋值保存 value = getImageFileName(imagePath, imageDomain, imagePrefix, valueStr, deviceId, extension); if (value == null) continue; } else if (dataType.equalsIgnoreCase(TdEngineConstants.PAYLOAD_DEVICE_DATA_TYPE_IMAGE)) { - if (ImageUtils.checkIsBase64(valueStr)) {//判断没有加前缀的情况 - value = getImageFileName(imagePath, imageDomain, imagePrefix, valueStr, deviceId, "jpg"); + if (ImageUtils.checkIsBase64(valueStr) && valueStr.length() > 300) {//判断没有加前缀的情况 + String type = dataValueJson.getString(TdEngineConstants.PAYLOAD_DEVICE_DATA_TYPE_TYPE); + if (type == null) { + type = dataValueJson.getString(TdEngineConstants.PAYLOAD_DEVICE_DATA_TYPE_TYPE_FIRSET_UPPER); + } + extension = "jpg"; + if (type != null) { + extension = StringUtils.isNotBlank(ImageUtils.getImageType(type, imagePatternArr)) + ? ImageUtils.getImageType(type, imagePatternArr) : extension; + System.out.println("extension: " + extension); + } + value = getImageFileName(imagePath, imageDomain, imagePrefix, valueStr, deviceId, extension); if (value == null) continue; } } diff --git a/ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/task/RyTask.java b/ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/task/RyTask.java index 325b053..4a16159 100644 --- a/ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/task/RyTask.java +++ b/ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/task/RyTask.java @@ -1,6 +1,7 @@ package com.ruoyi.job.task; import com.ruoyi.business.api.RemoteBusinessService; +import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.utils.StringUtils; import org.springframework.stereotype.Component; @@ -30,6 +31,6 @@ public class RyTask { public void computeOnlineDevicesCount(Integer days) { - this.remoteBusinessService.computeOnlineDevicecCount(days); + this.remoteBusinessService.computeOnlineDevicecCount(days, SecurityConstants.INNER); } }