#!/usr/bin/env python3 # -*- coding: utf-8 -*- from fastapi import APIRouter, Request, Depends,Query,HTTPException from database import get_db from sqlalchemy.orm import Session from sqlalchemy import case,or_ from sqlalchemy import text from utils import * from utils.ry_system_util import * from utils.video_util import * from common.security import valid_access_token from fastapi.responses import JSONResponse import traceback from datetime import datetime from common import AvconH5API from models import * ''' 融合通信相关接口 ''' router = APIRouter() @router.get('/get_video_list') async def get_video_list( db: Session = Depends(get_db) ): ''' rows = db.query(AvconDevice).all() dev_list = [] for row in rows: dev_list.append(get_model_dict(row)) return dev_list ''' return AvconH5API.get_channel_all() ''' 以下代码已迁移到job里面,每1个小时刷新一次,仅供API接口调用参考,可以删除 dev_list = [] region_list = AvconH5API.get_region() if region_list is not None: for region_item in region_list: region_id = region_item['region_id'] region_name = region_item['region_name'] region_group_list = AvconH5API.get_group(region_id) if region_group_list is not None: for region_group_item in region_group_list: group_id = region_group_item['group_id'] group_name = region_group_item['group_name'] # 子节点下面才有事业部 child_count = region_group_item['child_count'] if child_count > 0: child_region_group_list = AvconH5API.get_group(region_id, group_id) if child_region_group_list is not None: for child_region_group_item in child_region_group_list: child_group_id = child_region_group_item['group_id'] child_group_name = child_region_group_item['group_name'] device_list = AvconH5API.get_group_device(child_group_id) if device_list is not None: for device_item in device_list: dev_id = device_item['dev_id'] dev_name = device_item['dev_name'] device_item['parent_group_id'] = group_id dev_list.append(device_item) if len(dev_list) > 0: db.query(AvconDevice).delete() db.commit() for n in dev_list: new_dev = AvconDevice(**n) db.add(new_dev) db.commit() return dev_list '''