项目基础模块代码
This commit is contained in:
51
app/service/project_service.py
Normal file
51
app/service/project_service.py
Normal file
@ -0,0 +1,51 @@
|
||||
from app.model.bussiness_model import ProjectImage
|
||||
from app.model.schemas.project_info_schemas import ProjectInfoIn, ProjectInfoOut
|
||||
from app.model.bussiness_model import ProjectInfo
|
||||
from app.util import random_utils as ru
|
||||
from app.config.config_reader import datasets_url, runs_url, images_url
|
||||
from app.model.crud import project_info_crud as pic
|
||||
from app.util import os_utils as os
|
||||
|
||||
from sqlalchemy.orm import Session
|
||||
from typing import List
|
||||
from fastapi import UploadFile
|
||||
|
||||
|
||||
def add_project(info: ProjectInfoIn, session: Session, user_id: int):
|
||||
"""
|
||||
新建项目,完善数据,并创建对应的文件夹
|
||||
:param info: 项目信息
|
||||
:param session: 数据库session
|
||||
:param user_id: 用户id
|
||||
:return:
|
||||
"""
|
||||
project_info = ProjectInfo(**info.dict())
|
||||
project_info.user_id = user_id
|
||||
project_info.project_no = ru.random_str(6)
|
||||
project_info.project_status = "0"
|
||||
project_info.train_version = 0
|
||||
os.create_folder(datasets_url, project_info.project_no)
|
||||
os.create_folder(runs_url, project_info.project_no)
|
||||
pic.add_project(project_info, session)
|
||||
return project_info
|
||||
|
||||
|
||||
def upload_project_image(session: Session, project_info: ProjectInfoOut, files: List[UploadFile]):
|
||||
"""
|
||||
上传项目的图片
|
||||
:param files: 上传的图片
|
||||
:param project_info: 项目信息
|
||||
:param image:
|
||||
:param session:
|
||||
:return:
|
||||
"""
|
||||
for file in files:
|
||||
image = ProjectImage()
|
||||
image.project_id = project_info.id
|
||||
# 保存原图
|
||||
path = os.save_images(images_url, project_info.project_no, file=file)
|
||||
image.image_url = path
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user