aaa
This commit is contained in:
@@ -0,0 +1,80 @@
|
||||
from datetime import date
|
||||
|
||||
from fastapi import HTTPException
|
||||
from pydantic import Field
|
||||
from sqlalchemy import and_
|
||||
from sqlalchemy.orm import Session
|
||||
#导入表模型
|
||||
from model.work import Work
|
||||
#导入请求模型 StudentWorkCreate,是学生就业信息表的第一个请求模型用于方法一,
|
||||
# StudentWorkCreate1,是学生就业信息表的第二个请求模型用于方法二
|
||||
# StudentWroks,是学生信息表的请求模型
|
||||
from scheme.works import StudentWorkCreate,StudentWorks,StudentWorkCreate1
|
||||
|
||||
class WorkDao:
|
||||
@staticmethod
|
||||
#这是一个增加学生就业信息的方法
|
||||
def add_s_w(db: Session,student_work_info: StudentWorkCreate ):
|
||||
u1 = Work(**student_work_info.model_dump())
|
||||
db.add(u1)
|
||||
db.commit()
|
||||
print("已添加成功")
|
||||
return u1
|
||||
#这是获取学生就业信息(包含学生姓名与学生编号)的方法(三个必填版)
|
||||
@staticmethod
|
||||
def get_s_w(db: Session,student_work_info: StudentWorkCreate1):
|
||||
u2 =db.query(Work).filter(and_(Work.sid == student_work_info.sid,
|
||||
Work.company_name==student_work_info.company_name,
|
||||
Work.salary==student_work_info.salary)).first()
|
||||
|
||||
print("信息查询成功")
|
||||
return {"学生姓名":u2.student.name,"学生班级编号":u2.student.cid,
|
||||
"学生offer下发时间":u2.offer_time,"学生就业时间":u2.open_time,"公司姓名":u2.company_name,
|
||||
"月薪":u2.salary}
|
||||
#这是修改学生就业信息的方法
|
||||
@staticmethod
|
||||
def update_s_w(db:Session,student_work_info: StudentWorks):
|
||||
i = db.query(Work).filter(Work.sid == student_work_info.sid).first()
|
||||
if i is not None:
|
||||
|
||||
if student_work_info.company_name!="0":
|
||||
i.company_name = student_work_info.company_name
|
||||
db.commit()
|
||||
if float(student_work_info.salary)!=0:
|
||||
i.salary = student_work_info.salary
|
||||
db.commit()
|
||||
if student_work_info.open_time!=date(1970,1,1):
|
||||
i.work_time = student_work_info.open_time
|
||||
db.commit()
|
||||
if student_work_info.offer_time!=date(1970,1,1):
|
||||
i.offer_time = student_work_info.offer_time
|
||||
db.commit()
|
||||
return {"message": f"{student_work_info.sid}号学生已经修改成功"}
|
||||
|
||||
else:
|
||||
raise HTTPException(status_code= 422,detail="输入学生学号错误")
|
||||
|
||||
#这是删除学生信息的方法
|
||||
@staticmethod
|
||||
def delete_s_w(db: Session,user_id:int=Field(...,ge=0,le=100000)):
|
||||
u0 = db.query(Work).all()
|
||||
for i in u0:
|
||||
if i.sid == user_id:
|
||||
u1 = db.query(Work).filter(Work.sid == i.sid).first()
|
||||
u1.flag = 0
|
||||
return {"message":f"{user_id}号学生已经删除成功"}
|
||||
else:
|
||||
raise HTTPException(status_code=422,detail="输入的学生编号错误")
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user