项目基础模块代码
This commit is contained in:
86
app/api/business/project_api.py
Normal file
86
app/api/business/project_api.py
Normal file
@ -0,0 +1,86 @@
|
||||
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.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.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 sqlalchemy.orm import Session
|
||||
|
||||
"""项目管理API"""
|
||||
project = APIRouter()
|
||||
|
||||
|
||||
@project.get("/types")
|
||||
def get_type_list(session: Session = Depends(get_db)):
|
||||
"""获取项目类别"""
|
||||
type_list = ptc.get_list(session)
|
||||
return rc.response_success(data=type_list)
|
||||
|
||||
|
||||
@project.post("/list")
|
||||
def project_pager(info: ProjectInfoPager, session: Session = Depends(get_db)):
|
||||
pager = pic.get_project_pager(info, session)
|
||||
return rc.response_success_pager(pager)
|
||||
|
||||
|
||||
@project.post("/add")
|
||||
def add_project(request: Request, info: ProjectInfoIn, session: Session = Depends(get_db)):
|
||||
"""新建项目"""
|
||||
if pic.check_project_name(info.project_name, session):
|
||||
return rc.response_error("已经存在相同名称的项目")
|
||||
user_id = get_user_id(request)
|
||||
ps.add_project(info, session, user_id)
|
||||
return rc.response_success(msg="新建成功")
|
||||
|
||||
|
||||
@project.post("/add_label")
|
||||
def add_label(label: ProjectLabel, session: Session = Depends(get_db)):
|
||||
"""
|
||||
新增标签
|
||||
:param label:
|
||||
:param session:
|
||||
:return:
|
||||
"""
|
||||
if plc.check_label_name(label.project_id, label.label_name, session):
|
||||
return rc.response_error("标签名称已经存在,不能重复")
|
||||
label_save = ProjectLabel(**label.dict())
|
||||
plc.add_label(label_save, session)
|
||||
return rc.response_success(msg="保存成功")
|
||||
|
||||
|
||||
@project.post("/up_label")
|
||||
def up_label(label: ProjectLabel, session: Session = Depends(get_db)):
|
||||
"""
|
||||
修改标签
|
||||
:param label:
|
||||
:param session:
|
||||
:return:
|
||||
"""
|
||||
if plc.check_label_name(label.project_id, label.label_name, session, label.id):
|
||||
return rc.response_error("修改的标签名称已经存在,不能重复")
|
||||
label_save = ProjectLabel(**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)):
|
||||
"""
|
||||
删除标签
|
||||
:param label:
|
||||
:param session:
|
||||
:return:
|
||||
"""
|
||||
row_del = plc.update_label(label.id, session)
|
||||
if row_del > 0:
|
||||
return rc.response_success(msg="删除成功")
|
||||
else:
|
||||
return rc.response_error("删除失败")
|
||||
|
||||
|
||||
|
@ -1,17 +1,18 @@
|
||||
from typing import List
|
||||
|
||||
from fastapi import APIRouter
|
||||
from fastapi import UploadFile
|
||||
import os
|
||||
|
||||
upload = APIRouter()
|
||||
from app.config.config_reader import images_url
|
||||
|
||||
upload_files = APIRouter()
|
||||
|
||||
|
||||
@upload.post("/")
|
||||
def upload_file(files: List[UploadFile]):
|
||||
@upload_files.post("/")
|
||||
def upload(files: List[UploadFile], project_no: str):
|
||||
paths = []
|
||||
for file in files:
|
||||
path = os.path.join("images", file.filename)
|
||||
path = os.path.join(images_url, project_no, file.filename)
|
||||
with open(path, "wb") as f:
|
||||
for line in file.file:
|
||||
f.write(line)
|
||||
|
@ -1,8 +1,8 @@
|
||||
from fastapi import APIRouter, Depends
|
||||
from app.model.schemas.sys_user_schemas import SysUserOut, SysUserIN, SysUserPager
|
||||
from app.model.schemas.sys_user_schemas import SysUserOut, SysUserIn, SysUserPager
|
||||
from app.common import reponse_code as rc
|
||||
from app.model.crud import sys_user_crud as us
|
||||
from app.model.model import SysUser
|
||||
from app.model.sys_model import SysUser
|
||||
from app.common.redis_cli import redis_conn
|
||||
|
||||
from sqlalchemy.orm import Session
|
||||
@ -20,7 +20,7 @@ def user_pager(user: SysUserPager, session: Session = Depends(get_db)):
|
||||
|
||||
|
||||
@user.post("/")
|
||||
def add_user(user: SysUserIN, session: Session = Depends(get_db)):
|
||||
def add_user(user: SysUserIn, session: Session = Depends(get_db)):
|
||||
"""
|
||||
新增用户
|
||||
:param session:
|
||||
@ -30,7 +30,7 @@ def add_user(user: SysUserIN, session: Session = Depends(get_db)):
|
||||
if us.check_username(user.username, session):
|
||||
return rc.response_error(msg="该用户名已存在!")
|
||||
else:
|
||||
user_in= SysUser(**user.dict())
|
||||
user_in = SysUser(**user.dict())
|
||||
user_in.user_status = '0'
|
||||
if us.add_user(user_in, session):
|
||||
return rc.response_success(msg="保存成功")
|
||||
@ -49,7 +49,7 @@ def get_user(id: int, session: Session = Depends(get_db)):
|
||||
user = us.get_user_by_id(id, session)
|
||||
if user is None:
|
||||
return rc.response_success(data=None)
|
||||
user_out = SysUserOut(**dict(user))
|
||||
user_out = SysUserOut.from_orm(user)
|
||||
return rc.response_success(data=user_out.dict())
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user