From dba72443e05e7b0a52ee85bfd9f4641aebc42c60 Mon Sep 17 00:00:00 2001
From: xufenglei <xufenglei>
Date: Thu, 07 Dec 2017 08:58:09 +0800
Subject: [PATCH] app接口

---
 src/main/java/com/moral/controller/ScreenController.java |  187 ++++++++++++++++------------------------------
 1 files changed, 66 insertions(+), 121 deletions(-)

diff --git a/src/main/java/com/moral/controller/ScreenController.java b/src/main/java/com/moral/controller/ScreenController.java
index 01c7c41..0da945c 100644
--- a/src/main/java/com/moral/controller/ScreenController.java
+++ b/src/main/java/com/moral/controller/ScreenController.java
@@ -1,37 +1,39 @@
 package com.moral.controller;
 
+import static com.moral.common.util.RedisUtil.get;
+import static com.moral.common.util.RedisUtil.hasKey;
+import static com.moral.common.util.ResourceUtil.getValue;
+import static com.moral.common.util.WebUtils.getParametersStartingWith;
+import static org.springframework.util.ObjectUtils.isEmpty;
+
 import java.io.IOException;
 import java.io.InputStreamReader;
 import java.util.HashMap;
 import java.util.LinkedHashMap;
 import java.util.Map;
 
+import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 
-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.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONReader;
 import com.alibaba.fastjson.TypeReference;
-import com.moral.util.ResourceUtil;
+import com.moral.common.exception.BusinessException;
+import com.moral.common.util.ValidateUtil;
 import com.moral.service.AccountService;
 import com.moral.service.DeviceService;
 import com.moral.service.HistoryService;
-import com.moral.util.BusinessException;
-import com.moral.util.RedisUtil;
-import com.moral.util.WebUtils;
 
-// TODO: Auto-generated Javadoc
 /**
- * The Class ScreenController.
+ * The Class ScreenController.������������
  */
 @RestController
 @RequestMapping(value = "screen")
@@ -39,24 +41,24 @@
 public class ScreenController {
 
 	/** The screen service. */
-	@Autowired
+	@Resource
 	private HistoryService historyService;
 
 	/** The account service. */
-	@Autowired
+	@Resource
 	private AccountService accountService;
 
 	/** The device service. */
-	@Autowired
+	@Resource
 	private DeviceService deviceService;
 
 	/** The resource. */
 	@Value(value = "classpath:system/alarmLevels.json")
-	private Resource resource;
+	private org.springframework.core.io.Resource resource;
 
 	/** The redis template. */
-	@javax.annotation.Resource
-	RedisTemplate<String, String> redisTemplate;
+	@Resource
+	private RedisTemplate<String, String> redisTemplate;
 
 	/** The level key. */
 	private String levelKey = "alarm_level_config";
@@ -68,24 +70,19 @@
 	 *            the request
 	 * @return the map
 	 */
-	@RequestMapping(value = "login", method = RequestMethod.GET)
+	@GetMapping("login")
 	public Map<String, Object> screenLogin(HttpServletRequest request) {
 		Map<String, Object> resultMap = new HashMap<String, Object>();
-		try {
-			Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null);
-			if (!(parameters.containsKey("account") && parameters.containsKey("password"))) {
-				resultMap.put("msg", "������������������������������������");
-				resultMap.put("accountId", -1);
-			} else {
-				resultMap = accountService.screenLogin(parameters);
-			}
-		} catch (Exception e) {
-			e.printStackTrace();
+		Map<String, Object> parameters = getParametersStartingWith(request, null);
+		if (!(parameters.containsKey("account") && parameters.containsKey("password"))) {
+			resultMap.put("msg", "������������������������������������");
 			resultMap.put("accountId", -1);
-			resultMap.put("msg", "���������������������������������������������������" + e.getMessage());
+		} else {
+			resultMap = accountService.screenLogin(parameters);
 		}
 		return resultMap;
 	}
+
 
 	/**
 	 * Gets the equipment states. ���������������������������������������
@@ -94,22 +91,14 @@
 	 *            the request
 	 * @return the equipment states
 	 */
-	@RequestMapping(value = "equipment-state", method = RequestMethod.GET)
-	public Map<String, Object> getDeviceStates(HttpServletRequest request) {
+	@GetMapping("equipment-state")
+	public Map<String, Object> getDeviceStatesByAccount(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 = deviceService.getDeviceStates(parameters);
-			}
-		} catch (BusinessException be) {
-			be.printStackTrace();
-			result.put("msg", be.getMessage());
-		} catch (Exception e) {
-			e.printStackTrace();
-			result.put("msg", "���������������������������������������������������" + e.getMessage());
+		Map<String, Object> parameters = getParametersStartingWith(request, null);
+		if (!parameters.containsKey("accountId")) {
+			result.put("msg", "���������������������");
+		} else {
+			result = deviceService.getDeviceStatesByAccount(parameters);
 		}
 		return result;
 	}
@@ -122,12 +111,12 @@
 	 * @return the alarm levels
 	 */
 	@SuppressWarnings("resource")
-	@RequestMapping(value = "alarm-levels", method = RequestMethod.GET)
+	@GetMapping("alarm-levels")
 	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);
+			if (hasKey(redisTemplate, levelKey)) {
+				String levelConfigStr = get(redisTemplate, levelKey);
 				result = JSON.parseObject(levelConfigStr, new TypeReference<Map<String, Object>>() {});
 			} else {
 				InputStreamReader reader = new InputStreamReader(resource.getInputStream());
@@ -147,23 +136,11 @@
 	 *            the request
 	 * @return the standard by sensor
 	 */
-	@RequestMapping(value = "sensor-standard", method = RequestMethod.GET)
-	public Map<String, Object> getStandardBySensor(HttpServletRequest request) {
+	@GetMapping("sensor-standard")
+	public Map<String, Object> getStandardBySensor(@RequestParam("macKey") String macKey) {
 		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());
-		}
+		ValidateUtil.notEmpty(macKey, "���������������������");
+		result.put("standard", getValue(macKey + "-standard"));
 		return result;
 	}
 
@@ -174,22 +151,14 @@
 	 *            the request
 	 * @return the day AQI by sensor
 	 */
-	@RequestMapping(value = "day-aqi", method = RequestMethod.GET)
+	@GetMapping("day-aqi")
 	public Map<String, Object> getDayAQIByDevice(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 = historyService.getDayAQIByDevice(parameters);
-			}
-		} catch (BusinessException be) {
-			be.printStackTrace();
-			result.put("msg", be.getMessage());
-		} catch (Exception e) {
-			e.printStackTrace();
-			result.put("msg", "���������������������������������������������������" + e.getMessage());
+		Map<String, Object> parameters = getParametersStartingWith(request, null);
+		if (!parameters.containsKey("mac")) {
+			result.put("msg", "���������������������");
+		} else {
+			result = historyService.getDayAQIByDevice(parameters);
 		}
 		return result;
 	}
@@ -201,22 +170,14 @@
 	 *            the request
 	 * @return the average by all
 	 */
-	@RequestMapping(value = "/all-average", method = RequestMethod.GET)
-	public Map<String, Object> getAverageByAll(HttpServletRequest request) {
+	@GetMapping("all-average")
+	public Map<String, Object> getAllSensorAverageByDevice(HttpServletRequest request) {
 		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 = historyService.getAverageByAll(parameters);
-			}
-		} catch (BusinessException be) {
-			be.printStackTrace();
-			result.put("msg", be.getMessage());
-		} catch (Exception e) {
-			e.printStackTrace();
-			result.put("msg", "���������������������������������������������������" + e.getMessage());
+		Map<String, Object> parameters = getParametersStartingWith(request, null);
+		if (!(parameters.containsKey("areaCode") && parameters.containsKey("accountId"))) {
+			result.put("msg", "���������������������");
+		} else {
+			result = historyService.getAllSensorAverageByDevice(parameters);
 		}
 		return result;
 	}
@@ -228,23 +189,15 @@
 	 *            the request
 	 * @return the average by sensor
 	 */
-	@RequestMapping(value = "/sensor-average", method = RequestMethod.GET)
-	public Map<String, Object> getAverageBySensor(HttpServletRequest request) {
+	@GetMapping("sensor-average")
+	public Map<String, Object> getDeviceRankingBySensorAverage(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 = historyService.getAverageBySensor(parameters);
-			}
-		} catch (BusinessException be) {
-			be.printStackTrace();
-			result.put("msg", be.getMessage());
-		} catch (Exception e) {
-			e.printStackTrace();
-			result.put("msg", "���������������������������������������������������" + e.getMessage());
+		Map<String, Object> parameters = getParametersStartingWith(request, null);
+		if (!(parameters.containsKey("areaCode") && parameters.containsKey("accountId")
+				&& parameters.containsKey("macKey"))) {
+			result.put("msg", "���������������������");
+		} else {
+			result = historyService.getDeviceRankingBySensorAverage(parameters);
 		}
 		return result;
 	}
@@ -256,22 +209,14 @@
 	 *            the request
 	 * @return the month average by sensor
 	 */
-	@RequestMapping(value = "month-sensor-average", method = RequestMethod.GET)
+	@GetMapping("month-sensor-average")
 	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 = historyService.getMonthAverageBySensor(parameters);
-			}
-		} catch (BusinessException be) {
-			be.printStackTrace();
-			result.put("msg", be.getMessage());
-		} catch (Exception e) {
-			e.printStackTrace();
-			result.put("msg", "���������������������������������������������������" + e.getMessage());
+		Map<String, Object> parameters = getParametersStartingWith(request, null);
+		if (!(parameters.containsKey("mac") && parameters.containsKey("macKey"))) {
+			result.put("msg", "���������������������");
+		} else {
+			result = historyService.getMonthAverageBySensor(parameters);
 		}
 		return result;
 	}

--
Gitblit v1.8.0