Bladeren bron

no message

libushang 4 maanden geleden
bovenliggende
commit
69a4af5378
4 gewijzigde bestanden met toevoegingen van 138 en 4 verwijderingen
  1. 2 1
      jobs/__init__.py
  2. 1 0
      models/video_base.py
  3. 126 1
      routers/api/videoResource/avcon.py
  4. 9 2
      routers/prod_api/system/user/__init__.py

+ 2 - 1
jobs/__init__.py

@@ -26,8 +26,9 @@ def register_jobs(scheduler: BaseScheduler):
     # scheduler.add_job(wdgh_proc, next_run_time=(datetime.now() + timedelta(seconds=13)))
     # scheduler.add_job(wdyy_proc, CronTrigger.from_crontab('0 * * * *'))
 
+    # 暂时不用了
     # scheduler.add_job(avcon_proc, next_run_time=(datetime.now() + timedelta(seconds=15)))
-    scheduler.add_job(avcon_proc, CronTrigger.from_crontab('0 0 * * *'))
+    # scheduler.add_job(avcon_proc, CronTrigger.from_crontab('0 0 * * *'))
 
     # 值班提醒推送
     scheduler.add_job(duty_proc, next_run_time=(datetime.now() + timedelta(seconds=3)))

+ 1 - 0
models/video_base.py

@@ -101,6 +101,7 @@ class AvconDevice(Base):
     dev_type = Column(String, nullable=True, comment='设备类型')
     domain = Column(String, nullable=True, comment='区域')
     group_id = Column(String, nullable=True, comment='分组')
+    group_name = Column(String, nullable=True, comment='分组名称')
     parent_group_id = Column(String, nullable=True, comment='父分组')
     status = Column(Integer, default=None, comment='状态')
     create_time = Column(DateTime, default=datetime.now, comment='数据创建时间')

+ 126 - 1
routers/api/videoResource/avcon.py

@@ -152,4 +152,129 @@ async def get_start_mini_param(
         "code": 0,
         "msg": "success",
         "data": "" + "avcon6://" + base64_str
-    }
+    }
+
+# 视频会商
+@router.get("/get_device_tree")
+async def get_device_tree(
+    body = Depends(remove_xss_json),
+    db: Session = Depends(get_db),
+    user_id = Depends(valid_access_token)
+):
+    try:
+        result = []
+        data = AvconH5API.get_search_region("指挥终端")
+        if data is not None:
+            result1 = []
+            fomat_device_result(data[0], result1)
+            result.append({
+                "id": data[0]["group_id"],
+                "label": data[0]["group_name"],
+                "children": result1
+            })
+        
+        data = AvconH5API.get_search_region("H323会议视频")
+        if data is not None:
+            result1 = []
+            fomat_device_result(data[0], result1)
+            result.append({
+                "id": data[0]["group_id"],
+                "label": data[0]["group_name"],
+                "children": result1
+            })
+        
+        data = AvconH5API.get_search_region("手机App")
+        if data is not None:
+            result1 = []
+            fomat_device_result(data[0], result1)
+            result.append({
+                "id": data[0]["group_id"],
+                "label": data[0]["group_name"],
+                "children": result1
+            })
+
+        return {
+            "code": 0,
+            "msg": "success",
+            "data": result
+        }
+
+    except Exception as e:
+        traceback.print_exc()
+        return {
+            "code": 500,
+            "msg": "无法获取视频终端"
+        }
+    
+def fomat_device_result(data: dict, result: dict) -> dict:
+    if "child_group" in data:
+        for n in data["child_group"]:
+            new_item = {
+                "id": n['group_id'],
+                "label": n['group_name'],
+                "order_id": n['order_id']
+            }
+            result1 = []
+            fomat_device_result(n, result1)
+            new_item["children"] = result1
+            result.append(new_item)
+
+            print('\r\n', n)
+
+    '''
+    if "child_device" in data:
+        for n in data["child_device"]:
+            new_item = {
+                "id": n['dev_id'],
+                "label": n['dev_name'],
+                "dev_type": n['dev_type'],
+                # "order_id": n['order_id'],
+                "isLeaf": True
+            }
+            result.append(new_item)
+            print('\r\n', n)
+    '''
+    
+@router.get("/get_device_list/{group_id}")
+async def get_device_list(
+    group_id: str,
+    body = Depends(remove_xss_json),
+    db: Session = Depends(get_db),
+    user_id = Depends(valid_access_token)
+):
+    try:
+        result = []
+        data = AvconH5API.get_group_device(group_id=group_id)
+        for n in data:
+            new_item = {
+                "id": n['dev_id'],
+                "name": n['dev_name'],
+                "dept": get_avcon_type_text(n['dev_type']),
+                "mobile": n['dev_id']
+            }
+            result.append(new_item)
+
+        return {
+            "code": 0,
+            "msg": "success",
+            "data": result
+        }
+
+    except Exception as e:
+        traceback.print_exc()
+        return {
+            "code": 500,
+            "msg": "无法获取视频终端"
+        }
+
+def get_avcon_type_text(type: str) -> str:
+    if type == '001':
+        return '指挥视频终端'
+    elif type == '060':
+        return '营区监控'
+    elif type == '085':
+        return '监控网关服务器'
+    elif type == '100':
+        return 'H.323终端'
+    
+    return "未知终端"

+ 9 - 2
routers/prod_api/system/user/__init__.py

@@ -355,7 +355,10 @@ async def deptTree(request: Request,label: str = Query(None, description='部门
         "data": result
     }
 
-@router.get('/avcon/deptUserTree')
+"""
+本接口已废弃
+"""
+@router.get('/avcon/deptUserTree_____________')
 async def deptTree(request: Request,label: str = Query(None, description='部门名称'),db: Session = Depends(get_db), user_id: int = Depends(valid_access_token)):
     def build_dept_tree(depts, parent_dept):
         dept_tree = []
@@ -398,7 +401,11 @@ async def deptTree(request: Request,label: str = Query(None, description='部门
         "msg": "操作成功",
         "data": result
     }
-@router.get('/avcon/list/dept/{dept_id}')
+
+"""
+本接口已废弃
+"""
+@router.get('/avcon/list/dept_____________/{dept_id}')
 async def get_dept_user_list(
     # request: Request,
     dept_id: str,