Commit 63ad9bc1 authored by 于飞's avatar 于飞

批量删除关键词库

parent 865442e8
......@@ -6,10 +6,12 @@ from dbgpt.app.apps.utils.response import SuccessResponse,ErrorResponse
from dbgpt.app.apps.vadmin.auth.utils.current import FullAdminAuth
from dbgpt.app.apps.vadmin.auth.utils.validation.auth import Auth
from . import schemas, crud
from .models import VadminQuestion, VadminMedia
from .params.media_list import MediaListParams, GroupListParams, MediaEditParams, QuestionListParams, \
QuestionEditParams, CorrelationListParams
from ...core.dependencies import IdList
from dbgpt.app.apps.utils.filter import mydfafiter, mydfafiter_picture, mydfafiter_question, mydfafiter_video
from sqlalchemy import BinaryExpression
router = APIRouter()
......@@ -46,14 +48,14 @@ async def media_image_list(params: MediaListParams = Depends(), auth: Auth = Dep
@router.post("/media/del", summary="删除资源")
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'))
id_filter: BinaryExpression = VadminMedia.id.in_(ids.ids)
media_datas, count = await crud.MediaDal(auth.db).get_datas(v_where=[id_filter], v_return_count=True)
for qdata in media_datas:
if qdata.get('type') == 1:
mydfafiter_picture.remove(qdata.get('key_word'))
elif qdata.get('type') == 2:
mydfafiter_video.remove(qdata.get('key_word'))
await crud.MediaDal(auth.db).delete_datas(ids.ids, v_soft=True)
return SuccessResponse("删除成功")
......@@ -113,14 +115,12 @@ async def question_list(params: QuestionListParams = Depends(), auth: Auth = Dep
@router.post("/question/del", summary="删除问答对")
async def question_add(ids: IdList = Depends(), auth: Auth = Depends(FullAdminAuth())):
ret = await crud.QuestionDal(auth.db).delete_datas(ids.ids, v_soft=True)
#print(f"-------------------------delete->:{ret}")
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)
if len(question_datas) > 0:
print(f"------要删除问答对------>:{question_datas[0]}")
# 将关键词字典中删除一个新的问答对
mydfafiter_question.remove(question_datas[0].get('key_word'))
id_filter: BinaryExpression = VadminQuestion.id.in_(ids.ids)
question_datas, count = await crud.QuestionDal(auth.db).get_datas(v_where=[id_filter], v_return_count=True)
for qdata in question_datas:
mydfafiter_question.remove(qdata.get('key_word'))
return SuccessResponse(ret)
......
......@@ -8,6 +8,7 @@ from dbgpt.app.apps.vadmin.auth.utils.validation.auth import Auth
from . import schemas, crud, models
from dbgpt.app.apps.vadmin.word.models.similar import VadminWordSimilar
from dbgpt.app.apps.vadmin.word.models.sensitive import VadminWordSensitive
from dbgpt.app.apps.vadmin.word.params.similar import SimilarParams
from dbgpt.app.apps.vadmin.word.schemas.similar import SimilarSchemas, SimilarIn,SimilarUpdate
from dbgpt.app.apps.vadmin.word.schemas.sensitive import SensitiveSchemas, SensitiveIn,SensitiveUpdate
......@@ -16,6 +17,7 @@ from dbgpt.app.apps.vadmin.word import crud
from fastapi.encoders import jsonable_encoder
from dbgpt.app.apps.utils.filter import mydfafiter, mydfafiter_picture, mydfafiter_question, mydfafiter_video
from ...core.dependencies import IdList
from sqlalchemy import BinaryExpression
router = APIRouter()
......@@ -125,9 +127,10 @@ async def update_sensitive_byid(data: Request, auth: Auth = Depends(FullAdminAut
@router.post("/delete_sensitives", summary="根据id删除敏感词")
async def delete_sensitives(ids: IdList = Depends(), auth: Auth = Depends(FullAdminAuth())):
id_filter: BinaryExpression = VadminWordSensitive.id.in_(ids.ids)
q_datas, count = await crud.SensitiveDal(auth.db).get_datas(v_where=[id_filter], v_return_count=True)
for qdata in q_datas:
mydfafiter.remove(qdata.get('key_word'))
await crud.SensitiveDal(auth.db).delete_datas(ids=ids.ids, v_soft=True)
sensitive_datas = await crud.SensitiveDal(auth.db).get_sensitive_byid(ids.ids[0])
if sensitive_datas != None:
print(f"------要删除的敏感词------>:{sensitive_datas}")
mydfafiter.remove(sensitive_datas.word_name)
return SuccessResponse("删除成功")
\ No newline at end of file
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