Forráskód Böngészése

增加用户视频关联接口

baoyubo 8 hónapja
szülő
commit
68fa21c9fe

+ 10 - 0
models/ry_sys_base.py

@@ -242,6 +242,16 @@ class SysUserRole(Base):
     class Config:
         orm_mode = True
 
+'''用户和视频关联表'''
+class SysUserVideo(Base):
+    __tablename__ = 'sys_user_video'
+    __table_args__ = (PrimaryKeyConstraint('video_code_int', 'user_id'),)
+    user_id = Column(BigInteger,  nullable=True, comment='用户ID')
+    video_code_int = Column(String(255), nullable=True, comment='视频ID')
+
+    class Config:
+        orm_mode = True
+
 '''角色和菜单关联表'''
 class SysRoleMenu(Base):
     __tablename__ = 'sys_role_menu'

+ 40 - 0
routers/prod_api/system/user/__init__.py

@@ -367,4 +367,44 @@ async def delete_dept(
         "msg": "操作成功"
     }
 
+@router.get('/videoPoints')
+async def get_user_video_points(
+        db: Session = Depends(get_db),
+        body = Depends(remove_xss_json),
+        user_id = Depends(valid_access_token)):
+    try:
+        videoIds = user_id_get_user_videoIds(db,user_id)
+        return {
+            "code": 200,
+            "msg": "成功",
+            "data": [i.video_code_int for i in videoIds]
+        }
+    except Exception as e:
+        traceback.print_exc()
+        raise HTTPException(status_code=500, detail=f"Internal server error: {str(e)}")
 
+@router.put('/videoPoints')
+async def get_user_video_points(
+        db: Session = Depends(get_db),
+        body = Depends(remove_xss_json),
+        user_id = Depends(valid_access_token)):
+    try:
+        query = db.query(SysUserVideo)
+        query = query.filter(SysUserVideo.user_id == user_id)
+        query.delete(synchronize_session=False)
+        db.commit()
+        for video in body:
+            new_user_video = SysUserVideo(
+                user_id=user_id,
+                video_code_int = video
+            )
+            db.add(new_user_video)
+        db.commit()
+        return {
+            "code": 200,
+            "msg": "成功",
+            "data":None
+        }
+    except Exception as e:
+        traceback.print_exc()
+        raise HTTPException(status_code=500, detail=f"Internal server error: {str(e)}")

+ 7 - 0
utils/ry_system_util.py

@@ -19,6 +19,13 @@ def user_id_get_user_roleIds(db,user_id):
     resutl = query.all()
     return [i.role_id for i in resutl]
 
+def user_id_get_user_videoIds(db,user_id):
+    query = db.query(SysUserVideo)
+    # query = query.filter(SysUserRole.del_flag != '2')
+    query = query.filter(SysUserVideo.user_id == user_id)
+    resutl = query.all()
+    return resutl
+
 def role_list_to_dict(roles):
     return [
         {