Explorar o código

250619-3代码。

baoyubo hai 1 semana
pai
achega
a0c035ce73
Modificáronse 1 ficheiros con 38 adicións e 0 borrados
  1. 38 0
      routers/api/videoResource/videoinfo.py

+ 38 - 0
routers/api/videoResource/videoinfo.py

@@ -19,6 +19,40 @@ from datetime import datetime
 
 router = APIRouter()
 
+
+@router.get("/video/region/tree/{parent_id}")
+def read_all_regions(parent_id:str = 'root00000000',db: Session = Depends(get_db)):
+    def parent_id_get_region_info(parent_id):
+        query = db.query(TPVideoRegion)
+        query = query.filter(TPVideoRegion.parentIndexCode == parent_id)
+        return query.all()
+    def id_get_region_info(id):
+        query = db.query(TPVideoRegion)
+        query = query.filter(TPVideoRegion.indexCode == id)
+        return query.first()
+    try:
+        region_info = id_get_region_info(parent_id)
+        region_list = parent_id_get_region_info(parent_id)
+        data = []
+        for info in region_list:
+            isShowSelect = True
+            if parent_id_get_region_info(info.indexCode):
+                isShowSelect=False
+            if info.indexCode=='84021e2f6eba4e6b8ccc7d750fb833fa':
+                continue
+            data.append({'id': info.indexCode,
+                'label': info.name,
+                'isShowSelect': isShowSelect,
+                'parentLabel': region_info.name})
+        return {
+                "code": 200,
+                "msg": "成功",
+                "data": data
+        }
+    except Exception as e:
+        traceback.print_exc()
+        raise HTTPException(status_code=500, detail=f"Internal server error: {str(e)}")
+
 @router.get('/video_from')
 async def get_dict_data_by_type(
     db: Session = Depends(get_db),
@@ -72,6 +106,7 @@ async def get_video_url_by_id(
     video_from: str = Query(None, description='视频来源'),
     video_tag: str = Query(None, description='视频标签'),
     video_name: str = Query(None, description='视频名称'),
+    video_list: str = Query(None, description='视频名称'),
     longitude: float = Query(None, description='经度'),
     latitude: float = Query(None, description='纬度'),
     db: Session = Depends(get_db),
@@ -98,6 +133,9 @@ async def get_video_url_by_id(
                 if tag_info.dict_label != '全量视频':
                     videoli = [info.video_code for info in tag_get_video_tag_list(db, video_tag)]
                     query = query.filter(TPVideoInfo.gbIndexCode.in_(videoli))
+        if video_list:
+            video_list = video_list.split(',')
+            query = query.filter(TPVideoInfo.gbIndexCode.notin_(video_list))
         videoIds = user_id_get_user_videoIds(db, user_id)
         video_list = [i.video_code_int for i in videoIds]