完善相关问题,并增加推理的部分代码
This commit is contained in:
88
app/model/crud/project_detect_crud.py
Normal file
88
app/model/crud/project_detect_crud.py
Normal file
@ -0,0 +1,88 @@
|
||||
from typing import List
|
||||
from sqlalchemy.orm import Session
|
||||
from sqlalchemy import asc, and_
|
||||
from fastapi.encoders import jsonable_encoder
|
||||
from fastapi import UploadFile
|
||||
|
||||
from app.model.bussiness_model import ProjectDetect, ProjectDetectImg, ProjectDetectLog, ProjectDetectLogImg
|
||||
from app.model.schemas.project_detect_schemas import ProjectDetectOut, ProjectDetectPager
|
||||
from app.db.page_util import get_pager
|
||||
|
||||
|
||||
def add_detect(detect: ProjectDetect, session: Session):
|
||||
"""
|
||||
新增推理集合
|
||||
:param detect:
|
||||
:param session:
|
||||
:return:
|
||||
"""
|
||||
session.add(detect)
|
||||
session.commit()
|
||||
return detect
|
||||
|
||||
|
||||
def get_detect_pager(detect_pager: ProjectDetectPager, session: Session):
|
||||
"""
|
||||
查询推理集合分页数据
|
||||
:param detect_pager:
|
||||
:param session:
|
||||
:return:
|
||||
"""
|
||||
query = session.query(ProjectDetect).order_by(asc(ProjectDetect.id))
|
||||
filters = [ProjectDetect.project_id == detect_pager.project_id]
|
||||
if detect_pager.detect_name is not None:
|
||||
filters.append(ProjectDetect.detect_name.ilike(f"%{detect_pager.detect_name}%"))
|
||||
query = query.filter(and_(*filters))
|
||||
pager = get_pager(query, detect_pager.pagerNum, detect_pager.pagerSize)
|
||||
pager.data = [ProjectDetectOut.from_orm(user) for user in pager.data]
|
||||
pager.data = jsonable_encoder(pager.data)
|
||||
return pager
|
||||
|
||||
|
||||
def check_img_name(detect_id: int, file_name: str, session: Session):
|
||||
"""
|
||||
校验上传的图片名称是否重名
|
||||
:param detect_id:
|
||||
:param file_name:
|
||||
:param session:
|
||||
:return:
|
||||
"""
|
||||
image = session.query(ProjectDetectImg).filter_by(detect_id=detect_id).filter_by(file_name=file_name).first()
|
||||
if image is None:
|
||||
return True, None
|
||||
else:
|
||||
return False, image.file_name
|
||||
|
||||
|
||||
def add_detect_imgs(detect_imgs: List[ProjectDetectImg], session: Session):
|
||||
"""
|
||||
添加推理集合中的图片
|
||||
:param detect_imgs:
|
||||
:param session:
|
||||
:return:
|
||||
"""
|
||||
session.add_all(detect_imgs)
|
||||
session.commit()
|
||||
|
||||
|
||||
def add_detect_log(detect_log: ProjectDetectLog, session: Session):
|
||||
"""
|
||||
新增推理记录
|
||||
:param detect_log:
|
||||
:param session:
|
||||
:return:
|
||||
"""
|
||||
session.add(detect_log)
|
||||
session.commit()
|
||||
return detect_log
|
||||
|
||||
|
||||
def add_detect_log_imgs(detect_log_imgs: List[ProjectDetectLogImg], session: Session):
|
||||
"""
|
||||
新增推理记录中的照片
|
||||
:param detect_log_imgs:
|
||||
:param session:
|
||||
:return:
|
||||
"""
|
||||
session.add_all(detect_log_imgs)
|
||||
session.commit()
|
Reference in New Issue
Block a user