|
@@ -21,7 +21,9 @@ router = APIRouter()
|
|
|
|
|
|
|
|
|
@router.get("/video/region/tree/{parent_id}")
|
|
|
-def read_all_regions(parent_id:str = 'root00000000',db: Session = Depends(get_db)):
|
|
|
+def read_all_regions(parent_id:str = '0',
|
|
|
+ user_id=Depends(valid_access_token),
|
|
|
+ db: Session = Depends(get_db)):
|
|
|
def parent_id_get_region_info(parent_id):
|
|
|
query = db.query(TPVideoRegion)
|
|
|
query = query.filter(TPVideoRegion.parentIndexCode == parent_id)
|
|
@@ -30,20 +32,57 @@ def read_all_regions(parent_id:str = 'root00000000',db: Session = Depends(get_db
|
|
|
query = db.query(TPVideoRegion)
|
|
|
query = query.filter(TPVideoRegion.indexCode == id)
|
|
|
return query.first()
|
|
|
+ def unint_id_get_video_list(unint_id):
|
|
|
+ query = db.query(TPVideoInfo)
|
|
|
+ query = query.filter(TPVideoInfo.unitIndexCode==unint_id)
|
|
|
+ return query.all()
|
|
|
try:
|
|
|
- region_info = id_get_region_info(parent_id)
|
|
|
+ # region_info = id_get_region_info(parent_id)
|
|
|
region_list = parent_id_get_region_info(parent_id)
|
|
|
+ user_video_list = []
|
|
|
+ video_list = unint_id_get_video_list(parent_id)
|
|
|
data = []
|
|
|
for info in region_list:
|
|
|
- isShowSelect = True
|
|
|
- if parent_id_get_region_info(info.indexCode):
|
|
|
- isShowSelect=False
|
|
|
+ isShowSelect1 = True
|
|
|
+ if parent_id_get_region_info(info.indexCode) or unint_id_get_video_list(info.indexCode):
|
|
|
+ isShowSelect1=False
|
|
|
if info.indexCode=='84021e2f6eba4e6b8ccc7d750fb833fa':
|
|
|
continue
|
|
|
+
|
|
|
data.append({'id': info.indexCode,
|
|
|
- 'label': info.name,
|
|
|
- 'isShowSelect': isShowSelect,
|
|
|
- 'parentLabel': region_info.name})
|
|
|
+ 'label': info.name,
|
|
|
+ 'isShowSelect': isShowSelect1,
|
|
|
+ "isVideo":False
|
|
|
+ })
|
|
|
+ if video_list:
|
|
|
+ videoIds = user_id_get_user_videoIds(db, user_id)
|
|
|
+ user_video_list = [i.video_code_int for i in videoIds]
|
|
|
+ for video in video_list:
|
|
|
+ tag_list = get_video_tag_list(db, video.gbIndexCode)
|
|
|
+ tag = []
|
|
|
+ tag_lable = []
|
|
|
+ for info in tag_list:
|
|
|
+ tag_info = get_dict_data_info(db, 'video_type', info.dict_value)
|
|
|
+ if tag_info:
|
|
|
+ if tag_info.dict_label not in tag_lable and tag_info.dict_label != '全量视频':
|
|
|
+ tag.append({"id": info.id,
|
|
|
+ "video_code": video.gbIndexCode,
|
|
|
+ "dict_type": info.dict_type,
|
|
|
+ "dict_value": info.dict_value,
|
|
|
+ "dict_label": tag_info.dict_label,
|
|
|
+ "dict_code": tag_info.dict_code})
|
|
|
+ tag_lable.append(tag_info.dict_label)
|
|
|
+ data.append({'id': video.gbIndexCode,
|
|
|
+ 'label': video.name,
|
|
|
+ 'isShowSelect': True,
|
|
|
+ "isVideo":True,
|
|
|
+
|
|
|
+ "isUserVideos":video.gbIndexCode in user_video_list,
|
|
|
+ "video_code": video.gbIndexCode,
|
|
|
+ "isTag" : len(tag_list)>0,
|
|
|
+ "tag" : tag,
|
|
|
+ "tagLabels" : "、".join(tag_lable),
|
|
|
+ })
|
|
|
return {
|
|
|
"code": 200,
|
|
|
"msg": "成功",
|