From c0c80bebcc93e90834e06404d6056322e51b02dd Mon Sep 17 00:00:00 2001
From: cjl <276999030@qq.com>
Date: Tue, 26 Sep 2023 19:23:00 +0800
Subject: [PATCH] feat:补充提交

---
 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