项目基础模块代码
This commit is contained in:
@ -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)
|
||||
|
||||
|
||||
|
21
app/api/common/view_img.py
Normal file
21
app/api/common/view_img.py
Normal file
@ -0,0 +1,21 @@
|
||||
import os
|
||||
from fastapi import APIRouter, HTTPException
|
||||
from starlette.responses import FileResponse
|
||||
|
||||
from app.config.config_reader import images_url
|
||||
|
||||
view = APIRouter()
|
||||
|
||||
|
||||
@view.get("/{file_path:path}")
|
||||
def view_img(file_path):
|
||||
"""
|
||||
查看图片
|
||||
:param file_path: 图片路径
|
||||
:return:
|
||||
"""
|
||||
image_path = os.path.join(images_url, file_path)
|
||||
# 检查文件是否存在以及是否是文件
|
||||
if not os.path.isfile(image_path):
|
||||
raise HTTPException(status_code=404, detail="Image not found")
|
||||
return FileResponse(image_path, media_type='image/jpeg')
|
@ -19,7 +19,7 @@ def user_pager(user: SysUserPager, session: Session = Depends(get_db)):
|
||||
return rc.response_success_pager(pager)
|
||||
|
||||
|
||||
@user.post("/")
|
||||
@user.post("/add")
|
||||
def add_user(user: SysUserIn, session: Session = Depends(get_db)):
|
||||
"""
|
||||
新增用户
|
||||
@ -81,4 +81,4 @@ def start_user(id: int, session: Session = Depends(get_db)):
|
||||
if user is None:
|
||||
return rc.response_error("用户查询错误,请稍后再试")
|
||||
us.start_user(user)
|
||||
return rc.response_success("启用用户成功")
|
||||
return rc.response_success("启用用户成功")
|
||||
|
Reference in New Issue
Block a user