MrShi
15 小时以前 0b8838c8dd02161c5e7577162d8cd3318d133b68
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
@@ -244,9 +244,45 @@
        }
        if(Constants.equalsInteger(req.getWithCameras(),Constants.ONE)){
            initReginCameralList(allList,req.getName());//获取全部监控点数据
        }else  if(Constants.equalsInteger(req.getWithCameras(),Constants.TWO)){
            initReginCameralList(allList,req.getName());//获取全部监控点数据
            initReginFireDeviveList(allList,req.getName());//获取全部监控点数据
            initReginSensorList(allList,req.getName());//获取全部监控点数据
        }
        List<PageRegionInfoResponse> data = new RegionTreeVO(allList).buildTree();
        return  data;
    }
    private void initReginFireDeviveList(List<PageRegionInfoResponse> allList,String name) {
        List<CarmeraListVO> carmeraListVOList = fireDeviceList();
        if(carmeraListVOList!=null && carmeraListVOList.size()>0){
            for(PageRegionInfoResponse p : allList){
                for(CarmeraListVO c : carmeraListVOList){
                    if(StringUtils.equals(p.getIndexCode(),c.getReginCode())
                            && (StringUtils.contains(c.getName(),name) ||StringUtils.isBlank(name))){
                        if(p.getCarmeraList()==null){
                            p.setCarmeraList(new ArrayList<>());
                        }
                        p.getCarmeraList().add(c);
                    }
                }
            }
        }
    }
    private void initReginSensorList(List<PageRegionInfoResponse> allList,String name) {
        List<CarmeraListVO> carmeraListVOList = sensorList();
        if(carmeraListVOList!=null && carmeraListVOList.size()>0){
            for(PageRegionInfoResponse p : allList){
                for(CarmeraListVO c : carmeraListVOList){
                    if(StringUtils.equals(p.getIndexCode(),c.getReginCode())
                            && (StringUtils.contains(c.getName(),name) ||StringUtils.isBlank(name))){
                        if(p.getCarmeraList()==null){
                            p.setCarmeraList(new ArrayList<>());
                        }
                        p.getCarmeraList().add(c);
                    }
                }
            }
        }
    }
    private void initReginCameralList(List<PageRegionInfoResponse> allList,String name) {
        CarmeraListVO re = new CarmeraListVO();
@@ -346,6 +382,110 @@
        }
        return  data;
    }
    public  List<CarmeraListVO> sensorList(){
        List<SensorStatusListResponse> allList = new ArrayList<>();
        boolean hasNext = true;
        int curTotal = 0;
        int curPage = 1;
        while (hasNext){
            //分页遍历循环查询所有门禁设备数据
            SensorStatusListRequest param = new SensorStatusListRequest();
            param.setRegionIndexCode("-1");
            param.setPageSize(100);
            param.setPageNo(curPage);
            BaseResponse<BaseListPageResponse<SensorStatusListResponse>> response = HKService.sensorStatusSearch(param);
            if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){
                throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "对不起,海康同步数据失败~");
            }
            BaseListPageResponse<SensorStatusListResponse> r = response.getData();
            curTotal += 100;
            if(curTotal >= r.getTotal()){
                hasNext = false;
            }
            if(r.getList() == null || r.getList().size()==0){
                hasNext =false;
            }else{
                allList.addAll(r.getList());
            }
            curPage++;
        }
        List<CarmeraListVO> data = new ArrayList<>();
        for(SensorStatusListResponse p : allList){
                CarmeraListVO t = new CarmeraListVO();
                t.setIndexCode(p.getIndexCode());
                t.setReginCode(p.getRegionIndexCode());
                t.setName(p.getCn());
                t.setStatus(p.getUnitStatus());
                 //0:未注册 1:正常 2: 修复中 3:异常状态
                if(t.getStatus()!=null && t.getStatus() == 0){
                    t.setStatusName("未注册");
                }
                if(t.getStatus()!=null && t.getStatus() == 1){
                    t.setStatusName("正常");
                }
                if(t.getStatus()!=null && t.getStatus() == 2){
                    t.setStatusName("修复中");
                }
                if(t.getStatus()!=null && t.getStatus() == 3){
                    t.setStatusName("异常状态");
                }
                data.add(t);
        }
        return  data;
    }
    public  List<CarmeraListVO> fireDeviceList(){
        List<FireDeviceStatusListResponse> allList = new ArrayList<>();
        boolean hasNext = true;
        int curTotal = 0;
        int curPage = 1;
        while (hasNext){
            //分页遍历循环查询所有门禁设备数据
            FireDeviceStatuslListRequest param = new FireDeviceStatuslListRequest();
            param.setRegionIndexCode("-1");
            param.setPageSize(100);
            param.setPageNo(curPage);
            BaseResponse<BaseListPageResponse<FireDeviceStatusListResponse>> response = HKService.fireDeviceStatusSearch(param);
            if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){
                throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "对不起,海康同步数据失败~");
            }
            BaseListPageResponse<FireDeviceStatusListResponse> r = response.getData();
            curTotal += 100;
            if(curTotal >= r.getTotal()){
                hasNext = false;
            }
            if(r.getList() == null || r.getList().size()==0){
                hasNext =false;
            }else{
                allList.addAll(r.getList());
            }
            curPage++;
        }
        List<CarmeraListVO> data = new ArrayList<>();
        for(FireDeviceStatusListResponse p : allList){
                CarmeraListVO t = new CarmeraListVO();
                t.setIndexCode(p.getIndexCode());
                t.setReginCode(p.getRegionIndexCode());
                t.setName(p.getCn());
                t.setStatus(p.getUnitStatus());
                 //0:未注册 1:正常 2: 修复中 3:异常状态
                if(t.getStatus()!=null && t.getStatus() == 0){
                    t.setStatusName("未注册");
                }
                if(t.getStatus()!=null && t.getStatus() == 1){
                    t.setStatusName("正常");
                }
                if(t.getStatus()!=null && t.getStatus() == 2){
                    t.setStatusName("修复中");
                }
                if(t.getStatus()!=null && t.getStatus() == 3){
                    t.setStatusName("异常状态");
                }
                data.add(t);
        }
        return  data;
    }
    @Override
    public    List<PageFireChannelInfoResponse> fireChannelList(){
        List<PageFireChannelInfoResponse> allList = new ArrayList<>();