更新 dao/th_dao.py

This commit is contained in:
2026-09-22 15:30:59 +08:00
parent 7cc06e6015
commit ed85ae2826
+63 -63
View File
@@ -1,63 +1,63 @@
from sqlalchemy.exc import SQLAlchemyError
from fastapi import HTTPException
from model.teaModel import Teacher
def get_teachers_limit_dao(p,n,db):
if p == 0 and n == 0:
r = db.query(Teacher).all()
else:
if p < 1:
p = 1
r = db.query(Teacher).offset((p-1)*n).limit(n).all()
return [ {'id':i.id,'t_name':i.t_name,'t_sex':i.t_sex,'t_age':i.t_age} for i in r]
def get_teachers_name_dao(name,db):
try:
r = db.query(Teacher).filter(Teacher.t_name==name).all()
except SQLAlchemyError as e:
db.rollback()
raise HTTPException(status_code=500, detail=f'查询失败:{str(e)}')
else:
return [ {'id':i.id,'t_name':i.t_name,'t_sex':i.t_sex,'t_age':i.t_age} for i in r]
def insert_teachers_dao(req,db):
try:
exist = db.query(Teacher).filter(Teacher.t_phone==req['t_phone']).first()
if exist:
raise HTTPException(status_code=400,detail='该手机号码已存在,不可重复使用')
t = Teacher(**req)
db.add(t)
except SQLAlchemyError as e:
db.rollback()
raise HTTPException(status_code=500,detail=f'添加失败:{str(e)}')
else:
db.commit()
return True,'添加成功'
def update_teachers_dao(req,db,t_id):
try:
db.query(Teacher).filter(Teacher.id == t_id).update(req)
except SQLAlchemyError as e:
db.rollback()
raise HTTPException(status_code=500,detail=f'更新失败:{str(e)}')
else:
db.commit()
return True,'更新成功'
def delete_teachers_dao(t_id,db):
try:
r = db.query(Teacher).filter(Teacher.id == t_id).all()
if not r:
raise HTTPException(status_code=404,detail='记录不存在')
for i in r:
if i.is_delete == 0:
db.query(Teacher).filter(Teacher.id == i.id).update({'is_delete':True})
else:
raise HTTPException(status_code=400,detail='该记录已删除,不可重复删除')
except SQLAlchemyError as e:
db.rollback()
raise HTTPException(status_code=500,detail=f'删除失败:{str(e)}')
else:
db.commit()
return True,'删除成功'
from sqlalchemy.exc import SQLAlchemyError
from fastapi import HTTPException
from model.teaModel import Teacher
def get_teachers_limit_dao(p,n,db):
if p == 0 and n == 0:
r = db.query(Teacher).all()
else:
if p < 1:
p = 1
r = db.query(Teacher).offset((p-1)*n).limit(n).all()
return [ {'id':i.id,'t_name':i.t_name,'t_sex':i.t_sex,'t_age':i.t_age} for i in r]
def get_teachers_name_dao(name,db):
try:
r = db.query(Teacher).filter(Teacher.t_name==name).all()
except SQLAlchemyError as e:
db.rollback()
raise HTTPException(status_code=500, detail=f'查询失败:{str(e)}')
else:
return [ {'id':i.id,'t_name':i.t_name,'t_sex':i.t_sex,'t_age':i.t_age} for i in r]
def insert_teachers_dao(req,db):
try:
exist = db.query(Teacher).filter(Teacher.t_phone==req['t_phone']).first()
if exist:
raise HTTPException(status_code=400,detail='该手机号码已存在,不可重复使用')
t = Teacher(**req)
db.add(t)
except SQLAlchemyError as e:
db.rollback()
raise HTTPException(status_code=500,detail=f'添加失败:{str(e)}')
else:
db.commit()
return True,'添加成功'
def update_teachers_dao(req,db,t_id):
try:
db.query(Teacher).filter(Teacher.id == t_id).update(req)
except SQLAlchemyError as e:
db.rollback()
raise HTTPException(status_code=500,detail=f'更新失败:{str(e)}')
else:
db.commit()
return True,'更新成功'
def delete_teachers_dao(t_id,db):
try:
r = db.query(Teacher).filter(Teacher.id == t_id).all()
if not r:
raise HTTPException(status_code=404,detail='记录不存在')
for i in r:
if i.is_delete == 0:
db.query(Teacher).filter(Teacher.id == i.id).update({'is_delete':True})
else:
raise HTTPException(status_code=400,detail='该记录已删除,不可重复删除')
except SQLAlchemyError as e:
db.rollback()
raise HTTPException(status_code=500,detail=f'删除失败:{str(e)}')
else:
db.commit()
return True,'删除成功'