From fa525b45b0a3f4e524462dceb409c30909c5be72 Mon Sep 17 00:00:00 2001
From: xufenglei <xufenglei>
Date: Mon, 30 Oct 2017 13:51:49 +0800
Subject: [PATCH] 增加 参数空值校验

---
 src/main/java/com/moral/monitor/controller/ScreenController.java |   76 +++++++++++++++++++++++++++++++++----
 1 files changed, 67 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/moral/monitor/controller/ScreenController.java b/src/main/java/com/moral/monitor/controller/ScreenController.java
index 1461e55..45b9ace 100644
--- a/src/main/java/com/moral/monitor/controller/ScreenController.java
+++ b/src/main/java/com/moral/monitor/controller/ScreenController.java
@@ -1,6 +1,7 @@
 package com.moral.monitor.controller;
 
 import java.util.HashMap;
+import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -13,19 +14,22 @@
 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.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.WebUtils;
 
 @RestController
 @RequestMapping(value = "screen")
 @CrossOrigin(origins = "*", maxAge = 3600)
 public class ScreenController {
 
+	/** The screen service. */
 	@Autowired
-    private ScreenService screenService;
+	private ScreenService screenService;
+
 	/**
 	 * Screen login.
 	 *
@@ -65,25 +69,79 @@
 		resultMap.put("accountId", accountId);
 		return resultMap;
 	}
-	
+
+	/**
+	 * 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> parameters = WebUtils.getParametersStartingWith(request,null);
-		Map<String, Object> result =  screenService.getMonthDataByEquipment(parameters);
+		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", "������������������������������");
+		}
 		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> result =  screenService.getAverageByAll(parameters);
+		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", "������������������������������");
+		}
 		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> parameters = WebUtils.getParametersStartingWith(request,null);
-		Map<String, Object> result =  screenService.getEquipmentStates(parameters);
+		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", "������������������������������");
+		}
 		return result;
 	}
 }

--
Gitblit v1.8.0