feat: 综合平台services多服务支持+SW网络优先缓存修复+适配层/定时任务完善

This commit is contained in:
gouki
2026-08-05 11:57:17 +00:00
parent 7f1268f508
commit 1b7d4823c3
47 changed files with 2895 additions and 1189 deletions
+10
View File
@@ -6,6 +6,7 @@ from fastapi import HTTPException, status
from sqlmodel import Session, select
from app.core import crypto
from app.models.asset import Asset
from app.models.provider import Provider, ProviderCategory
from app.schemas.provider import ProviderCreate, ProviderRead, ProviderUpdate
@@ -73,6 +74,15 @@ def delete_provider(session: Session, provider_id: int) -> None:
provider = session.get(Provider, provider_id)
if not provider:
raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail="平台不存在")
# 数据完整性:存在关联资产时禁止删除,避免 provider_id 悬空引用
linked = session.exec(
select(Asset.id).where(Asset.provider_id == provider_id).limit(1)
).first()
if linked is not None:
raise HTTPException(
status_code=status.HTTP_409_CONFLICT,
detail="该平台下仍有关联资产,请先迁移或删除相关资产",
)
session.delete(provider)
session.commit()