feat: 插件开发 ozon 端主体完成

This commit is contained in:
Joey
2026-08-16 17:32:43 +08:00
parent 1591d5e35a
commit b57933e983
32 changed files with 1960 additions and 512 deletions
+7 -2
View File
@@ -13,7 +13,7 @@ from sqlalchemy.ext.asyncio import AsyncSession
from config import get_settings
from db import get_db
from models import Product, ProductAsset, Suite, SuiteImage, STATUS_OK
from schemas import PLATFORM_SPECS, SUPPORTED_TYPES, SuiteCreateRequest, SuiteCreateResponse, SuiteImageOut, SuiteOut
from schemas import PLATFORM_SPECS, SUPPORTED_TYPES, TONGYI_MODELS, SuiteCreateRequest, SuiteCreateResponse, SuiteImageOut, SuiteOut
from services import storage
from services.generator import run_suite
@@ -35,6 +35,7 @@ async def _suite_out(db: AsyncSession, suite: Suite) -> SuiteOut:
ratio=suite.ratio,
types=list(suite.types or []),
provider=suite.provider,
model=suite.model,
images=[
SuiteImageOut(
type_id=i.type_id, name=i.name, url=i.stored_url or "",
@@ -75,6 +76,9 @@ async def create_suite(
spec = PLATFORM_SPECS[req.platform]
settings = get_settings()
provider_name = req.provider or settings.image_provider
if provider_name == "tongyi" and req.model and req.model not in TONGYI_MODELS:
raise HTTPException(status_code=400, detail=f"不支持的模型: {req.model}tongyi 支持: {TONGYI_MODELS}")
suite = Suite(
product_id=product.id,
style_set=req.style_set,
@@ -82,7 +86,8 @@ async def create_suite(
lang=spec["lang"],
ratio=spec["ratio"],
types=req.types,
provider=req.provider or settings.image_provider,
provider=provider_name,
model=req.model,
)
db.add(suite)
await db.commit()