From 7c294a1196b97d633dcaec60428805ca0fb82824 Mon Sep 17 00:00:00 2001 From: 25604 Date: Fri, 24 Oct 2025 17:42:28 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E6=B7=BB=E5=8A=A0=E5=BD=93=E6=B0=B4?= =?UTF-8?q?=E4=BD=8D=E7=9B=91=E6=B5=8B=E5=8E=8B=E5=8F=98=E7=A6=BB=E7=BA=BF?= =?UTF-8?q?=E6=97=B6=EF=BC=8C=E7=9B=91=E6=B5=8B=E7=95=8C=E9=9D=A2=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E7=A6=BB=E7=BA=BF=EF=BC=8C=E4=B8=8D=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E6=9C=80=E8=BF=91=E6=B6=B2=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mh/user/mapper/DeviceInstallMapper.java | 4 ++ .../user/service/impl/NowDataServiceImpl.java | 45 ++++++++++++++++--- 2 files changed, 42 insertions(+), 7 deletions(-) diff --git a/user-service/src/main/java/com/mh/user/mapper/DeviceInstallMapper.java b/user-service/src/main/java/com/mh/user/mapper/DeviceInstallMapper.java index b117611..0704742 100644 --- a/user-service/src/main/java/com/mh/user/mapper/DeviceInstallMapper.java +++ b/user-service/src/main/java/com/mh/user/mapper/DeviceInstallMapper.java @@ -350,4 +350,8 @@ public interface DeviceInstallMapper extends BaseMapper { " and device_addr = #{pumpId} ") String selectSinglePumpId(@Param("buildingId") String buildingId, @Param("pumpId") String pumpId); + + @ResultMap("rs") + @Select("select * from device_install where building_id = #{buildingId} and device_type = #{deviceType} ") + List selectOfflineDevice(String buildingId, String deviceType); } diff --git a/user-service/src/main/java/com/mh/user/service/impl/NowDataServiceImpl.java b/user-service/src/main/java/com/mh/user/service/impl/NowDataServiceImpl.java index b63e336..68b802a 100644 --- a/user-service/src/main/java/com/mh/user/service/impl/NowDataServiceImpl.java +++ b/user-service/src/main/java/com/mh/user/service/impl/NowDataServiceImpl.java @@ -1,17 +1,17 @@ package com.mh.user.service.impl; import com.mh.common.utils.StringUtils; +import com.mh.user.constants.Constant; import com.mh.user.entity.*; -import com.mh.user.mapper.DeviceFloorMapper; -import com.mh.user.mapper.DeviceInstallMapper; -import com.mh.user.mapper.NowDataMapper; -import com.mh.user.mapper.NowPublicDataMapper; +import com.mh.user.mapper.*; import com.mh.user.model.DeviceModel; import com.mh.user.model.PumpModel; import com.mh.user.model.WaterLevelModel; import com.mh.user.service.BuildingService; +import com.mh.user.service.DealDataService; import com.mh.user.service.DeviceInstallService; import com.mh.user.service.NowDataService; +import com.mh.user.utils.DateUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -46,9 +46,14 @@ public class NowDataServiceImpl implements NowDataService { @Autowired BuildingService buildingService; + @Autowired + DealDataService dealDataService; + ReentrantLock lockA = new ReentrantLock(); ReentrantLock lockB = new ReentrantLock(); + @Autowired + private AreaMapper areaMapper; @Override public void saveNowData(NowDataEntity nowDataEntity) { @@ -169,7 +174,11 @@ public class NowDataServiceImpl implements NowDataService { DeviceInstallEntity deviceInstallEntity=deviceInstallMapper.selectDevice(deviceAddr,deviceType,buildingId); String buildingName=buildingService.queryBuildingName(buildingId); data.setBuildingName(buildingName); - if (deviceType.equals("温控")) { + // 获取项目名称 + String name = dealDataService.customName(); + if (deviceType.equals("温控") + && !name.contains(Constant.CUSTOM_NAME_HUAXIA) + && !name.contains(Constant.CUSTOM_NAME_HUARUAN) ) { //为了兼容旧系统,旧系统热泵信息保存在楼面表,从楼面表获取热泵资料 PumpModel pump=deviceFloorMapper.selectDeviceId2("热泵",buildingId); String pumpId="1"; @@ -343,12 +352,34 @@ public class NowDataServiceImpl implements NowDataService { public List queryNowData(String buildingId) { nowDataMapper.updateTempSet(buildingId); nowDataMapper.updateLevelSet(buildingId); - return nowDataMapper.queryNowData(buildingId); + List nowDataEntities = nowDataMapper.queryNowData(buildingId); + List list = deviceInstallMapper.selectOfflineDevice(buildingId, "压变"); + if (list != null && list.size() > 0) { + for (DeviceInstallEntity deviceInstallEntity : list) { + if (!DateUtil.isToday(deviceInstallEntity.getLastDate())) { + // 使用stream流nowDataEntities,批量更新waterLevel="离线" + nowDataEntities.stream() + .filter(nowDataEntity -> buildingId.equals(nowDataEntity.getBuildingId())) + .forEach(nowDataEntity -> nowDataEntity.setWaterLevel("离线")); + } + } + } + return nowDataEntities; } @Override public NowDataEntity queryNowDataByPump(String buildingId,String pumpId) { - return nowDataMapper.queryNowDataByPump(buildingId,pumpId); + // 查询当前楼栋离线的设备 + List list = deviceInstallMapper.selectOfflineDevice(buildingId, "压变"); + NowDataEntity nowDataEntity = nowDataMapper.queryNowDataByPump(buildingId, pumpId); + if (list != null && list.size() > 0) { + for (DeviceInstallEntity deviceInstallEntity : list) { + if (!DateUtil.isToday(deviceInstallEntity.getLastDate())) { + nowDataEntity.setWaterLevel("离线"); + } + } + } + return nowDataEntity; } @Override