You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							73 lines
						
					
					
						
							2.8 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							73 lines
						
					
					
						
							2.8 KiB
						
					
					
				| # # 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 |