From a4f11cd94cb83dc59f4b9fe1871ec1f9a1b19b46 Mon Sep 17 00:00:00 2001
From: 沈斌 <bluelazysb@hotmail.com>
Date: Mon, 26 Feb 2018 09:29:58 +0800
Subject: [PATCH] test
---
src/main/java/com/moral/monitor/controller/ScreenController.java | 208 +++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 197 insertions(+), 11 deletions(-)
diff --git a/src/main/java/com/moral/monitor/controller/ScreenController.java b/src/main/java/com/moral/monitor/controller/ScreenController.java
index 6a5b52b..d2a8a0a 100644
--- a/src/main/java/com/moral/monitor/controller/ScreenController.java
+++ b/src/main/java/com/moral/monitor/controller/ScreenController.java
@@ -1,6 +1,9 @@
package com.moral.monitor.controller;
+import java.io.IOException;
+import java.io.InputStreamReader;
import java.util.HashMap;
+import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
@@ -9,23 +12,43 @@
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.core.io.Resource;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
-import org.springframework.web.util.WebUtils;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONReader;
+import com.alibaba.fastjson.TypeReference;
import com.moral.monitor.entity.AccountEntity;
import com.moral.monitor.service.ScreenService;
+import com.moral.monitor.util.BusinessException;
import com.moral.monitor.util.Crypto;
+import com.moral.monitor.util.RedisUtil;
+import com.moral.monitor.util.ResourceUtil;
+import com.moral.monitor.util.WebUtils;
@RestController
@RequestMapping(value = "screen")
@CrossOrigin(origins = "*", maxAge = 3600)
public class ScreenController {
+ /** The screen service. */
@Autowired
- private ScreenService screenService;
+ private ScreenService screenService;
+
+ @Value(value="classpath:system/alarmLevels.json")
+ private Resource resource;
+
+ @javax.annotation.Resource
+ RedisTemplate<String, String> redisTemplate;
+
+ private String levelKey = "alarm_level_config";
+
/**
* Screen login.
*
@@ -65,18 +88,181 @@
resultMap.put("accountId", accountId);
return resultMap;
}
-
- @RequestMapping(value = "/month-average", method = RequestMethod.GET)
- public Map<String, Object> getDataByEquipmentMac(HttpServletRequest request) {
- Map<String, Object> parameters = WebUtils.getParametersStartingWith(request,null);
- Map<String, Object> resu = screenService.getDataByEquipmentMac(parameters);
- return resu;
+
+ /**
+ * Gets the month data by equipment.
+ *
+ * @param request the request
+ * @return the month data by equipment
+ */
+ @RequestMapping(value = "/month", method = RequestMethod.GET)
+ public Map<String, Object> getMonthDataByEquipment(HttpServletRequest request) {
+ Map<String, Object> result = new LinkedHashMap<String, Object>();
+ try {
+ Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null);
+ if (!(parameters.containsKey("mac") && parameters.containsKey("macKey"))) {
+ result.put("msg", "���������������������");
+ } else {
+ result = screenService.getMonthDataByEquipment(parameters);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ result.put("msg", "���������������������������������������������������"+e.getMessage());
+ }
+ return result;
}
+ /**
+ * Gets the average by all.
+ *
+ * @param request the request
+ * @return the average by all
+ */
@RequestMapping(value = "/all-average", method = RequestMethod.GET)
public Map<String, Object> getAverageByAll(HttpServletRequest request) {
- Map<String, Object> parameters = WebUtils.getParametersStartingWith(request,null);
- Map<String, Object> resu = screenService.getAverageByAll(parameters);
- return resu;
+ Map<String, Object> result = new LinkedHashMap<String, Object>();
+ try {
+ Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null);
+ if (!(parameters.containsKey("areaCode") && parameters.containsKey("accountId"))) {
+ result.put("msg", "���������������������");
+ } else {
+ result = screenService.getAverageByAll(parameters);
+ }
+ } catch (BusinessException be) {
+ be.printStackTrace();
+ result.put("msg", be.getMessage());
+ } catch (Exception e) {
+ e.printStackTrace();
+ result.put("msg", "���������������������������������������������������"+e.getMessage());
+ }
+ return result;
}
+
+ /**
+ * Gets the equipment states.
+ *
+ * @param request the request
+ * @return the equipment states
+ */
+ @RequestMapping(value = "/equipment-state", method = RequestMethod.GET)
+ public Map<String, Object> getEquipmentStates(HttpServletRequest request) {
+ Map<String, Object> result = new LinkedHashMap<String, Object>();
+ try {
+ Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null);
+ if (!parameters.containsKey("accountId")) {
+ result.put("msg", "���������������������");
+ } else {
+ result = screenService.getEquipmentStates(parameters);
+ }
+ } catch (BusinessException be) {
+ be.printStackTrace();
+ result.put("msg", be.getMessage());
+ } catch (Exception e) {
+ e.printStackTrace();
+ result.put("msg", "���������������������������������������������������"+e.getMessage());
+ }
+ return result;
+ }
+
+
+ @RequestMapping(value = "/sensor-average", method = RequestMethod.GET)
+ public Map<String, Object> getAverageBySensor(HttpServletRequest request) {
+ Map<String, Object> result = new HashMap<String, Object>();
+ try {
+ Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null);
+ if (!(parameters.containsKey("areaCode") && parameters.containsKey("accountId") && parameters.containsKey("macKey"))) {
+ result.put("msg", "���������������������");
+ } else {
+ result = screenService.getAverageBySensor(parameters);
+ }
+ } catch (BusinessException be) {
+ be.printStackTrace();
+ result.put("msg", be.getMessage());
+ } catch (Exception e) {
+ e.printStackTrace();
+ result.put("msg", "���������������������������������������������������"+e.getMessage());
+ }
+ return result;
+ }
+
+
+ @RequestMapping(value = "/alarm-levels", method = RequestMethod.GET)
+ public Map<String,Object> getAlarmLevels(HttpServletRequest request){
+ Map<String,Object> result = new LinkedHashMap<String, Object>();
+ try {
+ if(RedisUtil.hasKey(redisTemplate, levelKey)) {
+ String levelConfigStr = RedisUtil.get(redisTemplate, levelKey);
+ result = JSON.parseObject(levelConfigStr, new TypeReference<Map<String, Object>>() {});
+ } else {
+ InputStreamReader reader = new InputStreamReader(resource.getInputStream());
+ result = new JSONReader(reader).readObject(new TypeReference<LinkedHashMap<String,Object>>(){});
+ }
+ } catch (IOException e) {
+ e.printStackTrace();
+ result.put("msg", "���������������������������������������������������"+e.getMessage());
+ }
+ return result;
+ }
+
+ @RequestMapping(value = "month-sensor-average", method = RequestMethod.GET)
+ public Map<String, Object> getMonthAverageBySensor(HttpServletRequest request) {
+ Map<String, Object> result = new HashMap<String, Object>();
+ try {
+ Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null);
+ if (!(parameters.containsKey("mac") && parameters.containsKey("macKey"))) {
+ result.put("msg", "���������������������");
+ } else {
+ result = screenService.getMonthAverageBySensor(parameters);
+ }
+ } catch (BusinessException be) {
+ be.printStackTrace();
+ result.put("msg", be.getMessage());
+ } catch (Exception e) {
+ e.printStackTrace();
+ result.put("msg", "���������������������������������������������������"+e.getMessage());
+ }
+ return result;
+ }
+
+ @RequestMapping(value = "day-aqi", method = RequestMethod.GET)
+ public Map<String, Object> getDayAQIBySensor(HttpServletRequest request) {
+ Map<String, Object> result = new HashMap<String, Object>();
+ try {
+ Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null);
+ if (!parameters.containsKey("mac")) {
+ result.put("msg", "���������������������");
+ } else {
+ //result = screenService.getDayAQIBySensor(parameters);
+ result = screenService.getDayAQIByDevice(parameters);
+ }
+ } catch (BusinessException be) {
+ be.printStackTrace();
+ result.put("msg", be.getMessage());
+ } catch (Exception e) {
+ e.printStackTrace();
+ result.put("msg", "���������������������������������������������������"+e.getMessage());
+ }
+ return result;
+ }
+
+ @RequestMapping(value = "sensor-standard", method = RequestMethod.GET)
+ public Map<String, Object> getStandardBySensor(HttpServletRequest request) {
+ Map<String, Object> result = new HashMap<String, Object>();
+ try {
+ String macKey = request.getParameter("macKey");
+ if (ObjectUtils.isEmpty(macKey)) {
+ result.put("msg", "���������������������");
+ } else {
+ result.put("standard", ResourceUtil.getValue(macKey + "-standard"));
+ }
+ } catch (BusinessException be) {
+ be.printStackTrace();
+ result.put("msg", be.getMessage());
+ } catch (Exception e) {
+ e.printStackTrace();
+ result.put("msg", "���������������������������������������������������"+e.getMessage());
+ }
+ return result;
+ }
+
}
--
Gitblit v1.8.0