avcon.py 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. #!/usr/bin/env python3
  2. # -*- coding: utf-8 -*-
  3. from fastapi import APIRouter, Request, Depends,Query,HTTPException
  4. from database import get_db
  5. from sqlalchemy.orm import Session
  6. from sqlalchemy import case,or_
  7. from sqlalchemy import text
  8. from utils import *
  9. from utils.ry_system_util import *
  10. from utils.video_util import *
  11. from common.security import valid_access_token
  12. from fastapi.responses import JSONResponse
  13. import traceback
  14. from datetime import datetime
  15. from common import AvconH5API
  16. from models import *
  17. '''
  18. 融合通信相关接口
  19. '''
  20. router = APIRouter()
  21. @router.get('/get_video_list')
  22. async def get_video_list(
  23. db: Session = Depends(get_db)
  24. ):
  25. '''
  26. rows = db.query(AvconDevice).all()
  27. dev_list = []
  28. for row in rows:
  29. dev_list.append(get_model_dict(row))
  30. return dev_list
  31. '''
  32. return AvconH5API.get_channel_all()
  33. '''
  34. 以下代码已迁移到job里面,每1个小时刷新一次,仅供API接口调用参考,可以删除
  35. dev_list = []
  36. region_list = AvconH5API.get_region()
  37. if region_list is not None:
  38. for region_item in region_list:
  39. region_id = region_item['region_id']
  40. region_name = region_item['region_name']
  41. region_group_list = AvconH5API.get_group(region_id)
  42. if region_group_list is not None:
  43. for region_group_item in region_group_list:
  44. group_id = region_group_item['group_id']
  45. group_name = region_group_item['group_name']
  46. # 子节点下面才有事业部
  47. child_count = region_group_item['child_count']
  48. if child_count > 0:
  49. child_region_group_list = AvconH5API.get_group(region_id, group_id)
  50. if child_region_group_list is not None:
  51. for child_region_group_item in child_region_group_list:
  52. child_group_id = child_region_group_item['group_id']
  53. child_group_name = child_region_group_item['group_name']
  54. device_list = AvconH5API.get_group_device(child_group_id)
  55. if device_list is not None:
  56. for device_item in device_list:
  57. dev_id = device_item['dev_id']
  58. dev_name = device_item['dev_name']
  59. device_item['parent_group_id'] = group_id
  60. dev_list.append(device_item)
  61. if len(dev_list) > 0:
  62. db.query(AvconDevice).delete()
  63. db.commit()
  64. for n in dev_list:
  65. new_dev = AvconDevice(**n)
  66. db.add(new_dev)
  67. db.commit()
  68. return dev_list
  69. '''