From 273bee1ea2617ed058367ae7d78bb8b9c34202e5 Mon Sep 17 00:00:00 2001 From: geyuan <2732801331@qq.com> Date: Tue, 22 Sep 2026 13:54:00 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 17 ++++++++++++----- Teachers/api/tea_api.py | 10 ++++++++++ Teachers/dao/tea_dao.py | 35 ++++++++++++++++++++++++++++++++++ Teachers/database.py | 10 ++++++++++ Teachers/main.py | 4 +++- Teachers/schema/tea_request.py | 2 +- 6 files changed, 71 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index a9bca3f..c0e8a05 100644 --- a/README.md +++ b/README.md @@ -11,11 +11,18 @@ 3.教师信息的更新\ 4.教师信息的逻辑删除\ **dao数据筛选文件**\ -1.查询 -2.新增 -3.更新 -4.逻辑删除 - +1.查询 get_tea_dao:\ +2.新增 add_tea_dao:\ +3.更新 update_tea_dao:\ +4.逻辑删除 delete_tea_dao:\ +**tea_model数据库建表文件**\ +字段名:id、name、sex、class_id、sub(学科)\ +home_place specialty(专业)、start_time(入职时间)\ +work_experience、collage、creat_date、update_date\ +is_delete、delete_time\ +**schema 请求体、响应体**\ +请求体 +响应体 *qingxie* \ ***zhongdian*** diff --git a/Teachers/api/tea_api.py b/Teachers/api/tea_api.py index d404f97..b7faddd 100644 --- a/Teachers/api/tea_api.py +++ b/Teachers/api/tea_api.py @@ -34,3 +34,13 @@ def update_tea(id:int,tea:NewTeaRequest,db=Depends(get_db)): if not r: raise HTTPException(status_code=404,detail='老师不存在') return {'detail':'更新成功'} + +#根据任意信息删除 +@tea_api.delete('/tea',summary='根据任意信息逻辑删除',description='输入任意信息删除') +def delete_other_tea_dao1(t:TeaRequest,db=Depends(get_db)): + row1 = delete_other_tea_dao(t.model_dump(exclude_unset=True),db) + if not row1: + raise HTTPException(status_code=404,detail='没有找到符合条件的老师') + return{'code':200,'data':row1} + + diff --git a/Teachers/dao/tea_dao.py b/Teachers/dao/tea_dao.py index d3bebac..b381515 100644 --- a/Teachers/dao/tea_dao.py +++ b/Teachers/dao/tea_dao.py @@ -67,4 +67,39 @@ def delete_tea_dao(id,db): db.commit() return row +def delete_other_tea_dao(t,db): + if not t: + return False + try: + query1 = db.query(Tea).filter(Tea.is_delete == False) + if t.get('id'): + query1 = query1.filter(Tea.id == t.get('id') ) + if t.get('name'): + query1 = query1.filter(Tea.name == t.get('name') ) + if t.get('sex'): + query1 = query1.filter(Tea.sex == t.get('sex')) + if t.get('class_id'): + query1 = query1.filter(Tea.class_id == t.get('class_id')) + if t.get('sub'): + query1 = query1.filter(Tea.sub == t.get('sub')) + if t.get('home_place'): + query1 = query1.filter(Tea.home_place == t.get('home_place')) + if t.get('collage'): + query1 = query1.filter(Tea.collage == t.get('collage')) + if t.get('education'): + query1 = query1.filter(Tea.education == t.get('education')) + if t.get('work_experience'): + query1 = query1.filter(Tea.work_experience == t.get('work_experience')) + if t.get('start_time'): + query1 = query1.filter(Tea.start_time == t.get('start_time')) + if t.get('specialty'): + query1 = query1.filter(Tea.specialty == t.get('specialty')) + row = query1.update({'is_delete':True,'delete_time':datetime.now()}) + db.commit() + return row + except Exception as e: + db.rollback() + print('删除失败',e) + return '删除失败' + diff --git a/Teachers/database.py b/Teachers/database.py index 07ef505..545747e 100644 --- a/Teachers/database.py +++ b/Teachers/database.py @@ -1,6 +1,16 @@ from sqlalchemy import * from sqlalchemy.orm import sessionmaker,declarative_base +# 导入.env参数 +import os +from dotenv import load_dotenv +load_dotenv( ) +DB_USER = os.getenv("DB_USER", "root") +DB_PASSWORD = os.getenv("DB_PASSWORD", "") +DB_HOST = os.getenv("DB_HOST", "localhost") +DB_PORT = os.getenv("DB_PORT", "3306") +DB_NAME = os.getenv("DB_NAME", "student_manage_system") + db_tea = 'mysql+pymysql://root:123456@127.0.0.1:3306/student_manage_system?charset=utf8mb4' engine1 = create_engine(db_tea) diff --git a/Teachers/main.py b/Teachers/main.py index 1ec14a3..4efc393 100644 --- a/Teachers/main.py +++ b/Teachers/main.py @@ -1,6 +1,8 @@ -from fastapi import FastAPI +from fastapi import FastAPI,APIRouter from Teachers.model.tea_model import * from api.tea_api import tea_api + +Teachers_API = APIRouter() app = FastAPI() app.include_router(tea_api) diff --git a/Teachers/schema/tea_request.py b/Teachers/schema/tea_request.py index 2bf3165..f5a275a 100644 --- a/Teachers/schema/tea_request.py +++ b/Teachers/schema/tea_request.py @@ -16,7 +16,7 @@ class TeaRequest(BaseModel): specialty: str|None = None -#更新、新增使用请求体(无法覆盖) +#更新、任意逻辑删除、新增使用请求体,没有自增键 class NewTeaRequest(BaseModel): name: str | None = None sex: Gender