From db070ecf27c6df1e9f7db15678d4eccab25ef39a Mon Sep 17 00:00:00 2001
From: kaiyu <404897439@qq.com>
Date: Thu, 29 Jul 2021 10:25:47 +0800
Subject: [PATCH] screen-api                 字典类型以及字典数据添加日志功能

---
 screen-api/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java |   70 +++++++++++++++++++++++++++++++++++
 1 files changed, 70 insertions(+), 0 deletions(-)

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 db46dc3..2995c31 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
@@ -1,10 +1,24 @@
 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.service.DeviceService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.moral.api.service.HistoryHourlyService;
+import com.moral.constant.Constants;
+import com.moral.constant.RedisConstants;
+import com.moral.util.DateUtils;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -17,4 +31,60 @@
 @Service
 public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> implements DeviceService {
 
+    @Autowired
+    DeviceMapper deviceMapper;
+
+    @Autowired
+    private RedisTemplate redisTemplate;
+
+    @Override
+    public List<Device> getDevicesByMonitorPointId(Integer monitorPointId) {
+        QueryWrapper<Device> wrapper = new QueryWrapper();
+        wrapper.eq("monitor_point_id",monitorPointId);
+        wrapper.eq("is_delete", Constants.NOT_DELETE);
+        List<Device> devices = deviceMapper.selectList(wrapper);
+        return devices;
+    }
+
+    @Override
+    public Map<String, Object> getSensorsByMac(String mac) {
+        //���redis���������������������������
+        Device device = (Device) redisTemplate.opsForHash().get(RedisConstants.DEVICE_INFO, mac);
+        List<Sensor> sensors = device.getVersion().getSensors();
+        Map<String, Object> result = new HashMap<>();
+        for (Sensor sensor : sensors) {
+            String sensorCode = sensor.getCode();
+            String name = sensor.getName();
+            result.put(sensorCode, name);
+        }
+        return result;
+    }
+
+    @Override
+    public List<Map<String, Object>> getTrendChartData(Map<String, Object> params) {
+        Object type = params.get("type");
+        String start = params.remove("time").toString();
+        String end;
+        String timeUnits;
+        String dateFormat;
+        if ("day".equals(type)) {
+            end = DateUtils.getDateAddDay(start, 1);
+            timeUnits = "hourly";
+            dateFormat = "%H";
+        } else if ("month".equals(type)) {
+            end = DateUtils.getDateAddMonth(start, 1);
+            timeUnits = "daily";
+            dateFormat = "%d";
+        } else {
+            end = DateUtils.getDateAddYear(start, 1);
+            timeUnits = "monthly";
+            dateFormat = "%m";
+        }
+        params.put("dateFormat", dateFormat);
+        params.put("timeUnits", timeUnits);
+        params.put("start", start);
+        params.put("end", end);
+        return deviceMapper.getTrendChartData(params);
+    }
+
 }

--
Gitblit v1.8.0