|
@@ -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]
|
|
|
|