From 66749ea4a562f306d627917aaef0eb8916517c19 Mon Sep 17 00:00:00 2001 From: xiaoxia Date: Mon, 28 Sep 2026 01:26:42 +0800 Subject: [PATCH] =?UTF-8?q?fix(asset-repo):=20status/classification=5Fstat?= =?UTF-8?q?us=20=E8=B5=8B=E5=80=BC=E9=98=B2=E5=BE=A1=EF=BC=8C=E5=85=BC?= =?UTF-8?q?=E5=AE=B9=E8=A3=B8=E5=AD=97=E7=AC=A6=E4=B8=B2=20(#2079)=20-=20c?= =?UTF-8?q?reate/update=20=E6=97=B6=E5=AF=B9=20status/classification=5Fsta?= =?UTF-8?q?tus=20=E4=B8=A4=E5=A4=84=20.value=20=E8=B0=83=E7=94=A8=E5=8A=A0?= =?UTF-8?q?=20hasattr=20=E9=98=B2=E5=BE=A1=EF=BC=8C=E5=B7=B2=E7=BB=8F?= =?UTF-8?q?=E6=98=AF=20str=20=E6=97=B6=E7=9B=B4=E6=8E=A5=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=EF=BC=8C=E9=81=BF=E5=85=8D=E5=90=8E=E7=BB=AD=E5=86=8D=E5=87=BA?= =?UTF-8?q?=E7=8E=B0=E5=90=8C=E7=B1=BB=20str.value=20=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sqlalchemy_impl/asset_repository.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/packages/adapters/sqlalchemy_impl/asset_repository.py b/packages/adapters/sqlalchemy_impl/asset_repository.py index f316fa543..d1cab4535 100755 --- a/packages/adapters/sqlalchemy_impl/asset_repository.py +++ b/packages/adapters/sqlalchemy_impl/asset_repository.py @@ -128,8 +128,12 @@ class SQLAlchemyAssetRepository: height=asset.height, fps=asset.fps, codec=asset.codec, - status=asset.status.value, - classification_status=asset.classification_status.value, + status=(asset.status.value if hasattr(asset.status, "value") else str(asset.status)), + classification_status=( + asset.classification_status.value + if hasattr(asset.classification_status, "value") + else str(asset.classification_status) + ), classification_result=(json.dumps(asset.metadata) if asset.metadata else None), quality_score=asset.quality_score, uploaded_by_user_id=asset.uploaded_by_user_id or "system", @@ -142,7 +146,7 @@ class SQLAlchemyAssetRepository: self.session.flush() self._sync_asset_tags(asset.id, asset.tag_ids) # Issue #1776: 自动维护素材库计数(同事务内原子更新) - if asset.library_id and asset.status.value != "deleted": + if asset.library_id and (getattr(asset.status, "value", str(asset.status)) != "deleted"): from sqlalchemy import func self.session.query(AssetLibraryModel).filter(AssetLibraryModel.id == asset.library_id).update( @@ -168,8 +172,12 @@ class SQLAlchemyAssetRepository: model.height = asset.height model.fps = asset.fps model.codec = asset.codec - model.status = asset.status.value - model.classification_status = asset.classification_status.value + model.status = asset.status.value if hasattr(asset.status, "value") else str(asset.status) + model.classification_status = ( + asset.classification_status.value + if hasattr(asset.classification_status, "value") + else str(asset.classification_status) + ) model.classification_result = json.dumps(asset.metadata) if asset.metadata else None model.quality_score = asset.quality_score model.uploaded_by_user_id = asset.uploaded_by_user_id or model.uploaded_by_user_id