From be1daddc9ae9b475b7792d2f73be49c18c506f40 Mon Sep 17 00:00:00 2001 From: mh Date: Mon, 7 Apr 2025 18:01:18 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E7=AD=96=E7=95=A5=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E3=80=81=E8=AE=BE=E5=A4=87=E6=93=8D=E4=BD=9C=E4=BC=98=E5=8C=96?= =?UTF-8?q?=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/device/CollectionParamsManageMapper.java | 1 + .../device/impl/CollectionParamsManageServiceImpl.java | 8 ++++++-- .../operation/impl/OperationDeviceServiceImpl.java | 7 +++++++ .../service/policy/impl/PolicyManageServiceImpl.java | 8 ++++++++ 4 files changed, 22 insertions(+), 2 deletions(-) diff --git a/mh-system/src/main/java/com/mh/system/mapper/device/CollectionParamsManageMapper.java b/mh-system/src/main/java/com/mh/system/mapper/device/CollectionParamsManageMapper.java index 5c39198..44757ff 100644 --- a/mh-system/src/main/java/com/mh/system/mapper/device/CollectionParamsManageMapper.java +++ b/mh-system/src/main/java/com/mh/system/mapper/device/CollectionParamsManageMapper.java @@ -182,6 +182,7 @@ public interface CollectionParamsManageMapper extends BaseMapper selectBySystemType(@Param("systemType") String systemType); diff --git a/mh-system/src/main/java/com/mh/system/service/device/impl/CollectionParamsManageServiceImpl.java b/mh-system/src/main/java/com/mh/system/service/device/impl/CollectionParamsManageServiceImpl.java index 9d49e9a..27a42f7 100644 --- a/mh-system/src/main/java/com/mh/system/service/device/impl/CollectionParamsManageServiceImpl.java +++ b/mh-system/src/main/java/com/mh/system/service/device/impl/CollectionParamsManageServiceImpl.java @@ -154,13 +154,17 @@ public class CollectionParamsManageServiceImpl implements ICollectionParamsManag // 批量更新 chillersEntities.forEach(chillerEntity -> { log.info("chillerEntity: {}", chillerEntity.toString()); - collectionParamsManageMapper.updateById(chillerEntity); + if (chillerEntity.getId()!= null && !StringUtils.isEmpty(chillerEntity.getId())) { + collectionParamsManageMapper.updateById(chillerEntity); + } }); // 根据台账id更新台账在线情况 // 根据chillerEntity使用stream流获取台账id分组数据 chillersEntities.stream().map(CollectionParamsManage::getDeviceLedgerId).distinct().forEach(deviceLedgerId -> { // 根据台账id 更新 device_ledger 在线情况,0:在线,1:离线 - deviceLedgerMapper.updateOnlineStatus(deviceLedgerId); + if (!StringUtils.isEmpty(deviceLedgerId)) { + deviceLedgerMapper.updateOnlineStatus(deviceLedgerId); + } }); // 根据网关id更新网关在线情况 chillersEntities.stream().map(CollectionParamsManage::getGatewayId).distinct().forEach(gatewayId -> { diff --git a/mh-system/src/main/java/com/mh/system/service/operation/impl/OperationDeviceServiceImpl.java b/mh-system/src/main/java/com/mh/system/service/operation/impl/OperationDeviceServiceImpl.java index 8299886..538250c 100644 --- a/mh-system/src/main/java/com/mh/system/service/operation/impl/OperationDeviceServiceImpl.java +++ b/mh-system/src/main/java/com/mh/system/service/operation/impl/OperationDeviceServiceImpl.java @@ -14,6 +14,7 @@ import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; @@ -56,6 +57,12 @@ public class OperationDeviceServiceImpl implements IOperationDeviceService { String message = changeValue.getParam(); // 获取报文类型 Integer type = changeValue.getType(); + if (type != null) { + if (type == 1) { + // 设置延时开关时间,参数需要*1000 + message = new BigDecimal(message).multiply(new BigDecimal("1000")).toString(); + } + } // 获取报文其他信息 String otherName = changeValue.getOtherName(); if (StringUtils.isEmpty(otherName)) { diff --git a/mh-system/src/main/java/com/mh/system/service/policy/impl/PolicyManageServiceImpl.java b/mh-system/src/main/java/com/mh/system/service/policy/impl/PolicyManageServiceImpl.java index d6fe0b3..3a31bcc 100644 --- a/mh-system/src/main/java/com/mh/system/service/policy/impl/PolicyManageServiceImpl.java +++ b/mh-system/src/main/java/com/mh/system/service/policy/impl/PolicyManageServiceImpl.java @@ -7,6 +7,7 @@ import com.mh.system.mapper.policy.PolicyManageMapper; import com.mh.system.service.policy.IPolicyManageService; import org.springframework.stereotype.Service; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.Comparator; import java.util.List; @@ -40,6 +41,13 @@ public class PolicyManageServiceImpl implements IPolicyManageService { Map> listMap = policyManages.stream() // 先按PolicyType排序 .sorted(Comparator.comparing(PolicyManage::getPolicyType)) + // 处理每个PolicyManage对象的curValue字段 + .peek(policy -> { + if (funPolicyType.equals("2")) { + policy.setCurValue(BigDecimal.valueOf(policy.getCurValue() + .divide(new BigDecimal(1000)).intValue())); // 除以1000并保留整数 + } + }) // 再按PolicyName分组 .collect(Collectors.groupingBy(PolicyManage::getPolicyName, Collectors.toList())); // 在遍历赋值给DeviceMonitorDTO,key给name,value给list