From 08bd15a5049857f2452fcbecbdd1bbb04664a660 Mon Sep 17 00:00:00 2001 From: haotian <2421912570@qq.com> Date: Wed, 10 Sep 2025 15:18:25 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9F=A5=E7=9C=8B=E9=97=A8=E7=A6=81=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E5=88=97=E8=A1=A8=E6=8E=A5=E5=8F=A3,=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0=E5=85=B3=E9=94=AE=E5=AD=97=E6=A8=A1=E7=B3=8A=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module_admin/dao/door_dao.py | 23 +++++++++++++++---- .../module_admin/entity/vo/door_vo.py | 3 ++- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/ruoyi-fastapi-backend/module_admin/dao/door_dao.py b/ruoyi-fastapi-backend/module_admin/dao/door_dao.py index d37ac5c..aa31052 100644 --- a/ruoyi-fastapi-backend/module_admin/dao/door_dao.py +++ b/ruoyi-fastapi-backend/module_admin/dao/door_dao.py @@ -1,4 +1,4 @@ -from sqlalchemy import delete, select, update +from sqlalchemy import delete, select, update, or_ from sqlalchemy.ext.asyncio import AsyncSession from module_admin.entity.do.door_do import Door from module_admin.entity.vo.door_vo import DoorModel, DoorPageQueryModel @@ -70,10 +70,24 @@ class DoorDao: select(Door) .where( # Door.index_code == query_object.index_code if query_object.index_code else True, - Door.name.like(f'%{query_object.name}%') if query_object.name else True, - Door.install_location.like(f'%{query_object.install_location}%') if query_object.install_location else True, + or_( + ( + Door.name.like(f"%{query_object.key_word}%") + if query_object.key_word + else True + ), + ( + Door.install_location.like(f"%{query_object.key_word}%") + if query_object.key_word + else True + ), + ), # Door.status == query_object.status if query_object.status else True, - Door.permission == query_object.permission if query_object.permission else True, + ( + Door.permission == query_object.permission + if query_object.permission + else True + ), ) .order_by(Door.id) .distinct() @@ -118,4 +132,3 @@ class DoorDao: :return: """ await db.execute(delete(Door).where(Door.id.in_([door.id]))) - diff --git a/ruoyi-fastapi-backend/module_admin/entity/vo/door_vo.py b/ruoyi-fastapi-backend/module_admin/entity/vo/door_vo.py index df9f1a2..7c3bd09 100644 --- a/ruoyi-fastapi-backend/module_admin/entity/vo/door_vo.py +++ b/ruoyi-fastapi-backend/module_admin/entity/vo/door_vo.py @@ -33,7 +33,8 @@ class DoorQueryModel(DoorModel): """ 门禁设备不分页查询模型 """ - pass + key_word : Optional[str] = Field(default=None, description='模糊查询字段') + @as_query