From 2c86b47f500aa16ce7c142361fe4c3ffab45c1f6 Mon Sep 17 00:00:00 2001 From: chen_xi <276999030@qq.com> Date: Thu, 27 Oct 2022 11:30:03 +0800 Subject: [PATCH] 监控站点数据、监测因子趋势、监测因子对比 --- screen-api/src/main/java/com/moral/api/service/impl/SensorServiceImpl.java | 25 +++++++++++++++++++++++++ 1 files changed, 25 insertions(+), 0 deletions(-) diff --git a/screen-api/src/main/java/com/moral/api/service/impl/SensorServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/SensorServiceImpl.java index 9296113..b84f149 100644 --- a/screen-api/src/main/java/com/moral/api/service/impl/SensorServiceImpl.java +++ b/screen-api/src/main/java/com/moral/api/service/impl/SensorServiceImpl.java @@ -1,7 +1,9 @@ package com.moral.api.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.moral.api.entity.Device; import com.moral.api.entity.Sensor; +import com.moral.api.mapper.DeviceMapper; import com.moral.api.mapper.SensorMapper; import com.moral.api.service.SensorService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -10,6 +12,11 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * <p> @@ -27,6 +34,9 @@ @Autowired RedisTemplate redisTemplate; + @Autowired + private DeviceMapper deviceMapper; + @Override public Sensor getSensorByCode(String code) { Sensor sensor = (Sensor) redisTemplate.opsForHash().get(RedisConstants.SENSOR_KEY, code); @@ -35,6 +45,21 @@ return sensor; } + @Override + public List<Map<String, Object>> getSensorsByMonitorPointIds(Map map) { + String monitorPointIdsStr = map.get("monitorPointIds").toString(); + String[] monitorPointIdsArr = monitorPointIdsStr.split(","); + List<String> monitorPointIdsList = Arrays.asList(monitorPointIdsArr); + QueryWrapper<Device> deviceQueryWrapper = new QueryWrapper<>(); + deviceQueryWrapper.eq("is_delete", Constants.NOT_DELETE); + deviceQueryWrapper.in("monitor_point_id", monitorPointIdsList); + List<Device> devices = deviceMapper.selectList(deviceQueryWrapper); + List<Integer> versionIds = devices.stream().map(Device::getDeviceVersionId).collect(Collectors.toList()); + versionIds = versionIds.stream().distinct().collect(Collectors.toList()); + List<Map<String, Object>> sensors = sensorMapper.getSensorByVersionIds(versionIds); + return sensors; + } + private Sensor getSensorByCodeFromDb(String code) { QueryWrapper<Sensor> wrapper = new QueryWrapper<>(); -- Gitblit v1.8.0