kaiyu
2020-12-02 84b79096372143c9f9ed5d91156a966f7d119c2b
修改获取五分钟数据无站点相关BUG
3 files modified
66 ■■■■ changed files
src/main/java/com/moral/controller/WebController.java 37 ●●●● patch | view | raw | blame | history
src/main/java/com/moral/service/MonitorPointService.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java 27 ●●●●● patch | view | raw | blame | history
src/main/java/com/moral/controller/WebController.java
@@ -66,7 +66,6 @@
    MapPathService mapPathService;
    @GetMapping("test")
    public ResultBean<List<WebProvince>> add(HttpServletRequest request) {
        String token = request.getHeader("token");
@@ -79,7 +78,7 @@
    /**
     * @Description: 登陆接口
     * @Param: [parameters]
     * @return: java.util.Map<java.lang.String                               ,                               java.lang.Object>
     * @return: java.util.Map<java.lang.String                                                               ,                                                               java.lang.Object>
     * @Author: 下雨听风
     * @Date: 2020/10/19
     */
@@ -103,7 +102,7 @@
    /**
     * @Description: 退出接口
     * @Param: [request]
     * @return: java.util.Map<java.lang.String                               ,                               java.lang.Object>
     * @return: java.util.Map<java.lang.String                                                               ,                                                               java.lang.Object>
     * @Author: 下雨听风
     * @Date: 2020/10/19
     */
@@ -118,6 +117,9 @@
        return resultMap;
    }
    public static void main(String[] args) {
    }
    @UserLoginToken
    @GetMapping("getAccountInfo")
@@ -140,7 +142,7 @@
    /**
     * @Description: 获取传感器平均值
     * @Param: [request]
     * @return: com.moral.common.bean.ResultBean<java.util.List                               <                               java.util.Map                               <                               java.lang.String                               ,                               java.lang.Object>>>
     * @return: com.moral.common.bean.ResultBean<java.util.List                                                               <                                                               java.util.Map                                                               <                                                               java.lang.String                                                               ,                                                               java.lang.Object>>>
     * @Author: 下雨听风
     * @Date: 2020/10/19
     */
@@ -169,7 +171,7 @@
    /**
     * @Description: 获取某个站点设备信息
     * @Param: [request]
     * @return: com.moral.common.bean.ResultBean<java.util.List                               <                               com.moral.entity.MonitorPoint>>
     * @return: com.moral.common.bean.ResultBean<java.util.List                                                               <                                                               com.moral.entity.MonitorPoint>>
     * @Author: 下雨听风
     * @Date: 2020/10/19
     */
@@ -185,7 +187,7 @@
    /**
     * @Description: 获取坐标接口,前端用于建点
     * @Param: [request]
     * @return: com.moral.common.bean.ResultBean<java.util.List                               <                               com.moral.entity.Device>>
     * @return: com.moral.common.bean.ResultBean<java.util.List                                                               <                                                               com.moral.entity.Device>>
     * @Author: 下雨听风
     * @Date: 2020/10/19
     */
@@ -200,7 +202,7 @@
    /**
     * @Description: 根据monitorId获取该站点下每一台设备具体传感器的五分钟平均值
     * @Param: []
     * @return: com.moral.common.bean.ResultBean<java.util.Map                               <                               java.lang.String                               ,                               java.lang.Object>>
     * @return: com.moral.common.bean.ResultBean<java.util.Map                                                               <                                                               java.lang.String                                                               ,                                                               java.lang.Object>>
     * @Author: 下雨听风
     * @Date: 2020/10/19
     */
@@ -219,14 +221,15 @@
        //根据orgId获取该站点下所有设备mac集合
        String accountId = WebTokenUtils.getIdBytoken(token);
        Account account = accountService.getAccountById(Integer.parseInt(accountId));
        parameters.put("organizationId",account.getOrganizationId());
        List<MonitorPoint> monitorPoints = monitorPointService.getMonitorPointsAndDevicesByRegion(parameters);
        if(ObjectUtils.isEmpty(monitorPoints))
        parameters.put("organizationId", account.getOrganizationId());
        List<MonitorPoint> monitorPoints = monitorPointService.getMonitorPointsByRegionAndOrgId(parameters);
        if (ObjectUtils.isEmpty(monitorPoints))
            return ResultBean.fail("该账号对应地区无站点");
        List<Device> devices = new ArrayList<>();
        for (MonitorPoint monitorPoint : monitorPoints) {
             devices.addAll(monitorPoint.getDevices());
            if (!ObjectUtils.isEmpty(monitorPoint.getDevices()))
                devices.addAll(monitorPoint.getDevices());
        }
        if (ObjectUtils.isEmpty(devices))
            return ResultBean.fail("该账号对应地区无设备");
@@ -399,7 +402,7 @@
    /**
     * @Description: 根据mac号获取单台设备信息,特殊客户只显示客户需要的传感器信息
     * @Param: [request]
     * @return: com.moral.common.bean.ResultBean<java.util.Map   <   java.lang.String   ,   java.lang.Object>>
     * @return: com.moral.common.bean.ResultBean<java.util.Map       <       java.lang.String       ,       java.lang.Object>>
     * @Author: 下雨听风
     * @Date: 2020/10/22
     */
@@ -475,7 +478,7 @@
    /**
     * @Description: 根据token获取用户地图
     * @Param: [request]
     * @return: com.moral.common.bean.ResultBean<java.util.List   <   com.moral.entity.WebProvince>>
     * @return: com.moral.common.bean.ResultBean<java.util.List       <       com.moral.entity.WebProvince>>
     * @Author: 下雨听风
     * @Date: 2020/11/27
     */
@@ -492,13 +495,13 @@
    @UserLoginToken
    @GetMapping("monitor-points")
    public ResultBean<List<MonitorPoint>> getmMnitorPoints(HttpServletRequest request){
    public ResultBean<List<MonitorPoint>> getmMnitorPoints(HttpServletRequest request) {
        String accountId = WebTokenUtils.getIdBytoken(request.getHeader("token"));
        Account account = accountService.getAccountById(Integer.parseInt(accountId));
        String regionCode = request.getParameter("regionCode");
        Map<String,Object> paramMap = new HashMap<>();
        paramMap.put("organizationId",account.getOrganizationId());
        paramMap.put("regionCode",regionCode);
        Map<String, Object> paramMap = new HashMap<>();
        paramMap.put("organizationId", account.getOrganizationId());
        paramMap.put("regionCode", regionCode);
        List<MonitorPoint> monitorPoints = monitorPointService.getMonitorPointsAndDevicesByRegion(paramMap);
        if (ObjectUtils.isEmpty(monitorPoints))
            return new ResultBean<>("无对应站点设备信息", ResultBean.FAIL);
src/main/java/com/moral/service/MonitorPointService.java
@@ -36,6 +36,8 @@
    List<MonitorPoint> getMonitorPointsByRegion(Map<String, Object> parameters);
    List<MonitorPoint> getMonitorPointsByRegionAndOrgId(Map<String, Object> parameters);
    List<Integer> queryVersionsById(Integer id);
    MonitorPoint queryMonitorPointById(Integer mpointId);
src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java
@@ -377,6 +377,33 @@
        return monitorPoints;
    }
    @Override
    public List<MonitorPoint> getMonitorPointsByRegionAndOrgId(Map<String, Object> parameters) {
        //校验参数
        Object organizationId = parameters.remove("organizationId");
        //判断参数是否为null,如果为null则抛出自定义异常,msgKey为异常信息
        ValidateUtil.notNull(organizationId, "param.is.null");
        ValidateUtil.notNull(parameters.get("regionCode"), "param.is.null");
        //组装查询条件
        ParameterUtils.getRegionType4RegionCode(parameters);
        //查询对应code的站点数据
        Example example = new Example(MonitorPoint.class);
        Criteria criteria = example.createCriteria();
        criteria.andEqualTo("isDelete", Constants.IS_DELETE_FALSE);
        //判断是否为本公司开发人员,如果不是则添加orgid限制用户查看权限
        if (Constants.isNotSpecialOrgId(Integer.valueOf(organizationId.toString()))) {
            Set<Integer> organizationIds = organizationService.getChildOrganizationIds(Integer.valueOf(organizationId.toString()));
            criteria.andIn("organizationId", organizationIds);
        }
        criteria.andEqualTo(parameters.get("regionType") + "Code", parameters.remove("regionCode"));
        List<MonitorPoint> monitorPoints = monitorPointMapper.selectByExample(example);
        return monitorPoints;
    }
    @SuppressWarnings("unchecked")
    @Override
    public Collection<Object> getDevicesStateByRegion(Map<String, Object> parameters) {