From c45329384de9af039447d7ea15003415b425a624 Mon Sep 17 00:00:00 2001 From: 沈斌 <bluelazysb@hotmail.com> Date: Mon, 26 Feb 2018 09:32:13 +0800 Subject: [PATCH] test --- src/main/java/com/moral/monitor/controller/ScreenController.java | 85 ++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 81 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/moral/monitor/controller/ScreenController.java b/src/main/java/com/moral/monitor/controller/ScreenController.java index cba3498..d2a8a0a 100644 --- a/src/main/java/com/moral/monitor/controller/ScreenController.java +++ b/src/main/java/com/moral/monitor/controller/ScreenController.java @@ -14,17 +14,22 @@ 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 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 @@ -37,7 +42,12 @@ private ScreenService screenService; @Value(value="classpath:system/alarmLevels.json") - private Resource resource; + private Resource resource; + + @javax.annotation.Resource + RedisTemplate<String, String> redisTemplate; + + private String levelKey = "alarm_level_config"; /** * Screen login. @@ -178,14 +188,81 @@ @RequestMapping(value = "/alarm-levels", method = RequestMethod.GET) public Map<String,Object> getAlarmLevels(HttpServletRequest request){ - Map<String,Object> result = new HashMap<String, Object>(); + Map<String,Object> result = new LinkedHashMap<String, Object>(); try { - InputStreamReader reader = new InputStreamReader(resource.getInputStream()); - result = new JSONReader(reader).readObject(new TypeReference<Map<String,Object>>(){}); + 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