From 7c947aac20e48860cd2d351d786e3ebac5da6044 Mon Sep 17 00:00:00 2001 From: elkers <elkers@163.com> Date: 星期五, 18 四月 2025 14:25:42 +0800 Subject: [PATCH] 修改mqtt数据 --- src/main/java/com/nanjing/water/service/WaterFacilityParameterService.java | 60 ++++++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 40 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/nanjing/water/service/WaterFacilityParameterService.java b/src/main/java/com/nanjing/water/service/WaterFacilityParameterService.java index 1b456dd..4af343f 100644 --- a/src/main/java/com/nanjing/water/service/WaterFacilityParameterService.java +++ b/src/main/java/com/nanjing/water/service/WaterFacilityParameterService.java @@ -35,9 +35,12 @@ import com.nanjing.water.repository.impl.WaterMonitoryPointMapperImpl; import com.nanjing.water.repository.po.WaterFacilityPO; import com.nanjing.water.repository.po.WaterFacilityParameterPO; +import com.nanjing.water.repository.vo.FacilityParameterDataVO; import com.nanjing.water.repository.vo.WaterFacilityParameterVO; import com.nanjing.water.repository.vo.WaterFacilityVO; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Service; import java.math.BigDecimal; @@ -45,6 +48,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Objects; +import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; /** @@ -59,6 +63,8 @@ private WaterFacilityMapperImpl waterFacilityMapper; @Autowired private WaterMonitoryPointMapperImpl waterMonitoryPointMapper; + @Autowired + private StringRedisTemplate redisTemplate; public ExecutedResult<String> create(ReqAddParameter request) { WaterFacilityPO facilityPO = waterFacilityMapper.get(request.getFacilityId()); @@ -66,28 +72,31 @@ return ExecutedResult.failed("所属设备[id=" + request.getFacilityId() + "]不存在。"); } List<WaterFacilityParameterPO> list = mapper.getListByFacilityId(request.getFacilityId()); - List<Long> ids = new ArrayList<Long>(); - if (ListUtil.isNotNullOrEmpty(list)) { - list.forEach(x -> { - ids.add(x.getId()); - }); - } - if (ListUtil.isNotNullOrEmpty(ids)) { - mapper.remove(ids); - } +// List<Long> ids = new ArrayList<Long>(); +// if (ListUtil.isNotNullOrEmpty(list)) { +// list.forEach(x -> { +// ids.add(x.getId()); +// }); +// } +// if (ListUtil.isNotNullOrEmpty(ids)) { +// mapper.remove(ids); +// } if (ListUtil.isNotNullOrEmpty(request.getParameterList())) { for (ReqCreateWaterFacilityParameter x : request.getParameterList()) { - WaterFacilityParameterPO item = new WaterFacilityParameterPO(); - item.setId(SnowFlakeUtil.getId()); - item.setFacilityId(facilityPO.getId()); - item.setFacilityCode(facilityPO.getFacilityCode()); - item.setCreateTime(LocalDateTimeUtil.nowTimeStamp()); - item.setColumnsUnits(x.getColumnsUnits()); - item.setColumnsCode(x.getColumnsCode()); - item.setColumnsShow(x.getColumnsShow()); - item.setColumnValue(""); - item.setLastTime(""); - this.mapper.insert(item); + WaterFacilityParameterPO parameterPO = list.stream().filter(item -> item.getFacilityId().equals(request.getFacilityId()) && item.getColumnsCode().equals(x.getColumnsCode())).findFirst().orElse(null); + if(Objects.isNull(parameterPO)){ + WaterFacilityParameterPO item = new WaterFacilityParameterPO(); + item.setId(SnowFlakeUtil.getId()); + item.setFacilityId(facilityPO.getId()); + item.setFacilityCode(facilityPO.getFacilityCode()); + item.setCreateTime(LocalDateTimeUtil.nowTimeStamp()); + item.setColumnsUnits(x.getColumnsUnits()); + item.setColumnsCode(x.getColumnsCode()); + item.setColumnsShow(x.getColumnsShow()); + item.setColumnValue(""); + item.setLastTime(""); + this.mapper.insert(item); + } } } return ExecutedResult.success("添加成功"); @@ -119,6 +128,17 @@ return ExecutedResult.success(result); } + /** + * + * @return + */ + public ExecutedResult<String> getNewDataPump(){ + //获取所有泵房启泵次数 + List<FacilityParameterDataVO> listNewPump = mapper.getListNewPump(); + redisTemplate.opsForValue().set("pump_start_number",SerializeUtil.toJson(listNewPump)); + redisTemplate.expire("pump_start_number",24,TimeUnit.HOURS); + return ExecutedResult.success(); + } public ExecutedResult<List<WaterFacilityParameterPO>> getListByFacilityId(Long facilityId) { List<WaterFacilityParameterPO> list = new ArrayList<>(); LambdaQueryWrapper<WaterFacilityParameterPO> wrapper = new LambdaQueryWrapper<>(); -- Gitblit v1.9.3