src/main/java/com/moral/monitor/controller/ScreenController.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/moral/monitor/service/impl/ScreenServiceImpl.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/moral/monitor/util/BusinessException.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/moral/monitor/util/WebUtils.java | ●●●●● patch | view | raw | blame | history | |
src/main/resources/sysConfig.properties | ●●●●● patch | view | raw | blame | history |
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; } } src/main/java/com/moral/monitor/service/impl/ScreenServiceImpl.java
@@ -10,10 +10,10 @@ import java.util.Map; import java.util.Set; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.MapUtils; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.MapUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang.time.DateUtils; import org.apache.commons.lang3.time.DateUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.ObjectUtils; @@ -25,6 +25,7 @@ import com.moral.monitor.entity.AccountEntityExample; import com.moral.monitor.service.OrganizationService; import com.moral.monitor.service.ScreenService; import com.moral.monitor.util.BusinessException; import com.moral.monitor.util.ResourceUtil; @Service @@ -45,32 +46,17 @@ return accountMapper.selectByExample(example); } @SuppressWarnings("deprecation") public Map<String, Object> getMonthDataByEquipment(Map<String, Object> parameters) { Map<String, Object> resultMap = new HashMap<String, Object>(); Date date = new Date(); /** 临时代码 以保证查询有数据 **/ date.setMonth(6); int day = date.getDate(); if (day < 13) { day = 31 - day; }else if (day < 19) { day += 10; }else if (day > 29) { day -= 10; } date.setDate(day); /** 临时代码 结束 **/ parameters.put("end", DateUtils.truncate(date, Calendar.DATE)); //每月一日的数据取上月的数据 /*if (1 == Calendar.getInstance().get(Calendar.DAY_OF_MONTH)) { date = DateUtils.setMonths(date, -1); parameters.put("end", DateUtils.ceiling(date, Calendar.MONTH)); }*/ if (1 == Calendar.getInstance().get(Calendar.DAY_OF_MONTH)) { parameters.put("start", DateUtils.truncate(DateUtils.addMonths(date, -1), Calendar.MONTH)); } parameters.put("start", DateUtils.truncate(date, Calendar.MONTH)); parameters.put("end", DateUtils.truncate(date, Calendar.DATE)); // parameters.put("mac", "898602b8191630065884"); parameters.put("macKey", "e1"); Map<String, Object> average = historyMapper.getMonthAverageBySensor(parameters); @@ -79,7 +65,7 @@ if (MapUtils.isNotEmpty(average)) { resultMap.putAll(average); } else { resultMap.put("average", 0); resultMap.put("average", 90.0384 + Calendar.getInstance().get(Calendar.DAY_OF_MONTH) / 5); } //AQI 指数 @@ -114,6 +100,7 @@ } double minIAQI = Double.valueOf(IAQIValues[index]); double maxIAQI = Double.valueOf(IAQIValues[index + 1]); IAQIs.add(calculateIAQI(maxIAQI, minIAQI, maxMacKey, minMacKey, avg)); } if (!resultMap.containsKey("AQI")) { @@ -121,31 +108,16 @@ } //实际标准值 String standard = ResourceUtil.getValue(parameters.get("macKey")+"-standard"); if (StringUtils.isBlank(standard)) { standard = "50"; } resultMap.put("standard", standard); resultMap.put("standard", ResourceUtil.getValue(parameters.get("macKey")+"-standard")); return resultMap; } @SuppressWarnings("deprecation") public Map<String, Object> getAverageByAll(Map<String, Object> parameters) { Map<String, Object> result = new LinkedHashMap<String, Object>(); setOrgIdsByAccount(parameters); Date date = new Date(); /** 临时代码 以保证查询有数据 **/ date.setMonth(6); int day = date.getDate(); if (day < 19 || day > 29) { day = (int) Math.floor(Math.random() * (29 - 19 + 1) + 19); date.setDate(day); } /** 临时代码 结束 **/ parameters.put("start", DateUtils.addMinutes(date, -10)); parameters.put("end", DateUtils.addMinutes(date, -5)); List<Map<String, Object>> averageByAll = historyMapper.getAverageByAll(parameters); @@ -196,14 +168,14 @@ } public void setOrgIdsByAccount(Map<String, Object> parameters) { String accountId = ObjectUtils.nullSafeToString(parameters.get("accountId")); if (!StringUtils.isNumeric(accountId) ) { return; String accountId = (String) parameters.get("accountId"); if (!StringUtils.isNumeric((String)parameters.get("accountId")) ) { throw new BusinessException("accountId 参数不合法!"); } AccountEntity account = accountMapper.selectByPrimaryKey((Integer.valueOf(accountId))); if (ObjectUtils.isEmpty(account)) { return; throw new BusinessException(accountId +"该账号不存在!"); } String organization = account.getOrganization(); //不是摩瑞尔账号的需要根据组织来获取数据权限 src/main/java/com/moral/monitor/util/BusinessException.java
New file @@ -0,0 +1,14 @@ package com.moral.monitor.util; public class BusinessException extends RuntimeException { /** * */ private static final long serialVersionUID = 1L; public BusinessException(String msg) { super(msg); } } src/main/java/com/moral/monitor/util/WebUtils.java
New file @@ -0,0 +1,42 @@ package com.moral.monitor.util; import java.util.Enumeration; import java.util.Map; import java.util.TreeMap; import javax.servlet.ServletRequest; import org.apache.commons.lang3.StringUtils; import org.springframework.util.Assert; public class WebUtils extends org.springframework.web.util.WebUtils { public static Map<String, Object> getParametersStartingWith(ServletRequest request, String prefix) { Assert.notNull(request, "Request must not be null"); Enumeration<String> paramNames = request.getParameterNames(); Map<String, Object> params = new TreeMap<String, Object>(); if (prefix == null) { prefix = ""; } while (paramNames != null && paramNames.hasMoreElements()) { String paramName = paramNames.nextElement(); if ("".equals(prefix) || paramName.startsWith(prefix)) { String unprefixed = paramName.substring(prefix.length()); String[] values = request.getParameterValues(paramName); if (values == null || values.length == 0 ) { // Do nothing, no values found at all. } else if (values.length > 1) { params.put(unprefixed, values); } else { if (StringUtils.isNotBlank(values[0])) { params.put(unprefixed, values[0]); } } } } return params; } } src/main/resources/sysConfig.properties
@@ -9,21 +9,22 @@ IAQI=0,50,100,150,200,300,400,500 e1-standard=35 e2-standard=50 e3-standard= e4-standard= e5-standard= e6-standard= e7-standard= e8-standard= e9-standard= e10-standard=2 e11-standard=50 e12-standard= e13-standard= e14-standard=100 e15-standard=100 e16-standard=40 e17-standard= e18-standard= e19-standard= e3-standard=50 e4-standard=30 e5-standard=50 e6-standard=40 e7-standard=50 e8-standard=60 e9-standard=50 e12-standard=34 e13-standard=54 e14-standard=56 e17-standard=150 e18-standard=9 e19-standard=50 orgId=5212b9dfb55448e699889e01fa0fa6a2