Explorar el Código

241117-2代码。

baoyubo hace 6 meses
padre
commit
5e8b5e951c
Se han modificado 4 ficheros con 105 adiciones y 1 borrados
  1. 16 0
      models/video_base.py
  2. 76 0
      routers/api/videoResource/videoinfo.py
  3. 6 1
      utils/ry_system_util.py
  4. 7 0
      utils/video_util.py

+ 16 - 0
models/video_base.py

@@ -70,5 +70,21 @@ class TpVideoBase(Base):
     bstandard = Column(String(2), nullable=True)
     pushpath = Column(String(255), nullable=True)
 
+    class Config:
+        orm_mode = True
+
+class TpVideoTag(Base):
+    __tablename__ = 'tp_video_tag'
+
+    id = Column(String(255), primary_key=True)
+    video_code = Column(String(255), nullable=True, comment='视频编号')
+    dict_value = Column(BigInteger, nullable=True, comment='字典映射值')
+    dict_type = Column(BigInteger, nullable=True, comment='字典映射类型')
+    del_flag = Column(String(1), default='0', comment='删除标志(0代表存在 2代表删除)')
+    create_time = Column(DateTime, default=datetime.now, comment='数据创建时间')
+    update_time = Column(DateTime, default=datetime.now, onupdate=datetime.now, comment='数据更新时间')
+    create_dept = Column(BigInteger, default=None, comment='创建部门')
+    create_by = Column(BigInteger, default=None, comment='创建者')
+    update_by = Column(BigInteger, default=None, comment='更新者')
     class Config:
         orm_mode = True

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

@@ -7,7 +7,9 @@ from sqlalchemy import case
 from sqlalchemy import  text
 from utils import *
 from utils.ry_system_util import *
+from utils.video_util import *
 from common.security import valid_access_token
+from fastapi.responses import JSONResponse
 import traceback
 
 router = APIRouter()
@@ -133,3 +135,77 @@ async def get_waterlogged_all_video_info(
     except Exception as e:
         traceback.print_exc()
         raise HTTPException(status_code=500, detail=f"Internal server error: {str(e)}")
+
+
+
+
+@router.get('/get_video_tag_info')
+async def get_video_tag_info(
+        video_code:str = Query(None),
+        db: Session = Depends(get_db),
+        body=Depends(remove_xss_json),
+        # page: int = Query(1, gt=0, description='页码'),
+        # pageSize: int = Query(10, gt=0, description='每页条目数量'),
+        user_id=Depends(valid_access_token)
+):
+    try:
+        tag = []
+        for info in get_video_tag_list(db,video_code):
+            tag_info = get_dict_data_info(db,info.dict_type,info.dict_value)
+            tag.append({"id":info.id,
+                        "video_code":video_code,
+                        "dict_type":info.dict_type,
+                        "dict_value":info.dict_value,
+                        "dict_label":tag_info.dict_label,
+                        "dict_code":tag_info.dict_code})
+        return {
+            "code": 200,
+            "msg": "成功",
+            "data": tag
+        }
+    except Exception as e:
+        traceback.print_exc()
+        raise HTTPException(status_code=500, detail=f"Internal server error: {str(e)}")
+
+@router.post("/add_video_tag")
+async def add_video_tag(
+    user_id=Depends(valid_access_token),
+    body = Depends(remove_xss_json),
+    db: Session = Depends(get_db)
+):
+    try:
+        new_video_tag = TpVideoTag(
+            id = new_guid(),
+            video_code=body['video_code'],
+            dict_value=body['dict_value'],
+            dict_type=body['dict_type'],
+            create_dept = user_id
+        )
+        db.add(new_video_tag)
+        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)}")
+
+@router.delete("/delete_video_tag/{video_tag_id}")
+async def delete_video_tag(
+    video_tag_id: str,
+    db: Session = Depends(get_db)
+):
+    try:
+        # 检查图案是否存在
+        query = db.query(TpVideoTag)
+        query = query.filter(TpVideoTag.id == video_tag_id)
+        query = query.filter(TpVideoTag.del_flag != '2')
+        video_tag = query.first()
+        if not video_tag:
+            return JSONResponse(status_code=404,content={"code":404,"msg":"标签不存在"})
+
+        # 执行删除操作
+        video_tag.del_flag='2'
+        db.commit()
+        return {"code": 200, "msg": "删除成功"}
+    except Exception as e:
+        traceback.print_exc()
+        raise HTTPException(status_code=500, detail=f"Internal server error: {str(e)}")

+ 6 - 1
utils/ry_system_util.py

@@ -119,7 +119,12 @@ def role_id_get_role_depts(db,role_id):
     return [i.dept_id for i in resutl]
 
 
-
+def get_dict_data_info(db,dict_type:str,dict_value:str):
+    query = db.query(SysDictData)
+    query = query.filter(SysDictData.del_flag != '2')
+    query = query.filter(SysDictData.dict_type == dict_type)
+    query = query.filter(SysDictData.dict_value == dict_value)
+    return query.first()
 
 def dept_id_get_ancestors_names(db,dept, ancestors_name=''):
     # print(dept)

+ 7 - 0
utils/video_util.py

@@ -0,0 +1,7 @@
+from models import *
+
+def get_video_tag_list(db,video_code:str):
+    query = db.query(TpVideoTag)
+    query = query.filter(TpVideoTag.del_flag != '2')
+    query = query.filter(TpVideoTag.video_code == video_code)
+    return query.all()