From ac8bf95409ef0fe471e0fc195b2af1f36daf6676 Mon Sep 17 00:00:00 2001
From: cjl <276999030@qq.com>
Date: Mon, 21 Aug 2023 17:37:51 +0800
Subject: [PATCH] fix:部分配置修改

---
 screen-api/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java              |    9 +++++++++
 screen-api/src/main/java/com/moral/api/service/impl/HistoryFiveMinutelyServiceImpl.java |   19 +++++++++++++++++--
 screen-api/src/main/java/com/moral/api/service/DeviceService.java                       |    2 ++
 screen-manage/src/main/java/com/moral/api/kafka/consumer/DeviceConsumer.java            |    2 ++
 screen-api/src/main/java/com/moral/api/mapper/DeviceMapper.java                         |    3 +++
 screen-api/src/main/resources/mapper/DeviceMapper.xml                                   |   19 +++++++++++++++++++
 6 files changed, 52 insertions(+), 2 deletions(-)

diff --git a/screen-api/src/main/java/com/moral/api/mapper/DeviceMapper.java b/screen-api/src/main/java/com/moral/api/mapper/DeviceMapper.java
index 589c2e8..a40f6ba 100644
--- a/screen-api/src/main/java/com/moral/api/mapper/DeviceMapper.java
+++ b/screen-api/src/main/java/com/moral/api/mapper/DeviceMapper.java
@@ -5,6 +5,7 @@
 
 import com.moral.api.entity.Device;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import io.lettuce.core.dynamic.annotation.Param;
 
 /**
  * <p>
@@ -19,4 +20,6 @@
     /*���������������������������*/
     List<Map<String, Object>> getTrendChartData(Map<String, Object> params);
 
+    List<Device> deviceList(@Param("organizationId") int organizationId,@Param("regionCode")  int regionCode,@Param("region")  String region);
+
 }
diff --git a/screen-api/src/main/java/com/moral/api/service/DeviceService.java b/screen-api/src/main/java/com/moral/api/service/DeviceService.java
index d47bc2b..923d79b 100644
--- a/screen-api/src/main/java/com/moral/api/service/DeviceService.java
+++ b/screen-api/src/main/java/com/moral/api/service/DeviceService.java
@@ -19,6 +19,8 @@
     //������������id������������������
     List<Device> getDevicesByMonitorPointId(Integer monitorPointId);
 
+    List<Device> getDevicesByMonitorPointId(List<Integer> monitorPointId);
+
     //������macs������������������������
     Map<String, Object> getSensorsByMac(Map<String,Object> params);
 
diff --git a/screen-api/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java
index d77376b..005d4ca 100644
--- a/screen-api/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java
+++ b/screen-api/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java
@@ -71,6 +71,15 @@
     }
 
     @Override
+    public List<Device> getDevicesByMonitorPointId(List<Integer> monitorPointId) {
+        QueryWrapper<Device> wrapper = new QueryWrapper();
+        wrapper.in("monitor_point_id", monitorPointId);
+        wrapper.eq("is_delete", Constants.NOT_DELETE);
+        wrapper.orderByAsc("dev_num");
+        return deviceMapper.selectList(wrapper);
+    }
+
+    @Override
     public Map<String, Object> getSensorsByMac(Map<String, Object> params) {
         List<String> sensorCodes = Arrays.asList(Constants.SENSOR_CODE_PM25
                 , Constants.SENSOR_CODE_PM10
diff --git a/screen-api/src/main/java/com/moral/api/service/impl/HistoryFiveMinutelyServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/HistoryFiveMinutelyServiceImpl.java
index c7379dc..5a43e82 100644
--- a/screen-api/src/main/java/com/moral/api/service/impl/HistoryFiveMinutelyServiceImpl.java
+++ b/screen-api/src/main/java/com/moral/api/service/impl/HistoryFiveMinutelyServiceImpl.java
@@ -5,6 +5,7 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.moral.api.config.mybatis.MybatisPlusConfig;
 import com.moral.api.entity.*;
+import com.moral.api.mapper.DeviceMapper;
 import com.moral.api.mapper.HistoryFiveMinutelyMapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.moral.api.mapper.HistoryHourlyMapper;
@@ -21,6 +22,7 @@
 import com.moral.constant.SeparateTableType;
 import com.moral.util.DateUtils;
 import com.moral.util.MybatisPLUSUtils;
+import com.moral.util.RegionCodeUtils;
 import io.lettuce.core.GeoCoordinates;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -53,6 +55,8 @@
     HistoryHourlyMapper historyHourlyMapper;
     @Autowired
     DeviceService deviceService;
+    @Autowired
+    DeviceMapper deviceMapper;
 
     @Override
     public List<DeviceAndFiveMinuteDataDTO> queryDeviceAndFiveMinuteData(QueryDeviceAndFiveMinuteDataForm form) {
@@ -60,8 +64,16 @@
         Integer organizationId = form.getOrganizationId();
         Integer regionCode = form.getRegionCode();
         String sensorCode = form.getSensorCode();
+        Map<String, Object> params = new HashMap<>();
+        String region = null;
+        if (regionCode != null && organizationId!=24) {
+            region = RegionCodeUtils.regionCodeConvertToName(regionCode);
+            params.put("region",region);
+            params.put("regionCode",regionCode);
+        }
+        params.put("organizationId",organizationId);
         //���������������������������������������������������
-        List<MonitorPoint> monitorPoints = monitorPointService.queryByOrgIdAndRegionCode(new MonitorPointQueryForm(organizationId, regionCode));
+        /*List<MonitorPoint> monitorPoints = monitorPointService.queryByOrgIdAndRegionCode(new MonitorPointQueryForm(organizationId, regionCode));
         List<Device> devices = new ArrayList<>();
         for (MonitorPoint monitorPoint : monitorPoints) {
             List<Device> monitorPointDevices = monitorPoint.getDevices();
@@ -73,8 +85,9 @@
                 }
             }
 
-        }
+        }*/
         //���������������������������������
+        List<Device> devices = deviceMapper.deviceList(organizationId,regionCode,region);
         List<DeviceAndFiveMinuteDataDTO> dtos = new ArrayList<>();
         if (form.getChooseTime().equals("true")) {
             String time = form.getTime();
@@ -96,10 +109,12 @@
             }
             return dtos;
         }
+        //List<Map<String, Object>> sensorValuess = (List<Map<String, Object>>) redisTemplate.opsForValue().multiGet(Arrays.asList("data_five_minutes:p5dnd7a0245400","data_five_minutes:p5dnd7a0245412"));
         for (Device device : devices) {
             DeviceAndFiveMinuteDataDTO dto = new DeviceAndFiveMinuteDataDTO();
             String mac = device.getMac();
             Map<String, Object> sensorValues = queryLastDataByMac(mac);
+
             String dbDataStr = JSON.toJSONString(sensorValues);
             sensorValues = JSON.parseObject(dbDataStr, HashMap.class);
             Map<String, Object> sensorValue = new HashMap<>();
diff --git a/screen-api/src/main/resources/mapper/DeviceMapper.xml b/screen-api/src/main/resources/mapper/DeviceMapper.xml
index 04fd460..5f47265 100644
--- a/screen-api/src/main/resources/mapper/DeviceMapper.xml
+++ b/screen-api/src/main/resources/mapper/DeviceMapper.xml
@@ -43,4 +43,23 @@
         AND `time` <![CDATA[<]]> #{end}
         ORDER BY `time`
     </select>
+    <select id="deviceList" resultMap="BaseResultMap">
+        SELECT
+            t.latitude,
+            t.longitude,
+            t.mac,
+            t.state
+        FROM
+            device t
+                inner JOIN monitor_point p on p.id = t.monitor_point_id and p.is_delete = 0
+                and p.organization_id in (
+                    SELECT t1.id FROM organization t1
+                    where t1.id = #{organizationId} or t1.parent_id = #{organizationId})
+        <if test="region != null">
+            and ${region} = #{regionCode}
+        </if>
+        WHERE
+            t.state <![CDATA[ <> ]]> '0'  and t.is_delete = 0
+        order by t.id desc
+    </select>
 </mapper>
\ No newline at end of file
diff --git a/screen-manage/src/main/java/com/moral/api/kafka/consumer/DeviceConsumer.java b/screen-manage/src/main/java/com/moral/api/kafka/consumer/DeviceConsumer.java
index c21f1fb..59d9c08 100644
--- a/screen-manage/src/main/java/com/moral/api/kafka/consumer/DeviceConsumer.java
+++ b/screen-manage/src/main/java/com/moral/api/kafka/consumer/DeviceConsumer.java
@@ -1,3 +1,4 @@
+/*
 package com.moral.api.kafka.consumer;
 
 import com.moral.api.service.*;
@@ -200,3 +201,4 @@
         }
     }
 }
+*/

--
Gitblit v1.8.0