项目基础模块代码

This commit is contained in:
2025-02-19 16:57:49 +08:00
parent 31302bcd17
commit bed123c532
14 changed files with 159 additions and 57 deletions

View File

@ -1,14 +1,17 @@
from app.model.crud import project_type_crud as ptc
from app.model.crud import project_label_crud as plc
from app.model.crud import project_info_crud as pic
from app.model.crud import project_image_crud as pimc
from app.service import project_service as ps
from app.model.schemas.project_info_schemas import ProjectInfoIn, ProjectInfoPager
from app.model.schemas.project_label_schemas import ProjectLabel
from app.model.bussiness_model import ProjectLabel as pl
from app.db.db_session import get_db
from app.common.jwt_check import get_user_id
from app.common import reponse_code as rc
from fastapi import APIRouter, Depends, Request
from typing import List
from fastapi import APIRouter, Depends, Request, UploadFile, File, Form
from sqlalchemy.orm import Session
"""项目管理API"""
@ -38,6 +41,18 @@ def add_project(request: Request, info: ProjectInfoIn, session: Session = Depend
return rc.response_success(msg="新建成功")
@project.get("/label_list/{project_id}")
def get_label_list(project_id: int, session: Session = Depends(get_db)):
"""
根据项目id查询项目标签列表
:param project_id:
:param session:
:return:
"""
label_list = plc.get_label_list(project_id, session)
return rc.response_success(msg="查询成功", data=label_list)
@project.post("/add_label")
def add_label(label: ProjectLabel, session: Session = Depends(get_db)):
"""
@ -48,7 +63,7 @@ def add_label(label: ProjectLabel, session: Session = Depends(get_db)):
"""
if plc.check_label_name(label.project_id, label.label_name, session):
return rc.response_error("标签名称已经存在,不能重复")
label_save = ProjectLabel(**label.dict())
label_save = pl(**label.dict())
plc.add_label(label_save, session)
return rc.response_success(msg="保存成功")
@ -63,24 +78,51 @@ def up_label(label: ProjectLabel, session: Session = Depends(get_db)):
"""
if plc.check_label_name(label.project_id, label.label_name, session, label.id):
return rc.response_error("修改的标签名称已经存在,不能重复")
label_save = ProjectLabel(**label.dict())
label_save = pl(**label.dict())
plc.update_label(label_save, session)
return rc.response_success(msg="修改成功")
@project.post("/del_label")
def del_label(label: ProjectLabel, session: Session = Depends(get_db)):
@project.post("/del_label/{label_id}")
def del_label(label_id: int, session: Session = Depends(get_db)):
"""
删除标签
:param label:
:param label_id:
:param session:
:return:
"""
row_del = plc.update_label(label.id, session)
row_del = plc.del_label(label_id, session)
if row_del > 0:
return rc.response_success(msg="删除成功")
else:
return rc.response_error("删除失败")
@project.post("/up_proj_img")
def upload_project_image(project_id: int = Form(...), files: List[UploadFile] = File(...), session: Session = Depends(get_db)):
"""
上传项目图片
:param files: 文件图片
:param project_id:
:param session:
:return:
"""
project_info = pic.get_project_by_id(project_id, session)
if project_info is None:
return rc.response_error("项目查询错误,请刷新页面后再试")
ps.upload_project_image(project_info, files, session)
return rc.response_success(msg="上传成功")
@project.get("/img_list/{project_id}")
def get_image_list(project_id: int, session: Session = Depends(get_db)):
"""
获取项目图片列表
:param project_id: 项目id
:param session:
:return:
"""
image_list = pimc.get_image_list(project_id, session)
return rc.response_success(data=image_list)