‘liusuyi’
2024-03-30 ad29370708776906f971ca863481c31d59ccf8f0
ard-work/src/main/java/com/ruoyi/device/camera/service/impl/ArdCamerasServiceImpl.java
@@ -355,6 +355,7 @@
                ardChannel.setDeviceId(camera.getId());
                List<ArdChannel> ardChannels = ardChannelMapper.selectArdChannelList(ardChannel);
                if (ardChannels != null) {
                    ardChannels.stream().sorted();
                    camera.setChannelList(ardChannels);
                }
                Map<String, Object> cameraMap = ArdTool.convertEntityToMap(camera);
@@ -563,11 +564,26 @@
    }
    @Override
    public List<Map<String, Object>> getCamerasByDeptId(Long deptId) {
        List<Map<String, Object>> result = ardCamerasMapper.getCamerasByDeptId(deptId);
    public List<Map<String, Object>> getCamerasByDeptId(Long deptId,String userId) {
        List<Long> deptIdList = new ArrayList();
        deptIdList.add(deptId);
        deptIdList = getOwnAndChildrenDeptIdList(deptIdList,new ArrayList());//递归查询下属部门主键
        //List<Map<String, Object>> result = ardCamerasMapper.getCamerasByDeptId(deptId,userId);
        List<Map<String, Object>> result = ardCamerasMapper.getCamerasByDeptId(deptIdList,userId);
        return result;
    }
    public List<Long> getOwnAndChildrenDeptIdList(List<Long> deptIdList,List<Long> deptIdListr){
        deptIdListr.addAll(deptIdList);
        List<Long> result = sysDeptMapper.getChildrenDeptIdList(deptIdList);
        if(result.size() != 0){
            deptIdListr.addAll(result);
            result = getOwnAndChildrenDeptIdList(result,deptIdListr);
        }
        deptIdListr = deptIdListr.stream().distinct().collect(Collectors.toList());
        return deptIdListr;
    }
    @Override
    public Boolean getCameraOperationByCameraId(String id, String userId) {
        Boolean result = ardCamerasMapper.getCameraOperationByCameraId(id,userId);