This commit is contained in:
cjw
2026-03-15 13:33:47 +08:00
parent 5a665242a3
commit 191ac77d15
7 changed files with 31 additions and 26 deletions
+10 -7
View File
@@ -18,6 +18,8 @@ from core.mold_generator import MoldCavityGenerator
from core.aluminum_foam_mold import AluminumFoamMoldGenerator
from core.mold_quality_inspector import AluminumFoamMoldQualityInspector
from core.mesh_generator import MeshGenerator
from services.auth_service import get_current_active_user
from models.database import User
logger = get_logger(__name__)
@@ -52,7 +54,8 @@ async def upload_stp(
background_tasks: BackgroundTasks,
file: UploadFile = File(...),
material: Optional[str] = "ABS",
db_session: AsyncSession = Depends(get_db_session)
db_session: AsyncSession = Depends(get_db_session),
current_user: User = Depends(get_current_active_user)
):
"""上传STP文件并存储到数据库"""
@@ -62,8 +65,7 @@ async def upload_stp(
task_id = str(uuid.uuid4())
# 保存文件
file_path = await file_handler.save_uploaded_file(file)
content = await file.read()
file_path, file_size = await file_handler.save_uploaded_file(file)
# 创建存储集成服务实例
storage_service = StorageIntegrationService()
@@ -72,7 +74,8 @@ async def upload_stp(
stp_file = await storage_service.save_stp_file(
session=db_session,
file_path=file_path,
original_filename=file.filename
original_filename=file.filename,
user_id=current_user.id
)
# 创建处理任务记录
@@ -84,7 +87,7 @@ async def upload_stp(
status=ProcessingStatus.PROCESSING,
filename=file.filename,
file_path=str(file_path),
file_size=len(content),
file_size=file_size,
upload_time=str(datetime.now())
)
@@ -97,7 +100,7 @@ async def upload_stp(
"message": "文件上传成功,开始处理并存储到数据库",
"file_info": {
"filename": file.filename,
"size": len(content),
"size": file_size,
"pythonocc_available": True,
"database_file_id": stp_file.id
}
@@ -857,4 +860,4 @@ async def process_file_core(
tasks[task_id]["status"] = ProcessingStatus.FAILED
tasks[task_id]["error"] = str(e)
tasks[task_id]["completed_at"] = str(datetime.now())
tasks[task_id]["completed_at"] = str(datetime.now())