From 6992aaf0587c09f7c511c1afd12e1519d91363d3 Mon Sep 17 00:00:00 2001
From: cjl <276999030@qq.com>
Date: Thu, 14 Dec 2023 15:38:45 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/cjl' into qa

---
 screen-api/src/main/java/com/moral/api/controller/HistoryHourlyController.java |   80 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 80 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 0f1da06..85c1ad0 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,15 @@
 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.api.vo.HistoryHourlyVo;
+import com.moral.constant.Constants;
 import com.moral.constant.ResponseCodeEnum;
 import com.moral.constant.ResultMessage;
 import com.moral.util.WebUtils;
@@ -14,6 +19,7 @@
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -31,6 +37,9 @@
 
     @Resource
     private OrganizationMapper organizationMapper;
+
+    @Resource
+    private DeviceMapper deviceMapper;
 
     @Resource
     private HistoryHourlyService historyHourlyService;
@@ -52,4 +61,75 @@
         return ResultMessage.ok(resultMap);
     }
 
+    @RequestMapping(value = "getLastTwelveHourDataByOrgIdAndSensorCode", method = RequestMethod.GET)
+    @ResponseBody
+    public ResultMessage getLastTwelveHourDataByOrgIdAndSensorCode(HttpServletRequest request){
+        Map<String, Object> parameters = WebUtils.getParametersStartingWith(request,null);
+        Object orgid = parameters.get("organization_id");
+        Object sensorCode = parameters.get("sensor_code");
+        if (ObjectUtils.isEmpty(orgid) || ObjectUtils.isEmpty(sensorCode)){
+            return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
+        }
+        Organization organization = organizationMapper.selectById(Integer.parseInt(orgid.toString()));
+        if (ObjectUtils.isEmpty(organization)){
+            return ResultMessage.fail(ResponseCodeEnum.ORGANIZATION_NOT_EXIST.getCode(), ResponseCodeEnum.ORGANIZATION_NOT_EXIST.getMsg());
+        }
+        Map<String, Object> resultMap = historyHourlyService.getLastTwelveHourDataByOrgIdAndSensorCode(parameters);
+        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");
+        Object startTime = parameters.get("startTime");
+        Object endTime = parameters.get("endTime");
+        if (ObjectUtils.isEmpty(mac) || ObjectUtils.isEmpty(sensorCode) || ObjectUtils.isEmpty(startTime)){
+            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);
+    }
+
+    @RequestMapping(value = "test2", method = RequestMethod.GET)
+    @ResponseBody
+    public ResultMessage test2(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");
+        Object startTime = parameters.get("startTime");
+        Object endTime = parameters.get("endTime");
+        if (ObjectUtils.isEmpty(mac) || ObjectUtils.isEmpty(sensorCode) || ObjectUtils.isEmpty(startTime)|| ObjectUtils.isEmpty(endTime)){
+            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);
+    }
+
+
+    @RequestMapping(value = "historyHourlyTest", method = RequestMethod.POST)
+    public ResultMessage historyHourlyTest(HistoryHourlyVo historyHourlyVo){
+         historyHourlyService.historyHourly(historyHourlyVo);
+        return ResultMessage.ok();
+    }
+
+
 }

--
Gitblit v1.8.0