# # data_ast_content_dao.py # from datetime import datetime # from sqlalchemy import select, insert, update, delete, func, not_, and_ # from sqlalchemy.ext.asyncio import AsyncSession # from module_admin.entity.do.data_ast_content_do import DataAstInfo # from module_admin.entity.vo.data_ast_content_vo import DataAstInfoRequest, DataAstInfoPageQueryModel # from utils.page_util import PageUtil # from utils.log_util import logger # class DataAstInfoDAO: # """ # 数据资产信息模块数据库操作层 # """ # @classmethod # async def add_data_ast_info_dao(cls, db: AsyncSession, data_ast_info: dict): # """ # 新增数据资产信息数据库操作 # :param db: orm对象 # :param data_ast_info: 数据资产信息对象 # :return: # """ # db_data_ast_info = DataAstInfo(**data_ast_info) # db.add(db_data_ast_info) # await db.flush() # return db_data_ast_info # @classmethod # async def add_data_ast_info_batch_dao(cls, db: AsyncSession, data_ast_info_list: list): # """ # 批量新增数据资产信息数据库操作 # :param db: orm对象 # :param data_ast_info_list: 数据资产信息对象列表 # :return: # """ # db_data_ast_info_list = [DataAstInfo(**data_ast_info) for data_ast_info in data_ast_info_list] # db.add_all(db_data_ast_info_list) # await db.flush() # return db_data_ast_info_list # @classmethod # async def get_data_ast_info_list(cls, db: AsyncSession, query_object: DataAstInfoPageQueryModel, is_page: bool = False): # """ # 根据查询参数获取数据资产信息列表 # :param db: 异步会话对象 # :param query_object: 分页查询参数对象 # :param is_page: 是否分页 # :return: 数据资产信息分页列表 # """ # query = ( # select(DataAstInfo) # .where( # DataAstInfo.data_ast_eng_name == query_object.data_ast_eng_name if query_object.data_ast_eng_name else True, # DataAstInfo.data_ast_cn_name == query_object.data_ast_cn_name if query_object.data_ast_cn_name else True, # DataAstInfo.data_ast_type == query_object.data_ast_type if query_object.data_ast_type else True, # DataAstInfo.data_ast_clas == query_object.data_ast_clas if query_object.data_ast_clas else True # ) # .order_by(DataAstInfo.data_ast_no) # ) # # 使用分页工具进行查询 # data_ast_info_list = await PageUtil.paginate( # db, # query, # page_num=query_object.page_num, # page_size=query_object.page_size, # is_page=is_page # ) # return data_ast_info_list