| | |
| | | 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 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 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
|
| | |
| | | /** The screen service. */
|
| | | @Autowired
|
| | | 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.
|
| | |
| | | }
|
| | | 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;
|
| | | }
|
| | |
|
| | | }
|