Commit 865442e8 authored by 于飞's avatar 于飞

修改资源关键词提取

parent 8d30c816
...@@ -35,7 +35,7 @@ class MediaDal(DalBase): ...@@ -35,7 +35,7 @@ class MediaDal(DalBase):
""" """
if params.file_name is not None: if params.file_name is not None:
# 文件名称不为空 判定为重命名 # 文件名称不为空 判定为重命名
sql = update(self.model).where(self.model.id.in_(params.ids)).values(file_name=params.file_name) sql = update(self.model).where(self.model.id.in_(params.ids)).values(file_name=params.file_name,key_word=params.key_word)
await self.db.execute(sql) await self.db.execute(sql)
elif params.group_id is not None: elif params.group_id is not None:
# 文件分组不为空 判定为移动分组 # 文件分组不为空 判定为移动分组
......
...@@ -25,8 +25,10 @@ class GroupListParams(QueryParams): ...@@ -25,8 +25,10 @@ class GroupListParams(QueryParams):
class MediaEditParams: class MediaEditParams:
def __init__(self, ids: list[int] = None, file_name: str = None, group_id: int = None): def __init__(self, ids: list[int] = None, file_name: str = None, group_id: int = None, key_word: str = None, type: int = None):
super().__init__() super().__init__()
self.type = type
self.key_word = key_word
self.ids = ids self.ids = ids
self.file_name = file_name self.file_name = file_name
self.group_id = group_id self.group_id = group_id
......
...@@ -29,6 +29,14 @@ async def upload_video_to_local(file: UploadFile, path: str = Form(...)): ...@@ -29,6 +29,14 @@ async def upload_video_to_local(file: UploadFile, path: str = Form(...)):
@router.post("/upload/save", summary="上传提交保存") @router.post("/upload/save", summary="上传提交保存")
async def upload_save(data: schemas.Media, auth: Auth = Depends(FullAdminAuth())): async def upload_save(data: schemas.Media, auth: Auth = Depends(FullAdminAuth())):
if data.type == 1:
# 新加一条图片的关键词
mydfafiter_picture.add(data.key_word)
elif data.type == 2:
# 新加一条视频的关键词
mydfafiter_video.add(data.key_word)
return SuccessResponse(await crud.MediaDal(auth.db).create_data(data=data)) return SuccessResponse(await crud.MediaDal(auth.db).create_data(data=data))
@router.get("/media/list", summary="资源列表(图片、视频)") @router.get("/media/list", summary="资源列表(图片、视频)")
...@@ -38,6 +46,15 @@ async def media_image_list(params: MediaListParams = Depends(), auth: Auth = Dep ...@@ -38,6 +46,15 @@ async def media_image_list(params: MediaListParams = Depends(), auth: Auth = Dep
@router.post("/media/del", summary="删除资源") @router.post("/media/del", summary="删除资源")
async def media_edit(ids: IdList = Depends(), auth: Auth = Depends(FullAdminAuth())): async def media_edit(ids: IdList = Depends(), auth: Auth = Depends(FullAdminAuth())):
media_dic = {'id': ids.ids[0]}
media_datas = await crud.MediaDal(auth.db).get_datas(**media_dic)
if len(media_datas) > 0:
print(f"------删除资源------>:{media_datas[0]}")
if media_datas[0].get('type') == 1:
mydfafiter_picture.remove(media_datas[0].get('key_word'))
elif media_datas[0].get('type') == 2:
mydfafiter_video.remove(media_datas[0].get('key_word'))
await crud.MediaDal(auth.db).delete_datas(ids.ids, v_soft=True) await crud.MediaDal(auth.db).delete_datas(ids.ids, v_soft=True)
return SuccessResponse("删除成功") return SuccessResponse("删除成功")
...@@ -63,6 +80,18 @@ async def group_del(ids: IdList = Depends(), auth: Auth = Depends(FullAdminAuth( ...@@ -63,6 +80,18 @@ async def group_del(ids: IdList = Depends(), auth: Auth = Depends(FullAdminAuth(
@router.post("/media/edit", summary="编辑资源名称、归属分组") @router.post("/media/edit", summary="编辑资源名称、归属分组")
async def media_edit(params: MediaEditParams = Depends(), auth: Auth = Depends(FullAdminAuth())): async def media_edit(params: MediaEditParams = Depends(), auth: Auth = Depends(FullAdminAuth())):
media_dic = {'id': params.ids[0]}
media_datas = await crud.MediaDal(auth.db).get_datas(**media_dic)
if len(media_datas) > 0:
print(f"------编辑时要删除旧的media资源------>:{media_datas[0].get('key_word')}")
print(f"------编辑时要添加新的media资源------>:{params.key_word}")
if media_datas[0].get('type') == 1:
mydfafiter_picture.remove(media_datas[0].get('key_word'))
mydfafiter_picture.add(params.key_word)
elif media_datas[0].get('type') == 2:
mydfafiter_video.remove(media_datas[0].get('key_word'))
mydfafiter_video.add(params.key_word)
return SuccessResponse(await crud.MediaDal(auth.db).update_media_datas(params)) return SuccessResponse(await crud.MediaDal(auth.db).update_media_datas(params))
...@@ -87,9 +116,11 @@ async def question_add(ids: IdList = Depends(), auth: Auth = Depends(FullAdminAu ...@@ -87,9 +116,11 @@ async def question_add(ids: IdList = Depends(), auth: Auth = Depends(FullAdminAu
#print(f"-------------------------delete->:{ret}") #print(f"-------------------------delete->:{ret}")
question_dic = {'page': 1, 'limit': 0, 'v_order': None, 'v_order_field': None, 'id': ids.ids[0]} question_dic = {'page': 1, 'limit': 0, 'v_order': None, 'v_order_field': None, 'id': ids.ids[0]}
question_datas, count = await crud.QuestionDal(auth.db).get_datas(**question_dic, v_return_count=True) question_datas, count = await crud.QuestionDal(auth.db).get_datas(**question_dic, v_return_count=True)
if len(question_datas) > 0: if len(question_datas) > 0:
print(f"------要删除问答对------>:{question_datas[0]}") print(f"------要删除问答对------>:{question_datas[0]}")
mydfafiter_question.remove(question_datas[0].get('key_word')) # 将关键词字典中删除一个新的问答对 # 将关键词字典中删除一个新的问答对
mydfafiter_question.remove(question_datas[0].get('key_word'))
return SuccessResponse(ret) return SuccessResponse(ret)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment