添加客户端的文件上传和上传信息获取功能
This commit is contained in:
parent
f131d33fe3
commit
66aef60f9d
|
@ -5,3 +5,4 @@
|
||||||
**.pyc
|
**.pyc
|
||||||
static/2.json
|
static/2.json
|
||||||
static/填报模板1.xlsx
|
static/填报模板1.xlsx
|
||||||
|
/static/smebiz2013/
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import json
|
import json
|
||||||
|
from datetime import datetime
|
||||||
from typing import List, Tuple
|
from typing import List, Tuple
|
||||||
|
|
||||||
from fastapi import APIRouter, Depends, HTTPException, UploadFile, File, Form
|
from fastapi import APIRouter, Depends, HTTPException, UploadFile, File, Form
|
||||||
|
@ -15,10 +16,10 @@ from . import schemas
|
||||||
router = APIRouter(tags=["接收文件"], prefix='/receive_file')
|
router = APIRouter(tags=["接收文件"], prefix='/receive_file')
|
||||||
|
|
||||||
|
|
||||||
@router.post("/update_file", summary="修改主题文件模板附带文件")
|
@router.post("/update_file", summary="上传提交文件")
|
||||||
def update_file(file: UploadFile = File(...), data: str = Form(...),
|
def update_file(file: UploadFile = File(...), data: str = Form(...),
|
||||||
db: Session = Depends(get_db),
|
db: Session = Depends(get_db),
|
||||||
auth_info = Depends(get_url_code_and_code), ):
|
auth_info=Depends(get_url_code_and_code), ):
|
||||||
[order, _, _] = auth_info
|
[order, _, _] = auth_info
|
||||||
order: ReceiveOrder
|
order: ReceiveOrder
|
||||||
data = json.loads(data)
|
data = json.loads(data)
|
||||||
|
@ -39,6 +40,25 @@ def update_file(file: UploadFile = File(...), data: str = Form(...),
|
||||||
folder_name = subject.folder_name
|
folder_name = subject.folder_name
|
||||||
file_path = file_upload(file, static_path / folder_name, db)
|
file_path = file_upload(file, static_path / folder_name, db)
|
||||||
req.file_path = file_path
|
req.file_path = file_path
|
||||||
|
req.upload_time = datetime.now()
|
||||||
item = crud.receive_file_update(db, req)
|
item = crud.receive_file_update(db, req)
|
||||||
return schemas.ReceiveFileUpdateRes(**item.to_dict())
|
return schemas.ReceiveFileUpdateRes(**item.to_dict())
|
||||||
|
|
||||||
|
|
||||||
|
@router.post("/remove_file", summary="删除文件")
|
||||||
|
def remove_file(req: schemas.ReceiveFileId,
|
||||||
|
db: Session = Depends(get_db),
|
||||||
|
auth_info=Depends(get_url_code_and_code), ):
|
||||||
|
[order, _, _] = auth_info
|
||||||
|
order: ReceiveOrder
|
||||||
|
file = db.query(ReceiveFile).filter(ReceiveFile.receive_order_id == order.id, ReceiveFile.id == req.id).first()
|
||||||
|
if not file:
|
||||||
|
raise HTTPException(status_code=303, detail="未查询到文件")
|
||||||
|
file: ReceiveFile
|
||||||
|
# 文件不删
|
||||||
|
file.name = None
|
||||||
|
file.file_path = None
|
||||||
|
file.upload_time = None
|
||||||
|
db.commit()
|
||||||
|
return "成功"
|
||||||
#########
|
#########
|
||||||
|
|
|
@ -14,6 +14,7 @@ class ReceiveFileAdd(BaseModel):
|
||||||
receive_order_id: str
|
receive_order_id: str
|
||||||
receive_subject_file_id: int
|
receive_subject_file_id: int
|
||||||
file_path: Optional[str] = None
|
file_path: Optional[str] = None
|
||||||
|
upload_time: Optional[datetime] = None
|
||||||
|
|
||||||
|
|
||||||
class ReceiveFileAddOptional(ReceiveFileAdd, metaclass=AllOptional):
|
class ReceiveFileAddOptional(ReceiveFileAdd, metaclass=AllOptional):
|
||||||
|
|
|
@ -1,5 +1,15 @@
|
||||||
from fastapi import APIRouter
|
from fastapi import APIRouter, Depends
|
||||||
from .mods.receive_order.router import router as receive_order_router
|
from .mods.receive_order.router import router as receive_order_router
|
||||||
from .mods.receive_file.router import router as receive_file_router
|
from .mods.receive_file.router import router as receive_file_router
|
||||||
|
from .utils import get_url_code_and_code
|
||||||
|
|
||||||
router = APIRouter(prefix="/client")
|
router = APIRouter(prefix="/receive_client", tags=['客户端'])
|
||||||
|
|
||||||
|
|
||||||
|
@router.post('/check', summary='链接验证')
|
||||||
|
def check(auth_info=Depends(get_url_code_and_code)):
|
||||||
|
return '成功'
|
||||||
|
|
||||||
|
|
||||||
|
router.include_router(receive_file_router)
|
||||||
|
router.include_router(receive_order_router)
|
||||||
|
|
|
@ -6,14 +6,15 @@ from ..models import ReceiveOrder
|
||||||
|
|
||||||
def get_url_code_and_code(
|
def get_url_code_and_code(
|
||||||
db: Session = Depends(get_db),
|
db: Session = Depends(get_db),
|
||||||
url_code: str = Header(None),
|
urlcode: str = Header(None),
|
||||||
code: str = Header(None)
|
code: str = Header(None)
|
||||||
):
|
):
|
||||||
|
url_code = urlcode
|
||||||
if url_code is None or code is None:
|
if url_code is None or code is None:
|
||||||
raise HTTPException(status_code=303, detail="缺少链接或密码")
|
raise HTTPException(status_code=303, detail="缺少链接或密码")
|
||||||
order = db.query(ReceiveOrder).filter(
|
order = db.query(ReceiveOrder).filter(
|
||||||
ReceiveOrder.url_code == url_code, ReceiveOrder.code == code).first()
|
ReceiveOrder.url_code == url_code, ReceiveOrder.code == code).first()
|
||||||
if not order:
|
if not order:
|
||||||
raise HTTPException(status_code=303, detail="错误的链接或密码")
|
raise HTTPException(status_code=403, detail="错误的链接或密码")
|
||||||
|
|
||||||
return order, url_code, code
|
return order, url_code, code
|
||||||
|
|
Loading…
Reference in New Issue