From 59d80f82ef195f03b714fa0e9aec5d21d119c335 Mon Sep 17 00:00:00 2001 From: xufenglei <xufenglei> Date: Mon, 11 Dec 2017 14:37:30 +0800 Subject: [PATCH] 接口 增加校验 --- src/main/java/com/moral/service/OrganizationService.java | 3 src/main/java/com/moral/controller/ReportController.java | 36 ++++++------ src/main/java/com/moral/controller/MobileController.java | 19 ++++-- src/main/java/com/moral/config/PageHelperConfig.java | 1 src/main/java/com/moral/service/impl/OperateUserServiceImpl.java | 6 ++ src/main/java/com/moral/service/impl/DeviceServiceImpl.java | 2 src/main/java/com/moral/mapper/MonitorPointMapper.java | 3 src/main/java/com/moral/service/impl/HistoryServiceImpl.java | 11 +++ src/main/resources/mapper/MonitorPointMapper.xml | 11 +++ src/main/java/com/moral/service/MonitorPointService.java | 3 src/main/java/com/moral/service/impl/OrganizationServiceImpl.java | 9 ++ src/main/java/com/moral/controller/ScreenController.java | 41 +------------ src/main/java/com/moral/mapper/OrganizationMapper.java | 3 src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java | 7 + src/main/resources/mapper/OrganizationMapper.xml | 9 ++ 15 files changed, 92 insertions(+), 72 deletions(-) diff --git a/src/main/java/com/moral/config/PageHelperConfig.java b/src/main/java/com/moral/config/PageHelperConfig.java index d51c7e7..4aca388 100644 --- a/src/main/java/com/moral/config/PageHelperConfig.java +++ b/src/main/java/com/moral/config/PageHelperConfig.java @@ -17,6 +17,7 @@ Properties properties = new Properties(); properties.setProperty("offsetAsPageNum","true"); properties.setProperty("rowBoundsWithCount","true"); + properties.setProperty("pageSizeZero","true"); properties.setProperty("reasonable","true"); properties.setProperty("dialect","mysql"); //������mysql������������������ pageHelper.setProperties(properties); diff --git a/src/main/java/com/moral/controller/MobileController.java b/src/main/java/com/moral/controller/MobileController.java index 6fa4dec..ca4d05e 100644 --- a/src/main/java/com/moral/controller/MobileController.java +++ b/src/main/java/com/moral/controller/MobileController.java @@ -1,12 +1,17 @@ package com.moral.controller; +import static com.moral.common.util.WebUtils.getParametersStartingWith; + import java.util.List; +import java.util.Map; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; 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.RequestParam; import org.springframework.web.bind.annotation.RestController; import com.moral.common.bean.ResultBean; @@ -91,7 +96,7 @@ * @return the install devices by operate user */ @GetMapping(value = "myRelease") - public ResultBean<List<Device>> getInstallDevicesByOperateUser(Integer uid, Integer pageIndex, Integer pageSize) { + public ResultBean<List<Device>> getInstallDevicesByOperateUser(@RequestParam(value="uid", required=true)Integer uid, @RequestParam(defaultValue="0")Integer pageIndex, @RequestParam(defaultValue="0")Integer pageSize) { List<Device> devices = deviceService.getInstallDevicesByOperateUser(uid,pageIndex,pageSize); return new ResultBean<List<Device>>(devices); } @@ -103,7 +108,7 @@ * @return the device by mac */ @GetMapping(value = "getEquInfoByMac") - public ResultBean<Device> getDeviceByMac(String mac) { + public ResultBean<Device> getDeviceByMac(@RequestParam(value="mac", required=true)String mac) { Device device = deviceService.getDeviceByMac(mac); return new ResultBean<Device>(device); } @@ -115,8 +120,9 @@ * @return the monitor points by area name */ @GetMapping(value = "getMpointsByAreaName") - public ResultBean<List<MonitorPoint>> getMonitorPointsByAreaName(String areaName) { - List<MonitorPoint> monitorPoints = monitorPointService.getMonitorPointsByAreaName(areaName); + public ResultBean<List<MonitorPoint>> getMonitorPointsByAreaName(HttpServletRequest request) { + Map<String, Object> parameters = getParametersStartingWith(request, null); + List<MonitorPoint> monitorPoints = monitorPointService.getMonitorPointsByAreaName(parameters); return new ResultBean<List<MonitorPoint>>(monitorPoints); } @@ -127,8 +133,9 @@ * @return the organizations by area name */ @GetMapping(value = "getOrgsByAreaName") - public ResultBean<List<Organization>> getOrganizationsByAreaName(String areaName) { - List<Organization> organizations = organizationService.getOrganizationsByAreaName(areaName); + public ResultBean<List<Organization>> getOrganizationsByAreaName(HttpServletRequest request) { + Map<String, Object> parameters = getParametersStartingWith(request, null); + List<Organization> organizations = organizationService.getOrganizationsByAreaName(parameters); return new ResultBean<List<Organization>>(organizations); } } diff --git a/src/main/java/com/moral/controller/ReportController.java b/src/main/java/com/moral/controller/ReportController.java index 5b782d0..866411a 100644 --- a/src/main/java/com/moral/controller/ReportController.java +++ b/src/main/java/com/moral/controller/ReportController.java @@ -19,6 +19,7 @@ import org.springframework.web.bind.annotation.RestController; import com.moral.common.exception.BusinessException; +import com.moral.common.util.ValidateUtil; import com.moral.service.DeviceService; import com.moral.service.HistoryService; @@ -41,26 +42,25 @@ Object mac = parameters.get("mac"); Object time = parameters.get("time"); Object type = parameters.get("type"); - if (isEmpty(mac) || isEmpty(time) || isEmpty(type)) { - result.put("msg", "���������������������"); + ValidateUtil.notNull(mac, "param.is.null"); + ValidateUtil.notNull(time, "param.is.null"); + ValidateUtil.notNull(type, "param.is.null"); + List<Map<String, Object>> sensors = deviceService.getSensorsByDevice(mac.toString()); + List<Map<String, Object>> sensorsAverage = historyService.getSensorsAverageByDevice4Report(parameters,sensors); + if (isEmpty(sensorsAverage)) { + result.put("msg", "���������������"); } else { - List<Map<String, Object>> sensors = deviceService.getSensorsByDevice(mac.toString()); - List<Map<String, Object>> sensorsAverage = historyService.getSensorsAverageByDevice4Report(parameters,sensors); - if (isEmpty(sensorsAverage)) { - result.put("msg", "���������������"); - } else { - String[][] exportColumn = new String[sensors.size() + 1][]; - exportColumn[0] = new String[] { "������", "20", "time" }; - for (int i = 0; i < sensors.size(); i++) { - String name = (String) sensors.get(i).get("name"); - String key = (String) sensors.get(i).get("key"); - exportColumn[i + 1] = new String[] { name, "10", key }; - } - - OutputStream outputStream = exportData(response, time + "_" + mac + "_" + type, sensorsAverage, exportColumn); - outputStream.flush(); - outputStream.close(); + String[][] exportColumn = new String[sensors.size() + 1][]; + exportColumn[0] = new String[] { "������", "20", "time" }; + for (int i = 0; i < sensors.size(); i++) { + String name = (String) sensors.get(i).get("name"); + String key = (String) sensors.get(i).get("key"); + exportColumn[i + 1] = new String[] { name, "10", key }; } + + OutputStream outputStream = exportData(response, time + "_" + mac + "_" + type, sensorsAverage, exportColumn); + outputStream.flush(); + outputStream.close(); } } catch (BusinessException be) { be.printStackTrace(); diff --git a/src/main/java/com/moral/controller/ScreenController.java b/src/main/java/com/moral/controller/ScreenController.java index 54c309f..a140d21 100644 --- a/src/main/java/com/moral/controller/ScreenController.java +++ b/src/main/java/com/moral/controller/ScreenController.java @@ -91,14 +91,8 @@ */ @GetMapping("equipment-state") public Map<String, Object> getDeviceStatesByAccount(HttpServletRequest request) { - Map<String, Object> result = new LinkedHashMap<String, Object>(); Map<String, Object> parameters = getParametersStartingWith(request, null); - if (!parameters.containsKey("accountId")) { - result.put("msg", "���������������������"); - } else { - result = deviceService.getDeviceStatesByAccount(parameters); - } - return result; + return deviceService.getDeviceStatesByAccount(parameters); } /** @@ -151,14 +145,8 @@ */ @GetMapping("day-aqi") public Map<String, Object> getDayAQIByDevice(HttpServletRequest request) { - Map<String, Object> result = new HashMap<String, Object>(); Map<String, Object> parameters = getParametersStartingWith(request, null); - if (!parameters.containsKey("mac")) { - result.put("msg", "���������������������"); - } else { - result = historyService.getDayAQIByDevice(parameters); - } - return result; + return historyService.getDayAQIByDevice(parameters); } /** @@ -170,14 +158,8 @@ */ @GetMapping("all-average") public Map<String, Object> getAllSensorAverageByDevice(HttpServletRequest request) { - Map<String, Object> result = new LinkedHashMap<String, Object>(); Map<String, Object> parameters = getParametersStartingWith(request, null); - if (!(parameters.containsKey("areaCode") && parameters.containsKey("accountId"))) { - result.put("msg", "���������������������"); - } else { - result = historyService.getAllSensorAverageByDevice(parameters); - } - return result; + return historyService.getAllSensorAverageByDevice(parameters); } /** @@ -189,15 +171,8 @@ */ @GetMapping("sensor-average") public Map<String, Object> getDeviceRankingBySensorAverage(HttpServletRequest request) { - Map<String, Object> result = new HashMap<String, Object>(); 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; + return historyService.getDeviceRankingBySensorAverage(parameters); } /** @@ -209,14 +184,8 @@ */ @GetMapping("month-sensor-average") public Map<String, Object> getMonthAverageBySensor(HttpServletRequest request) { - Map<String, Object> result = new HashMap<String, Object>(); Map<String, Object> parameters = getParametersStartingWith(request, null); - if (!(parameters.containsKey("mac") && parameters.containsKey("macKey"))) { - result.put("msg", "���������������������"); - } else { - result = historyService.getMonthAverageBySensor(parameters); - } - return result; + return historyService.getMonthAverageBySensor(parameters); } } diff --git a/src/main/java/com/moral/mapper/MonitorPointMapper.java b/src/main/java/com/moral/mapper/MonitorPointMapper.java index d05e398..1483e61 100644 --- a/src/main/java/com/moral/mapper/MonitorPointMapper.java +++ b/src/main/java/com/moral/mapper/MonitorPointMapper.java @@ -1,11 +1,12 @@ package com.moral.mapper; import java.util.List; +import java.util.Map; import com.moral.common.mapper.BaseMapper; import com.moral.entity.MonitorPoint; public interface MonitorPointMapper extends BaseMapper<MonitorPoint>{ - List<MonitorPoint> getMonitorPointsByAreaName(String areaName); + List<MonitorPoint> getMonitorPointsByAreaName(Map<String, Object> parameters); } \ No newline at end of file diff --git a/src/main/java/com/moral/mapper/OrganizationMapper.java b/src/main/java/com/moral/mapper/OrganizationMapper.java index 7998d97..a3c3961 100644 --- a/src/main/java/com/moral/mapper/OrganizationMapper.java +++ b/src/main/java/com/moral/mapper/OrganizationMapper.java @@ -1,11 +1,12 @@ package com.moral.mapper; import java.util.List; +import java.util.Map; import com.moral.common.mapper.BaseMapper; import com.moral.entity.Organization; public interface OrganizationMapper extends BaseMapper<Organization> { - List<Organization> getOrganizationsByAreaName(String areaName); + List<Organization> getOrganizationsByAreaName(Map<String, Object> parameters); } \ No newline at end of file diff --git a/src/main/java/com/moral/service/MonitorPointService.java b/src/main/java/com/moral/service/MonitorPointService.java index c5f8508..7860a85 100644 --- a/src/main/java/com/moral/service/MonitorPointService.java +++ b/src/main/java/com/moral/service/MonitorPointService.java @@ -1,11 +1,12 @@ package com.moral.service; import java.util.List; +import java.util.Map; import com.moral.entity.MonitorPoint; public interface MonitorPointService { - List<MonitorPoint> getMonitorPointsByAreaName(String areaName); + List<MonitorPoint> getMonitorPointsByAreaName(Map<String, Object> parameters); } diff --git a/src/main/java/com/moral/service/OrganizationService.java b/src/main/java/com/moral/service/OrganizationService.java index fc20a17..6190056 100644 --- a/src/main/java/com/moral/service/OrganizationService.java +++ b/src/main/java/com/moral/service/OrganizationService.java @@ -1,6 +1,7 @@ package com.moral.service; import java.util.List; +import java.util.Map; import java.util.Set; import com.moral.entity.Organization; @@ -9,6 +10,6 @@ Set<Integer> getChildOrganizationIds(Integer orgId); - List<Organization> getOrganizationsByAreaName(String areaName); + List<Organization> getOrganizationsByAreaName(Map<String, Object> parameters); } diff --git a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java index 5623fd7..982bbe0 100644 --- a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java +++ b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java @@ -29,6 +29,7 @@ @Override public Map<String, Object> getDeviceStatesByAccount(Map<String, Object> parameters) { + ValidateUtil.notNull(parameters.get("accountId"), "param.is.null"); Map<String, Object> result = new HashMap<String, Object>(); accountService.setOrgIdsByAccount(parameters); List<Map<String, Object>> list = deviceMapper.getDeviceStatesByAccount(parameters); @@ -81,6 +82,7 @@ @Override public List<Device> getInstallDevicesByOperateUser(Integer uid, Integer pageIndex, Integer pageSize) { + ValidateUtil.notNull(uid, "param.is.null"); Device device = new Device(); device.setOperateUserId(uid); PageHelper.startPage(pageIndex, pageSize); diff --git a/src/main/java/com/moral/service/impl/HistoryServiceImpl.java b/src/main/java/com/moral/service/impl/HistoryServiceImpl.java index e20f449..82e5fc6 100644 --- a/src/main/java/com/moral/service/impl/HistoryServiceImpl.java +++ b/src/main/java/com/moral/service/impl/HistoryServiceImpl.java @@ -32,6 +32,7 @@ import com.moral.common.exception.BusinessException; import com.moral.common.util.CalculateUtils; import com.moral.common.util.ResourceUtil; +import com.moral.common.util.ValidateUtil; import com.moral.mapper.HistoryMapper; import com.moral.service.AccountService; import com.moral.service.HistoryService; @@ -50,6 +51,8 @@ @Override public Map<String, Object> getAllSensorAverageByDevice(Map<String, Object> parameters) { + ValidateUtil.notNull(parameters.get("areaCode"), "param.is.null"); + ValidateUtil.notNull(parameters.get("accountId"), "param.is.null"); accountService.setOrgIdsByAccount(parameters); Date date = new Date(); // ������������ -10������ @@ -73,8 +76,11 @@ @Override public Map<String, Object> getDeviceRankingBySensorAverage(Map<String, Object> parameters) { - Map<String, Object> result = new LinkedHashMap<String, Object>(); + ValidateUtil.notNull(parameters.get("areaCode"), "param.is.null"); + ValidateUtil.notNull(parameters.get("accountId"), "param.is.null"); + ValidateUtil.notNull(parameters.get("macKey"), "param.is.null"); + Map<String, Object> result = new LinkedHashMap<String, Object>(); accountService.setOrgIdsByAccount(parameters); Date date = new Date(); // ������������ -1������ @@ -91,6 +97,7 @@ @Override public Map<String, Object> getDayAQIByDevice(Map<String, Object> parameters) { + ValidateUtil.notNull(parameters.get("mac"), "param.is.null"); Map<String, Object> resultMap = new HashMap<String, Object>(); Date date = new Date(); // ������00:00:00 @@ -150,6 +157,8 @@ @Override public Map<String, Object> getMonthAverageBySensor(Map<String, Object> parameters) { + ValidateUtil.notNull(parameters.get("mac"), "param.is.null"); + ValidateUtil.notNull(parameters.get("macKey"), "param.is.null"); Map<String, Object> result = new HashMap<String, Object>(); Date date = new Date(); Long end = truncate(date, Calendar.DATE).getTime(), start; diff --git a/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java b/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java index 5f07384..77ecb3f 100644 --- a/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java +++ b/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java @@ -1,11 +1,13 @@ package com.moral.service.impl; import java.util.List; +import java.util.Map; import javax.annotation.Resource; import org.springframework.stereotype.Service; +import com.moral.common.util.ValidateUtil; import com.moral.entity.MonitorPoint; import com.moral.mapper.MonitorPointMapper; import com.moral.service.MonitorPointService; @@ -16,8 +18,9 @@ private MonitorPointMapper monitorPointMapper; @Override - public List<MonitorPoint> getMonitorPointsByAreaName(String areaName) { - return monitorPointMapper.getMonitorPointsByAreaName(areaName); + public List<MonitorPoint> getMonitorPointsByAreaName(Map<String, Object> parameters) { + ValidateUtil.notNull(parameters.get("areaName"), "param.is.null"); + return monitorPointMapper.getMonitorPointsByAreaName(parameters); } } diff --git a/src/main/java/com/moral/service/impl/OperateUserServiceImpl.java b/src/main/java/com/moral/service/impl/OperateUserServiceImpl.java index ec67a24..5d8de72 100644 --- a/src/main/java/com/moral/service/impl/OperateUserServiceImpl.java +++ b/src/main/java/com/moral/service/impl/OperateUserServiceImpl.java @@ -8,6 +8,7 @@ import com.moral.common.exception.BusinessException; import com.moral.common.util.Crypto; +import com.moral.common.util.ValidateUtil; import com.moral.entity.OperateUser; import com.moral.mapper.OperateUserMapper; import com.moral.service.OperateUserService; @@ -27,6 +28,8 @@ @Override public OperateUser mobileLogin(String mobile, String password) { + ValidateUtil.notEmpty(mobile, "param.is.null"); + ValidateUtil.notEmpty(password, "param.is.null"); OperateUser operateUser = new OperateUser(); operateUser.setMobile(mobile); operateUser.setPassword(Crypto.md5(password)); @@ -42,6 +45,9 @@ @Override @Transactional public OperateUser updatePassword(Integer uid, String password, String newPassword) { + ValidateUtil.notNull(uid, "param.is.null"); + ValidateUtil.notEmpty(password, "param.is.null"); + ValidateUtil.notEmpty(newPassword, "param.is.null"); OperateUser operateUser = operateUserMapper.selectByPrimaryKey(uid); if (ObjectUtils.isEmpty(operateUser) || !Crypto.md5(password).equals(operateUser.getPassword())) { throw new BusinessException("���������������,���������������������"); diff --git a/src/main/java/com/moral/service/impl/OrganizationServiceImpl.java b/src/main/java/com/moral/service/impl/OrganizationServiceImpl.java index 8b20b1d..1d9d8c9 100644 --- a/src/main/java/com/moral/service/impl/OrganizationServiceImpl.java +++ b/src/main/java/com/moral/service/impl/OrganizationServiceImpl.java @@ -4,12 +4,15 @@ import java.util.HashSet; import java.util.List; +import java.util.Map; import java.util.Set; import javax.annotation.Resource; import org.springframework.stereotype.Service; +import com.moral.common.exception.ValidateException; +import com.moral.common.util.ValidateUtil; import com.moral.entity.Organization; import com.moral.entity.OrganizationRelation; import com.moral.mapper.OrganizationMapper; @@ -42,9 +45,11 @@ return orgIds; } + @Override - public List<Organization> getOrganizationsByAreaName(String areaName) { - List<Organization> organizations = organizationMapper.getOrganizationsByAreaName(areaName); + public List<Organization> getOrganizationsByAreaName(Map<String, Object> parameters) { + ValidateUtil.notNull(parameters.get("areaName"), "param.is.null"); + List<Organization> organizations = organizationMapper.getOrganizationsByAreaName(parameters); return organizations; } diff --git a/src/main/resources/mapper/MonitorPointMapper.xml b/src/main/resources/mapper/MonitorPointMapper.xml index 33258a0..b434327 100644 --- a/src/main/resources/mapper/MonitorPointMapper.xml +++ b/src/main/resources/mapper/MonitorPointMapper.xml @@ -6,9 +6,16 @@ mp.* FROM monitor_point mp, - area a + area a + <if test="cityName != null"> + ,city c + </if> WHERE mp.area_code = a.area_code - AND a.area_name = #{areaName} + AND a.area_name = #{areaName} + <if test="cityName != null"> + AND c.city_name = #{cityName} + AND mp.city_code = c.city_code + </if> </select> </mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/OrganizationMapper.xml b/src/main/resources/mapper/OrganizationMapper.xml index cfbdada..b05b312 100644 --- a/src/main/resources/mapper/OrganizationMapper.xml +++ b/src/main/resources/mapper/OrganizationMapper.xml @@ -7,8 +7,15 @@ FROM organization o, area a + <if test="cityName != null"> + ,city c + </if> WHERE o.area_code = a.area_code - AND a.area_name = #{areaName} + AND a.area_name = #{areaName} + <if test="cityName != null"> + AND c.city_name = #{cityName} + AND o.city_code = c.city_code + </if> </select> </mapper> \ No newline at end of file -- Gitblit v1.8.0