Compare commits
4
Commits
9bc57bcbba
...
geyuan
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
334bb237b2 | ||
|
|
737d48babc | ||
|
|
17c739760f | ||
|
|
748b9f751c |
@@ -10,23 +10,35 @@
|
|||||||
2.教师信息的新增\
|
2.教师信息的新增\
|
||||||
3.教师信息的更新\
|
3.教师信息的更新\
|
||||||
4.教师信息的逻辑删除\
|
4.教师信息的逻辑删除\
|
||||||
|
4.1输入id查\
|
||||||
|
4.2输入任意信息查\
|
||||||
|
5.学科信息的新增\
|
||||||
**dao数据筛选文件**\
|
**dao数据筛选文件**\
|
||||||
1.查询 get_tea_dao:\
|
1.查询 get_tea_dao:\
|
||||||
2.新增 add_tea_dao:\
|
2.新增 add_tea_dao:\
|
||||||
3.更新 update_tea_dao:\
|
3.更新 update_tea_dao:\
|
||||||
4.逻辑删除 delete_tea_dao:\
|
4.根据教师id逻辑删除 delete_tea_dao:\
|
||||||
|
5.任意信息逻辑删除\
|
||||||
|
6.科目信息的新增\
|
||||||
**tea_model数据库建表文件**\
|
**tea_model数据库建表文件**\
|
||||||
1.教师表\
|
1.教师表\
|
||||||
|
2.科目表\
|
||||||
字段名:id、name、sex、class_id、sub(学科)\
|
字段名:id、name、sex、class_id、sub(学科)\
|
||||||
home_place specialty(专业)、start_time(入职时间)\
|
home_place specialty(专业)、start_time(入职时间)\
|
||||||
work_experience、collage、creat_date、update_date\
|
work_experience、collage、creat_date、update_date\
|
||||||
is_delete、delete_time\
|
is_delete、delete_time、phone\
|
||||||
2.学科表\
|
2.学科表\
|
||||||
字段名:id,name(科目名字)
|
字段名:id,name(科目名字)\
|
||||||
**schema 请求体、响应体**\
|
**schema 请求体、响应体**\
|
||||||
请求体:设置了两个,一个带自增组件用于查询\
|
教师表\
|
||||||
一个不带自增组件,新增用;\
|
请求体:\
|
||||||
响应体:用于返回给前端
|
1.查询、任意逻辑删除调用
|
||||||
|
2.新增、更改时调用
|
||||||
|
响应体:用于返回给前端\
|
||||||
|
科目表:\
|
||||||
|
1.请求体:新增科目时调用
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+11
-2
@@ -3,14 +3,15 @@ from Teachers.schema import *
|
|||||||
from Teachers.database import *
|
from Teachers.database import *
|
||||||
from Teachers.model.tea_model import *
|
from Teachers.model.tea_model import *
|
||||||
from Teachers.dao.tea_dao import *
|
from Teachers.dao.tea_dao import *
|
||||||
from Teachers.schema.tea_request import TeaRequest,NewTeaRequest,NewTeaRequest1
|
from Teachers.schema.tea_request import TeaRequest,NewTeaRequest,NewTeaRequest1,SubRequest
|
||||||
from Teachers.schema.tea_response import TeaResponse
|
from Teachers.schema.tea_response import TeaResponse
|
||||||
|
|
||||||
|
|
||||||
tea_api = APIRouter()
|
tea_api = APIRouter()
|
||||||
|
|
||||||
@tea_api.post('/tea',response_model=TeaResponse,summary='新增老师',description='输入新增的老师信息,除去姓名外可以为空')
|
@tea_api.post('/tea',response_model=TeaResponse,summary='新增老师',description='输入新增的老师信息,除去姓名外可以为空')
|
||||||
def add_tea(tea: NewTeaRequest=Depends(),db=Depends(get_db)):
|
def add_tea(tea: NewTeaRequest=Depends(),db=Depends(get_db)):
|
||||||
r = add_tea_dao(tea.model_dump(),db)
|
r = add_tea_dao(tea.model_dump(exclude_unset=True),db)
|
||||||
if not r:
|
if not r:
|
||||||
raise HTTPException(status_code=500,detail='添加失败!')
|
raise HTTPException(status_code=500,detail='添加失败!')
|
||||||
return TeaResponse(totals=1,data=tea.model_dump())
|
return TeaResponse(totals=1,data=tea.model_dump())
|
||||||
@@ -43,4 +44,12 @@ def delete_other_tea_dao1(t:TeaRequest=Depends(),db=Depends(get_db)):
|
|||||||
raise HTTPException(status_code=404,detail='没有找到符合条件的老师')
|
raise HTTPException(status_code=404,detail='没有找到符合条件的老师')
|
||||||
return{'code':200,'data':row1}
|
return{'code':200,'data':row1}
|
||||||
|
|
||||||
|
#新增科目
|
||||||
|
@tea_api.post('/subject',summary='新增科目',description='输入新增的科目')
|
||||||
|
def add_sub(t:SubRequest=Depends(),db=Depends(get_db)): #开启会话窗口
|
||||||
|
r = add_subject_dao(t.model_dump(),db=db)
|
||||||
|
if r=='已存在':
|
||||||
|
raise HTTPException(status_code=500,detail='科目已存在')
|
||||||
|
return TeaResponse(totals=len(r), data=r)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+21
-1
@@ -1,4 +1,6 @@
|
|||||||
from Teachers.model.tea_model import Tea
|
from sys import excepthook
|
||||||
|
|
||||||
|
from Teachers.model.tea_model import Tea,Sub
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
#增加
|
#增加
|
||||||
@@ -122,3 +124,21 @@ def delete_other_tea_dao(t,db):
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def add_subject_dao(t,db):
|
||||||
|
try:
|
||||||
|
t1 = db.query(Sub).filter(Sub.name == t.get('name')).first()
|
||||||
|
if t1:
|
||||||
|
return'已存在'
|
||||||
|
s1 = Sub(**t)
|
||||||
|
db.add(s1)
|
||||||
|
db.commit()
|
||||||
|
return '[s1]'
|
||||||
|
except InterruptedError as e:
|
||||||
|
db.rollback()
|
||||||
|
print('失败的原因',e)
|
||||||
|
return False
|
||||||
|
except Exception as e:
|
||||||
|
db.rollback()
|
||||||
|
return f'{e}'
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -24,4 +24,5 @@ def get_db():
|
|||||||
yield db
|
yield db
|
||||||
finally:
|
finally:
|
||||||
db.close()
|
db.close()
|
||||||
|
#建表
|
||||||
Base.metadata.create_all(engine1)
|
Base.metadata.create_all(engine1)
|
||||||
+1
-1
@@ -15,7 +15,7 @@ Base.metadata.create_all(engine1)
|
|||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
import uvicorn
|
import uvicorn
|
||||||
uvicorn.run('main:app', host='0.0.0.0', port=55000)
|
uvicorn.run('main:app', host='0.0.0.0', port=57000)
|
||||||
"""
|
"""
|
||||||
IPv4 地址 . . . . . . . . . . . . : 192.168.1.51
|
IPv4 地址 . . . . . . . . . . . . : 192.168.1.51
|
||||||
子网掩码 . . . . . . . . . . . . : 255.255.255.0
|
子网掩码 . . . . . . . . . . . . : 255.255.255.0
|
||||||
|
|||||||
@@ -16,17 +16,14 @@ class Tea(Base_all):
|
|||||||
,autoincrement=True
|
,autoincrement=True
|
||||||
,comment='id')
|
,comment='id')
|
||||||
name = Column(String(50)
|
name = Column(String(50)
|
||||||
,nullable=False
|
|
||||||
,comment='姓名')
|
,comment='姓名')
|
||||||
sex = Column(Enum(Gender),default='未知'
|
sex = Column(Enum(Gender),default='未知'
|
||||||
,comment='性别')
|
,comment='性别')
|
||||||
class_id = Column(Integer
|
class_id = Column(Integer
|
||||||
,nullable=False
|
|
||||||
,comment='班级id')
|
,comment='班级id')
|
||||||
phone = Column(String(50))
|
phone = Column(String(50))
|
||||||
subject_id = Column(Integer
|
subject_id = Column(Integer
|
||||||
, ForeignKey('subject.id')
|
, ForeignKey('subject.id')
|
||||||
,nullable=False
|
|
||||||
,comment='教学科目')
|
,comment='教学科目')
|
||||||
home_place = Column(String(50)
|
home_place = Column(String(50)
|
||||||
,comment='家乡')
|
,comment='家乡')
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
from pydantic import BaseModel
|
from pydantic import BaseModel,Field
|
||||||
from Teachers.model.tea_model import *
|
from Teachers.model.tea_model import *
|
||||||
|
|
||||||
#查询使用请求体,都可以为空
|
#查询使用请求体,都可以为空
|
||||||
@@ -7,8 +7,8 @@ class TeaRequest(BaseModel):
|
|||||||
name: str|None = None
|
name: str|None = None
|
||||||
sex: Gender|None = None
|
sex: Gender|None = None
|
||||||
class_id: int | None = None
|
class_id: int | None = None
|
||||||
sub: str|None = None
|
subject_id: str|None = None
|
||||||
phone: str|None = None
|
phone: str | None
|
||||||
home_place: str|None = None
|
home_place: str|None = None
|
||||||
collage: str|None = None
|
collage: str|None = None
|
||||||
education: str|None = None
|
education: str|None = None
|
||||||
@@ -22,9 +22,9 @@ class NewTeaRequest(BaseModel):
|
|||||||
name: str | None = None
|
name: str | None = None
|
||||||
sex: Gender|None = None
|
sex: Gender|None = None
|
||||||
class_id: int | None = None
|
class_id: int | None = None
|
||||||
sub: str | None = None
|
subject_id: int | None = None
|
||||||
home_place: str | None = None
|
home_place: str | None = None
|
||||||
phone: str
|
phone: str | None = Field(default=None, min_length=11, max_length=11)
|
||||||
collage: str | None = None
|
collage: str | None = None
|
||||||
education: str | None = None
|
education: str | None = None
|
||||||
work_experience: str | None = None
|
work_experience: str | None = None
|
||||||
@@ -35,11 +35,14 @@ class NewTeaRequest1(BaseModel):
|
|||||||
name: str | None = None
|
name: str | None = None
|
||||||
sex: Gender|None = None
|
sex: Gender|None = None
|
||||||
class_id: int | None = None
|
class_id: int | None = None
|
||||||
sub: str | None = None
|
subject_id: int | None = None
|
||||||
home_place: str | None = None
|
home_place: str | None = None
|
||||||
phone: str|None = None
|
phone: str | None = Field(default=None, min_length=11, max_length=11)
|
||||||
collage: str | None = None
|
collage: str | None = None
|
||||||
education: str | None = None
|
education: str | None = None
|
||||||
work_experience: str | None = None
|
work_experience: str | None = None
|
||||||
start_time: datetime | None = None
|
start_time: datetime | None = None
|
||||||
specialty: str | None = None
|
specialty: str | None = None
|
||||||
|
|
||||||
|
class SubRequest(BaseModel):
|
||||||
|
name: str
|
||||||
@@ -12,8 +12,10 @@ app = FastAPI()
|
|||||||
|
|
||||||
app.include_router(class_api)
|
app.include_router(class_api)
|
||||||
|
|
||||||
Base.metadata.create_all(engine)
|
|
||||||
|
|
||||||
if __name__ =='__main__':
|
if __name__ =='__main__':
|
||||||
|
Base.metadata.create_all(engine)
|
||||||
|
|
||||||
import uvicorn
|
import uvicorn
|
||||||
uvicorn.run('main:app',host='127.0.0.1',port=12345)
|
uvicorn.run('main:app',host='127.0.0.1',port=12345)
|
||||||
Reference in New Issue
Block a user