From b27f44ceb40924fb0f2c4630aa21ea29aa1e741f Mon Sep 17 00:00:00 2001 From: "review512jwy@163.com" <“review512jwy@163.com”> Date: Wed, 17 Dec 2025 15:55:58 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E7=B1=BB=E5=9E=8B=E6=94=B9ca?= =?UTF-8?q?tegory=E5=88=A4=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../datacenter/sender/dao/DeviceDao.java | 2 + .../datacenter/sender/dto/DeviceInfoVO.java | 2 + .../sender/entitiy/DynamodbEntity.java | 2 + .../service/impl/DataProcessServiceImpl.java | 68 +++++++++++++------ src/main/resources/application-dev.properties | 11 +++ src/main/resources/application-prd.properties | 11 +++ 6 files changed, 74 insertions(+), 22 deletions(-) diff --git a/src/main/java/com/techsor/datacenter/sender/dao/DeviceDao.java b/src/main/java/com/techsor/datacenter/sender/dao/DeviceDao.java index 942ad81..1fbcacb 100644 --- a/src/main/java/com/techsor/datacenter/sender/dao/DeviceDao.java +++ b/src/main/java/com/techsor/datacenter/sender/dao/DeviceDao.java @@ -248,6 +248,7 @@ public class DeviceDao { + " bbuilding.retain_alert retainAlert,\r\n" + " basset.equipment_id assetId,\r\n" + " basset.name assetName,\r\n" + + " ty.device_category_id categoryId,\r\n" + " dct.category_name_en category\r\n" + "FROM\r\n" + " device_info dinfo\r\n" @@ -273,6 +274,7 @@ public class DeviceDao { item.setCategory(rs.getString("category")); item.setMonitoringPointName(rs.getString("monitoringPointName")); item.setRetainAlert(rs.getInt("retainAlert")); + item.setCategoryId(rs.getLong("categoryId")); return item; }); return dataList; diff --git a/src/main/java/com/techsor/datacenter/sender/dto/DeviceInfoVO.java b/src/main/java/com/techsor/datacenter/sender/dto/DeviceInfoVO.java index efa1b09..838521c 100644 --- a/src/main/java/com/techsor/datacenter/sender/dto/DeviceInfoVO.java +++ b/src/main/java/com/techsor/datacenter/sender/dto/DeviceInfoVO.java @@ -51,4 +51,6 @@ public class DeviceInfoVO implements Serializable { private Integer retainAlert; + private Long categoryId; + } diff --git a/src/main/java/com/techsor/datacenter/sender/entitiy/DynamodbEntity.java b/src/main/java/com/techsor/datacenter/sender/entitiy/DynamodbEntity.java index e20b7f7..f48aff4 100644 --- a/src/main/java/com/techsor/datacenter/sender/entitiy/DynamodbEntity.java +++ b/src/main/java/com/techsor/datacenter/sender/entitiy/DynamodbEntity.java @@ -137,4 +137,6 @@ public class DynamodbEntity implements Serializable { private Integer typeId; + private Long categoryId; + } diff --git a/src/main/java/com/techsor/datacenter/sender/service/impl/DataProcessServiceImpl.java b/src/main/java/com/techsor/datacenter/sender/service/impl/DataProcessServiceImpl.java index 7afc119..620f846 100644 --- a/src/main/java/com/techsor/datacenter/sender/service/impl/DataProcessServiceImpl.java +++ b/src/main/java/com/techsor/datacenter/sender/service/impl/DataProcessServiceImpl.java @@ -94,30 +94,49 @@ public class DataProcessServiceImpl implements IDataProcessService { // @Qualifier("sysMqttClient") // private MqttClient sysMqttClient; - @Value("${category.alarm.deviceTypeIds}") - private List alarmTypeIds; +// @Value("${category.alarm.deviceTypeIds}") +// private List alarmTypeIds; +// +// @Value("${category.measure.deviceTypeIds}") +// private List measureTypeIds; +// +// @Value("${category.accumulate.deviceTypeIds}") +// private List accumulateTypeIds; +// +// @Value("${category.status.deviceTypeIds}") +// private List statusTypeIds; +// + @Value("${category.temperature-humidity.deviceTypeIds}") + private List temperatureHumidityTypeIds; +// +// // 所有设备类型ID集合 +// public static final List ALL_DEVICE_TYPE_IDS = new ArrayList<>(); - @Value("${category.measure.deviceTypeIds}") - private List measureTypeIds; + @Value("${category.id.alarm}") + private List categoryIdAlarm; - @Value("${category.accumulate.deviceTypeIds}") - private List accumulateTypeIds; + @Value("${category.id.measure}") + private List categoryIdMeasure; - @Value("${category.status.deviceTypeIds}") - private List statusTypeIds; + @Value("${category.id.accumulate}") + private List categoryIdAccumulate; - @Value("${category.temperature-humidity.deviceTypeIds}") - private List temperatureHumidityTypeIds; + @Value("${category.id.status}") + private List categoryIdStatus; // 所有设备类型ID集合 - public static final List ALL_DEVICE_TYPE_IDS = new ArrayList<>(); + public static final List ALL_CATEGORY_ID = new ArrayList<>(); @PostConstruct public void init() { - ALL_DEVICE_TYPE_IDS.addAll(alarmTypeIds); - ALL_DEVICE_TYPE_IDS.addAll(measureTypeIds); - ALL_DEVICE_TYPE_IDS.addAll(accumulateTypeIds); - ALL_DEVICE_TYPE_IDS.addAll(statusTypeIds); +// ALL_DEVICE_TYPE_IDS.addAll(alarmTypeIds); +// ALL_DEVICE_TYPE_IDS.addAll(measureTypeIds); +// ALL_DEVICE_TYPE_IDS.addAll(accumulateTypeIds); +// ALL_DEVICE_TYPE_IDS.addAll(statusTypeIds); + ALL_CATEGORY_ID.addAll(categoryIdAlarm); + ALL_CATEGORY_ID.addAll(categoryIdMeasure); + ALL_CATEGORY_ID.addAll(categoryIdAccumulate); + ALL_CATEGORY_ID.addAll(categoryIdStatus); } private static final String REDIS_DASHBOARD_DEVICE_STATUS_KEY = "dashboard_device_status"; @@ -619,6 +638,9 @@ public class DataProcessServiceImpl implements IDataProcessService { if (deviceInfoVO.getRetainAlert()!=null){ baseTransDataEntity.setRetainAlert(deviceInfoVO.getRetainAlert()); } + if (deviceInfoVO.getCategoryId()!=null){ + baseTransDataEntity.setCategoryId(deviceInfoVO.getCategoryId()); + } } baseTransDataEntity.setHashId(UUID.randomUUID()); @@ -690,11 +712,13 @@ public class DataProcessServiceImpl implements IDataProcessService { } } else { String uploadValue = uploadValueList.get(0);//这里只取第一个元素 - if (accumulateTypeIds.contains(baseTransDataEntity.getTypeId())) { - storageAccumulate(DeviceAttrCode.COMMON, uploadValue, baseTransDataEntity); - } - if (measureTypeIds.contains(baseTransDataEntity.getTypeId())) { - storageMeasure(DeviceAttrCode.COMMON, uploadValue, baseTransDataEntity); + if (baseTransDataEntity.getDeviceId().endsWith("_85")){ + if (categoryIdAccumulate.contains(baseTransDataEntity.getCategoryId())) { + storageAccumulate(DeviceAttrCode.COMMON, uploadValue, baseTransDataEntity); + } + if (categoryIdMeasure.contains(baseTransDataEntity.getCategoryId())) { + storageMeasure(DeviceAttrCode.COMMON, uploadValue, baseTransDataEntity); + } } } } @@ -854,7 +878,7 @@ public class DataProcessServiceImpl implements IDataProcessService { private void handleDashboardAlert(DynamodbEntity baseTransDataEntity) { - if (!ALL_DEVICE_TYPE_IDS.contains(baseTransDataEntity.getTypeId())) { + if (!ALL_CATEGORY_ID.contains(baseTransDataEntity.getCategoryId())) { return; } @@ -873,7 +897,7 @@ public class DataProcessServiceImpl implements IDataProcessService { } //告警历史处理 - if (alarmTypeIds.contains(baseTransDataEntity.getTypeId())) { + if (categoryIdAlarm.contains(baseTransDataEntity.getCategoryId())) { String status = baseTransDataEntity.getStatus(); if (null == redisOldStatusObj) { if ("alert".equals(status)) { diff --git a/src/main/resources/application-dev.properties b/src/main/resources/application-dev.properties index af9be54..ad9cee6 100644 --- a/src/main/resources/application-dev.properties +++ b/src/main/resources/application-dev.properties @@ -99,6 +99,17 @@ category.status.deviceTypeIds=86,113,123 # 温湿度设备类型ID category.temperature-humidity.deviceTypeIds=888888 + +# 报警类设备类型ID +category.id.alarm=1001 +# 计测类设备类型ID +category.id.measure=1003 +# 累积类设备类型ID +category.id.accumulate=1002 +# 状态类设备类型ID +category.id.status=1004 + + data.operation.batch-size=${dataOperationBatchSize:100} sys.mqtt.endpoint=${sysMqttEndpoint:mqtt-stg.kr-sensor.net} diff --git a/src/main/resources/application-prd.properties b/src/main/resources/application-prd.properties index b5da926..5bd94c4 100644 --- a/src/main/resources/application-prd.properties +++ b/src/main/resources/application-prd.properties @@ -93,6 +93,17 @@ category.status.deviceTypeIds=86,113,123 # 温湿度设备类型ID category.temperature-humidity.deviceTypeIds=888888 + +# 报警类设备类型ID +category.id.alarm=1001 +# 计测类设备类型ID +category.id.measure=1003 +# 累积类设备类型ID +category.id.accumulate=1002 +# 状态类设备类型ID +category.id.status=1004 + + data.operation.batch-size=${dataOperationBatchSize:100} sys.mqtt.endpoint=${sysMqttEndpoint:mqtt-stg.kr-sensor.net}