baoyubo 1 week ago
parent
commit
a69c9f3650
1 changed files with 42 additions and 24 deletions
  1. 42 24
      routers/api/videoResource/videoinfo.py

+ 42 - 24
routers/api/videoResource/videoinfo.py

@@ -21,7 +21,9 @@ router = APIRouter()
 
 
 @router.get("/video/region/tree/{parent_id}")
-def read_all_regions(parent_id:str = '0',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,41 +32,57 @@ def read_all_regions(parent_id:str = '0',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_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:
             isShowSelect1 = True
-            if parent_id_get_region_info(info.indexCode):
+            if parent_id_get_region_info(info.indexCode) or unint_id_get_video_list(info.indexCode):
                 isShowSelect1=False
             if info.indexCode=='84021e2f6eba4e6b8ccc7d750fb833fa':
                 continue
-            #
-            # if info.indexCode=='root00000000':
-            #     region_list = parent_id_get_region_info('root00000000')
-            #     children = []
-            #     for chil in region_list:
-            #         isShowSelect = True
-            #         if parent_id_get_region_info(chil.indexCode):
-            #             isShowSelect = False
-            #         if chil.indexCode == '84021e2f6eba4e6b8ccc7d750fb833fa':
-            #             continue
-            #
-            #         children.append({'id': chil.indexCode,
-            #                      'label': chil.name,
-            #                      'isShowSelect': isShowSelect
-            #                      })
-            #     data.append({'id': info.indexCode,
-            #                  'label': info.name,
-            #                  'isShowSelect': isShowSelect1,
-            #                  'children': children
-            #                  })
-            # else:
+
             data.append({'id': info.indexCode,
                              'label': info.name,
-                             'isShowSelect': isShowSelect1
+                             '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": "成功",