kaiyu
2020-09-22 8055e2dec629a0a1a8f468d8713bca80c2df9116
接口请求方式更改
4 files modified
65 ■■■■■ changed files
pom.xml 2 ●●● patch | view | raw | blame | history
src/main/java/com/moral/common/util/ParameterUtils.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/com/moral/controller/WebController.java 25 ●●●● patch | view | raw | blame | history
src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java 36 ●●●● patch | view | raw | blame | history
pom.xml
@@ -87,7 +87,7 @@
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
        <scope>provided</scope>
        <scope>compile</scope>
    </dependency>
    <dependency>
src/main/java/com/moral/common/util/ParameterUtils.java
@@ -45,6 +45,8 @@
                }
            }
        }
        parameters.put("regionType", regionType);
        parameters.put("nextLevel", nextLevel);
    }
src/main/java/com/moral/controller/WebController.java
@@ -3,15 +3,16 @@
import com.auth0.jwt.exceptions.JWTDecodeException;
import com.moral.common.bean.ResultBean;
import com.moral.common.exception.WebAuthException;
import com.moral.common.util.BeanUtils;
import com.moral.common.util.ParameterUtils;
import com.moral.common.util.RedisHashUtil;
import com.moral.common.util.WebTokenUtils;
import com.moral.common.util.*;
import com.moral.common.webAnno.UserLoginToken;
import com.moral.entity.AreaNames;
import com.moral.entity.MonitorPoint;
import com.moral.entity.Organization;
import com.moral.service.*;
import com.moral.util.LatLngTransformation;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import jdk.nashorn.internal.runtime.logging.Logger;
import org.springframework.web.bind.annotation.*;
@@ -42,6 +43,8 @@
    RedisHashUtil redisHashUtil;
    @Resource
    HistoryMinutelyService historyMinutelyService;
    @Resource
    MonitorPointService monitorPointService;
    @UserLoginToken
    @GetMapping("test")
@@ -193,9 +196,10 @@
    @UserLoginToken
    @PostMapping("report_avg_datas")
    public ResultBean<List<Map<String, Object>>> getMonitorPointOrDeviceAvgData(HttpServletRequest request,@RequestBody Map<String, Object> parameters)
    @GetMapping("report_avg_datas")
    public ResultBean<List<Map<String, Object>>> getMonitorPointOrDeviceAvgData(HttpServletRequest request)
            throws Exception {
        Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null);
        //该方法用于判断时间是具体到年月日
        ParameterUtils.getTimeType4Time(parameters);
        Object sensorKey = parameters.remove("sensorKey");
@@ -212,4 +216,13 @@
        }
        return new ResultBean<List<Map<String, Object>>>(list);
    }
    @UserLoginToken
    @GetMapping("monitorpoints-devices")
    public ResultBean<List<MonitorPoint>> getMonitorPointsAndDevicesByRegion(HttpServletRequest request)
            throws Exception {
        Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null);
        List<MonitorPoint> monitorPoints = monitorPointService.getMonitorPointsAndDevicesByRegion(parameters);
        return new ResultBean<List<MonitorPoint>>(monitorPoints);
    }
}
src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java
@@ -298,45 +298,42 @@
    public List<MonitorPoint> getMonitorPointsAndDevicesByRegion(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()))) {
            //criteria.andEqualTo("organizationId", organizationId);
            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);
        //查询监控点下所有的设备
        Iterator<MonitorPoint> iterator = monitorPoints.iterator();
        /*while (iterator.hasNext()) {
            MonitorPoint monitorPoint = iterator.next();
            List<Device> devices = deviceService.getDevicesByMonitorPointId(monitorPoint.getId());
            if (ObjectUtils.isEmpty(devices)) {
                iterator.remove();
            } else {
                monitorPoint.setDevices(devices);
            }
        }*/
        Example deviceExample = new Example(Device.class);//实例化
        //查询所有设备信息
        Example deviceExample = new Example(Device.class);
        Criteria deviceCriteria = deviceExample.createCriteria();
        deviceCriteria.orEqualTo("isDelete", Constants.IS_DELETE_FALSE);
        List<Device> devicesInfo = deviceMapper.selectByExample(deviceExample);
        Example monitorExample = new Example(MonitorPoint.class);//实例化
        //获取所有站点信息
        Example monitorExample = new Example(MonitorPoint.class);
        Criteria monitorCriteria = monitorExample.createCriteria();
        monitorCriteria.orEqualTo("isDelete", Constants.IS_DELETE_FALSE);
        List<MonitorPoint> monitorPointInfo = monitorPointMapper.selectByExample(monitorExample);
        //获取所有设备附加属性
        List<DeviceProperty> devicePropertyList = devicePropertyMapper.selectAll();
        //附加属性全部添加到设备实体中
        for (Device d : devicesInfo) {
            for (DeviceProperty dp : devicePropertyList) {
                if (dp.getId().equals(d.getId())) {
@@ -344,6 +341,8 @@
                }
            }
        }
        //把对应的设备信息添加到站点中
        Map<Integer, List<Device>> monitorDeviceMap = new HashMap();
        for (MonitorPoint m : monitorPointInfo) {
            List<Device> monitorDevices = new ArrayList<>();
@@ -354,6 +353,9 @@
            }
            monitorDeviceMap.put(m.getId(), monitorDevices);
        }
        //对应地区Code的迭代器,向站点中添加设备信息
        Iterator<MonitorPoint> iterator = monitorPoints.iterator();
        while (iterator.hasNext()) {
            MonitorPoint monitorPoint = iterator.next();
            for (Map.Entry<Integer, List<Device>> entry : monitorDeviceMap.entrySet()) {