42 lines
1.2 KiB
Python
42 lines
1.2 KiB
Python
from fastapi import FastAPI
|
|
import uvicorn
|
|
from fastapi import FastAPI, File, UploadFile, HTTPException
|
|
from typing import List
|
|
from service.file_service import check_and_create_directory, upload_and_save_file,fetch_files
|
|
from service import excel_service
|
|
import threading
|
|
from logging_config import LOGGING_CONFIG
|
|
import logging
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
app = FastAPI()
|
|
|
|
|
|
@app.get("/api/v1/hw")
|
|
def read_root():
|
|
return {"Hello": "World"}
|
|
|
|
|
|
# 上传文件并解析,解析是异步错误
|
|
@app.post("/upload_files_and_parse")
|
|
async def create_upload_files(files: List[UploadFile] = File(...)):
|
|
dir_id = check_and_create_directory(files)
|
|
if not dir_id:
|
|
return {"result": False, "code": 500, "message": "create directory failed"}
|
|
flag, message= await upload_and_save_file(dir_id, files)
|
|
logger.info(f"flag is {flag}")
|
|
if flag:
|
|
flag,message = await fetch_files(dir_id)
|
|
return {"result": flag, "message": message,"task_id": dir_id}
|
|
|
|
|
|
@app.get("/export_task_data_to_excel")
|
|
def export_task_data_to_excel(task_id: str):
|
|
message = excel_service.export_task_data_to_excel(task_id)
|
|
return {"message": message}
|
|
|
|
|
|
if __name__ == '__main__':
|
|
uvicorn.run(app, host="127.0.0.1", port=3006)
|