Commit 93229785 authored by 于飞's avatar 于飞

铭感词

parent 789d86ac
...@@ -28,6 +28,8 @@ from dbgpt.app.apps.utils.tools import test_password ...@@ -28,6 +28,8 @@ from dbgpt.app.apps.utils.tools import test_password
from . import models, schemas from . import models, schemas
from .params.similar import SimilarParams from .params.similar import SimilarParams
from .schemas.similar import SimilarIn from .schemas.similar import SimilarIn
from .schemas.sensitive import SensitiveIn
from .models import sensitive
from dbgpt.app.apps.config import settings from dbgpt.app.apps.config import settings
from dbgpt.app.apps.utils.excel.excel_manage import ExcelManage from dbgpt.app.apps.utils.excel.excel_manage import ExcelManage
...@@ -56,6 +58,9 @@ class SimilarDal(DalBase): ...@@ -56,6 +58,9 @@ class SimilarDal(DalBase):
return list(queryset.all()) return list(queryset.all())
async def get_similar_byid(self, qid): async def get_similar_byid(self, qid):
"""
根据ID查询,近义词
"""
sql1 = select(models.similar.VadminWordSimilar).where(models.similar.VadminWordSimilar.id == qid) sql1 = select(models.similar.VadminWordSimilar).where(models.similar.VadminWordSimilar.id == qid)
queryset1 = await self.db.scalars(sql1) queryset1 = await self.db.scalars(sql1)
similar1 = queryset1.unique().first() similar1 = queryset1.unique().first()
...@@ -64,6 +69,18 @@ class SimilarDal(DalBase): ...@@ -64,6 +69,18 @@ class SimilarDal(DalBase):
else: else:
print(f"编号:{similar1.id} 词条:{similar1.word_name} 近义词:{similar1.similar_name} ") print(f"编号:{similar1.id} 词条:{similar1.word_name} 近义词:{similar1.similar_name} ")
async def delete_similar_byid(self, qid):
"""
根据ID删除一个近义词
"""
sql1 = self.delete_datas(qid)
queryset1 = await self.db.scalars(sql1)
similar1 = queryset1.unique().first()
if similar1 is None:
print('similar1 is None')
else:
print(f"编号:{similar1.id} 词条:{similar1.word_name} 近义词:{similar1.similar_name} ")
async def create_similar_data( async def create_similar_data(
self, self,
data: SimilarIn, data: SimilarIn,
...@@ -96,4 +113,12 @@ class SimilarDal(DalBase): ...@@ -96,4 +113,12 @@ class SimilarDal(DalBase):
await self.db.commit() await self.db.commit()
return None return None
class SensitiveDal(DalBase):
def __init__(self, db: AsyncSession):
super(SensitiveDal, self).__init__()
self.db = db
self.model = models.sensitive.VadminWordSensitive
self.schema = schemas.sensitive.SensitiveSchemas
#!/usr/bin/python
# -*- coding: utf-8 -*-
# @version : 1.0
# @Create Time : 2022/7/7 13:41
# @File : user.py
# @IDE : PyCharm
# @desc : 敏感词模型
from datetime import datetime
from sqlalchemy.orm import relationship, Mapped, mapped_column
from sqlalchemy import Column, DateTime, Integer, String, Text, func
from dbgpt.app.apps.db.db_base import BaseModel
class VadminWordSensitive(BaseModel):
__tablename__ = "vadmin_word_sensitive"
__table_args__ = ({'comment': '敏感词表'})
word_name: Mapped[str] = mapped_column(String(100), index=True, nullable=False, comment="词条")
\ No newline at end of file
#!/usr/bin/python
# -*- coding: utf-8 -*-
# @version : 1.0
# @Create Time : 2021/10/18 22:19
# @File : user.py
# @IDE : PyCharm
# @desc : 查询参数-类依赖项
"""
类依赖项-官方文档:https://fastapi.tiangolo.com/zh/tutorial/dependencies/classes-as-dependencies/
"""
from fastapi import Depends, Query
from dbgpt.app.apps.core.dependencies import Paging, QueryParams
class SensitiveParams(QueryParams):
"""
列表分页
"""
def __init__(
self,
word_name: str | None = Query(None, title="词条"),
):
self.word_name = ("like", word_name)
from .sensitive import SensitiveIn
from .similar import SimilarIn
\ No newline at end of file
#!/usr/bin/python
# -*- coding: utf-8 -*-
# @version : 1.0
# @Create Time : 2021/10/18 22:19
# @File : user.py
# @IDE : PyCharm
# @desc : pydantic 模型,用于数据库序列化操作
from datetime import datetime
from pydantic import BaseModel, ConfigDict, field_validator
from pydantic_core.core_schema import FieldValidationInfo
class SensitiveSchemas(BaseModel):
word_name: str | None = ""
is_delete: int | None = 0
create_datetime: datetime | None = None
update_datetime: datetime | None = None
delete_datetime: datetime | None = None
class SensitiveIn(SensitiveSchemas):
"""
创建近义词
"""
word_name: str | None = ""
is_delete: int | None = 0
create_datetime: datetime | None = None
update_datetime: datetime | None = None
delete_datetime: datetime | None = None
class SensitiveOut(SensitiveSchemas):
word_name: str | None = ""
is_delete: int | None = 0
create_datetime: datetime | None = None
update_datetime: datetime | None = None
delete_datetime: datetime | None = None
class SensitiveUpdate(BaseModel):
"""
更新近义词信息
"""
word_name: str | None = ""
is_delete: int | None = 0
create_datetime: datetime | None = None
update_datetime: datetime | None = None
delete_datetime: datetime | None = None
from redis.asyncio import Redis from redis.asyncio import Redis
from fastapi import APIRouter, Depends, Body, UploadFile, Request from fastapi import APIRouter, Depends, Body, UploadFile, Request
from dbgpt.app.apps.utils.response import SuccessResponse from dbgpt.app.apps.utils.response import SuccessResponse, ErrorResponse
from dbgpt.app.apps.vadmin.auth.utils.current import AllUserAuth, FullAdminAuth, OpenAuth from dbgpt.app.apps.vadmin.auth.utils.current import AllUserAuth, FullAdminAuth, OpenAuth
from dbgpt.app.apps.vadmin.auth.utils.validation.auth import Auth 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.similar import VadminWordSimilar
from dbgpt.app.apps.vadmin.word.params.similar import SimilarParams from dbgpt.app.apps.vadmin.word.params.similar import SimilarParams
from dbgpt.app.apps.vadmin.word.schemas.similar import SimilarSchemas, SimilarIn from dbgpt.app.apps.vadmin.word.schemas.similar import SimilarSchemas, SimilarIn
...@@ -50,4 +51,34 @@ async def create_similar(data: Request, auth: Auth = Depends(OpenAuth())): ...@@ -50,4 +51,34 @@ async def create_similar(data: Request, auth: Auth = Depends(OpenAuth())):
await crud.SimilarDal(auth.db).create_similar_data(data=data) await crud.SimilarDal(auth.db).create_similar_data(data=data)
datas = [] datas = []
return SuccessResponse(datas, count=1) return SuccessResponse(datas, count=1)
\ No newline at end of file
@router.post("/delete_similars", summary="根据id删除同义词")
async def delete_similars(data: Request, auth: Auth = Depends(OpenAuth())):
if data is None:
print('SimilarIn is None')
return ErrorResponse("不能删除当前近义词")
"""
else:
print(f"req词条:{data.query_params['word_name']} req近义词:{data.query_params['similar_name']} ")
"""
similarids = [7]
await crud.SimilarDal(auth.db).delete_datas(ids=similarids, v_soft=True)
return SuccessResponse("删除成功")
@router.get("/update_similar_byid", summary="根据id修改同义词")
async def update_similar_byid(auth: Auth = Depends(OpenAuth())):
model = VadminWordSimilar
print(f"编号:{model.id} 近义词:{model.word_name}")
datas = await crud.SimilarDal(auth.db).get_similars()
jsondatas = jsonable_encoder(datas)
for row in datas:
print(f"编号:{row.id} 词条:{row.word_name} 近义词:{row.similar_name} ")
return SuccessResponse(jsondatas, count=1)
@router.post("/create_sensitive", summary="创建敏感词")
async def create_user(data: schemas.SensitiveIn, auth: Auth = Depends(OpenAuth())):
return SuccessResponse(await crud.SensitiveDal(auth.db).create_data(data=data))
\ 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