From 57fe3f55e3844daac96e248097418130e5786193 Mon Sep 17 00:00:00 2001 From: "si@aidatagov.com" Date: Fri, 12 Dec 2025 01:49:16 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module_admin/dao/metadata_config_dao.py | 8 ++++++++ .../module_admin/service/datastd_service.py | 2 +- .../module_admin/service/metadata_config_service.py | 9 ++++++++- .../src/views/dataAsset/assetDetail/index.vue | 11 ++++++++--- .../src/views/metadataConfig/log/index.vue | 3 ++- 5 files changed, 27 insertions(+), 6 deletions(-) diff --git a/vue-fastapi-backend/module_admin/dao/metadata_config_dao.py b/vue-fastapi-backend/module_admin/dao/metadata_config_dao.py index 46e6ca0..6d4b7b0 100644 --- a/vue-fastapi-backend/module_admin/dao/metadata_config_dao.py +++ b/vue-fastapi-backend/module_admin/dao/metadata_config_dao.py @@ -452,7 +452,15 @@ class MetadataConfigDao: async def add_batch_task_rela_dao(cls, db: AsyncSession, rela_list: List[TaskBizConfigRela]): db.add_all(rela_list) await db.flush() + @classmethod + async def check_biz_name_exists(cls, db: AsyncSession, biz_name: str, exclude_onum: str = None): + stmt = select(SecuBizConfig).where(SecuBizConfig.biz_name == biz_name) + + if exclude_onum: + stmt = stmt.where(SecuBizConfig.onum != exclude_onum) + result = await db.execute(stmt) + return result.first() @classmethod async def get_task_rela_by_biz_id(cls, db: AsyncSession, biz_onum: int): result = await db.execute( diff --git a/vue-fastapi-backend/module_admin/service/datastd_service.py b/vue-fastapi-backend/module_admin/service/datastd_service.py index 555b182..0c6441a 100644 --- a/vue-fastapi-backend/module_admin/service/datastd_service.py +++ b/vue-fastapi-backend/module_admin/service/datastd_service.py @@ -2150,7 +2150,7 @@ class DataStdService: except Exception as e: await query_db.rollback() - raise ServiceException(message=f"导入失败:{str(e)}") + raise ServiceException(message=f"导入失败:{str(e.message)}") @classmethod async def batch_import_code_std_services( diff --git a/vue-fastapi-backend/module_admin/service/metadata_config_service.py b/vue-fastapi-backend/module_admin/service/metadata_config_service.py index 0cebff8..129e33b 100644 --- a/vue-fastapi-backend/module_admin/service/metadata_config_service.py +++ b/vue-fastapi-backend/module_admin/service/metadata_config_service.py @@ -240,6 +240,11 @@ class MetadataConfigService: configMode.update_by=page_object.update_by configMode.update_time=page_object.update_time configMode.create_time=page_object.create_time + # 校验 biz_name 是否重复 + exists = await MetadataConfigDao.check_biz_name_exists(db, page_object.biz_name) + if exists: + raise ServiceException(message=f"业务域名称 {page_object.biz_name} 已存在,请更换名称") + obj=await MetadataConfigDao.add_biz_config(db, configMode) records: List[SecuBizConfigRela] = [] for tab_onum in page_object.tab_onum_list: @@ -268,7 +273,9 @@ class MetadataConfigService: configMode.update_by=page_object.update_by configMode.update_time=page_object.update_time configMode.create_time=page_object.create_time - + exists = await MetadataConfigDao.check_biz_name_exists(db, page_object.biz_name, exclude_onum=page_object.onum) + if exists: + raise ServiceException(message=f"业务名称 {page_object.biz_name} 已存在,请更换名称") edit_data = configMode.model_dump(exclude_unset=True) diff --git a/vue-fastapi-frontend/src/views/dataAsset/assetDetail/index.vue b/vue-fastapi-frontend/src/views/dataAsset/assetDetail/index.vue index 6d7ae13..4231e69 100644 --- a/vue-fastapi-frontend/src/views/dataAsset/assetDetail/index.vue +++ b/vue-fastapi-frontend/src/views/dataAsset/assetDetail/index.vue @@ -197,7 +197,7 @@ - + -