From dad9ebf1e6bfd86e7d4ce9cb976a8f24422c4cf7 Mon Sep 17 00:00:00 2001
From: lizijie <lzjiiie@163.com>
Date: Tue, 28 Dec 2021 15:30:55 +0800
Subject: [PATCH] 获取设备一天24小时平均值、最小值、最大值接口
---
screen-api/src/main/java/com/moral/api/service/impl/HistoryHourlyServiceImpl.java | 39 +++++++++++++++++++
screen-api/src/main/java/com/moral/api/controller/HistoryHourlyController.java | 29 ++++++++++++++
screen-api/src/main/java/com/moral/api/service/HistoryHourlyService.java | 9 ++++
3 files changed, 77 insertions(+), 0 deletions(-)
diff --git a/screen-api/src/main/java/com/moral/api/controller/HistoryHourlyController.java b/screen-api/src/main/java/com/moral/api/controller/HistoryHourlyController.java
index d10d3b1..bf34467 100644
--- a/screen-api/src/main/java/com/moral/api/controller/HistoryHourlyController.java
+++ b/screen-api/src/main/java/com/moral/api/controller/HistoryHourlyController.java
@@ -1,10 +1,14 @@
package com.moral.api.controller;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.moral.api.entity.Device;
import com.moral.api.entity.Organization;
+import com.moral.api.mapper.DeviceMapper;
import com.moral.api.mapper.OrganizationMapper;
import com.moral.api.service.AlarmInfoService;
import com.moral.api.service.HistoryHourlyService;
+import com.moral.constant.Constants;
import com.moral.constant.ResponseCodeEnum;
import com.moral.constant.ResultMessage;
import com.moral.util.WebUtils;
@@ -14,6 +18,7 @@
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
+import java.util.List;
import java.util.Map;
/**
@@ -31,6 +36,9 @@
@Resource
private OrganizationMapper organizationMapper;
+
+ @Resource
+ private DeviceMapper deviceMapper;
@Resource
private HistoryHourlyService historyHourlyService;
@@ -69,4 +77,25 @@
return ResultMessage.ok(resultMap);
}
+ @RequestMapping(value = "getHourCompleteDataByMacSensorCodeDate", method = RequestMethod.GET)
+ @ResponseBody
+ public ResultMessage getHourCompleteDataByMacSensorCodeDate(HttpServletRequest request){
+ Map<String, Object> parameters = WebUtils.getParametersStartingWith(request,null);
+ Object mac = parameters.get("mac");
+ Object sensorCode = parameters.get("sensor_code");
+ Object date = parameters.get("date");
+ if (ObjectUtils.isEmpty(mac) || ObjectUtils.isEmpty(sensorCode) || ObjectUtils.isEmpty(date)){
+ return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
+ }
+ QueryWrapper<Device> deviceQueryWrapper = new QueryWrapper<>();
+ deviceQueryWrapper.eq("is_delete",Constants.NOT_DELETE);
+ deviceQueryWrapper.eq("mac",mac);
+ Device device = deviceMapper.selectOne(deviceQueryWrapper);
+ if (ObjectUtils.isEmpty(device)){
+ return ResultMessage.fail(ResponseCodeEnum.ORGANIZATION_NOT_EXIST.getCode(), ResponseCodeEnum.ORGANIZATION_NOT_EXIST.getMsg());
+ }
+ List<Map<String, Object>> resultList = historyHourlyService.getHourCompleteDataByMacSensorCodeDate(parameters);
+ return ResultMessage.ok(resultList);
+ }
+
}
diff --git a/screen-api/src/main/java/com/moral/api/service/HistoryHourlyService.java b/screen-api/src/main/java/com/moral/api/service/HistoryHourlyService.java
index 79473a3..3b7e654 100644
--- a/screen-api/src/main/java/com/moral/api/service/HistoryHourlyService.java
+++ b/screen-api/src/main/java/com/moral/api/service/HistoryHourlyService.java
@@ -56,6 +56,15 @@
List<Map<String, Object>> getThermodynamicDiagramDataByOrgIdSensorCodeTimeslot(Map<String, Object> map);
/**
+ *@Description: ���������������������������������
+ *@Param: [map]
+ *@return: java.util.List<java.util.Map<java.lang.String,java.lang.Object>>
+ *@Author: lizijie
+ *@Date: 2021/12/28 10:04
+ **/
+ List<Map<String, Object>> getHourCompleteDataByMacSensorCodeDate(Map<String,Object> map);
+
+ /**
* @Description: ������mac������������������������
* @Param: [mac, startDate, endDate]
* @return: java.util.List<com.moral.api.entity.HistoryHourly>
diff --git a/screen-api/src/main/java/com/moral/api/service/impl/HistoryHourlyServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/HistoryHourlyServiceImpl.java
index c60183b..5c01832 100644
--- a/screen-api/src/main/java/com/moral/api/service/impl/HistoryHourlyServiceImpl.java
+++ b/screen-api/src/main/java/com/moral/api/service/impl/HistoryHourlyServiceImpl.java
@@ -527,6 +527,45 @@
return list;
}
+ @Override
+ public List<Map<String, Object>> getHourCompleteDataByMacSensorCodeDate(Map<String, Object> map) {
+ String mac = map.get("mac").toString();
+ String sensorCode = map.get("sensor_code").toString();
+ String date = map.get("date").toString();
+ String dateTime = date.replace("-","");
+ String timeUnits = dateTime.substring(0,6)+"_complete";
+ Map<String,Object> params = new HashMap<>();
+ params.put("timeUnits",timeUnits);
+ params.put("mac",mac);
+ List resultList = new ArrayList();
+ for (int i = 0; i < 13; i++) {
+ Map<String,Object> oneHourDateMap = new HashMap<>();
+ String j;
+ if (i<10){
+ j = " 0"+i+":00:00";
+ }else {
+ j = " "+i+":00:00";
+ }
+ String time = date+j;
+ params.put("time",time);
+ if (ObjectUtils.isEmpty(historyHourlyMapper.selectHourlyData(params))){
+ resultList.add(oneHourDateMap);
+ continue;
+ }
+ String oneHourlyData = null;
+ oneHourlyData = historyHourlyMapper.selectHourlyData(params);
+ JSONObject js = JSONObject.parseObject(oneHourlyData);
+ String sensorDate = js.get(sensorCode).toString();
+ sensorDate = sensorDate.replace("[","");
+ sensorDate = sensorDate.replace("]","");
+ String[] split = sensorDate.split(",");
+ oneHourDateMap.put("time",time);
+ oneHourDateMap.put("values",split);
+ resultList.add(oneHourDateMap);
+ }
+ return resultList;
+ }
+
/**
* @Description: ���������������������������mac���������
* @Param: [mac, startDate, endDate]
--
Gitblit v1.8.0