♻️ refactor(data_manager): 将获取盘前竞价数据函数重构为通用表数据查询函数

This commit is contained in:
Qihang Zhang 2025-04-19 22:24:27 +08:00
parent 6ffe0d9968
commit 3253fd4951

View File

@ -284,23 +284,24 @@ class DataReader:
logger.debug(f"完整的错误追踪信息:\n{traceback.format_exc()}") logger.debug(f"完整的错误追踪信息:\n{traceback.format_exc()}")
return [] return []
@staticmethod @staticmethod
def get_stk_auction(start_date=None, end_date=None, filter_main_board=True): def get_table_data_by_date(table_name, start_date=None, end_date=None, filter_main_board=True):
""" """
从数据库获取盘前竞价数据(stk_auction)并截取指定日期范围内的数据 从数据库获取指定表的数据并截取指定日期范围内的数据
参数 参数
table_name (str): 数据库表名
start_date (str): 开始日期格式'YYYYMMDD'默认为30天前 start_date (str): 开始日期格式'YYYYMMDD'默认为30天前
end_date (str): 结束日期格式'YYYYMMDD'默认为今天 end_date (str): 结束日期格式'YYYYMMDD'默认为今天
filter_main_board (bool): 是否只返回主板上市股票的数据默认为True filter_main_board (bool): 是否只返回主板上市股票的数据默认为True
error_prefix (str): 错误日志的前缀
返回 返回
pandas.DataFrame: 盘前竞价数据 pandas.DataFrame: 查询的数据
""" """
# 先检查表是否存在 # 先检查表是否存在
if not db_manager.table_exists('stk_auction'): if not db_manager.table_exists(table_name):
logger.debug(f"stk_auction 不存在") logger.debug(f"{table_name} 不存在")
return pd.DataFrame() return pd.DataFrame()
# 设置默认日期范围 # 设置默认日期范围
@ -327,10 +328,10 @@ class DataReader:
return pd.DataFrame() return pd.DataFrame()
# 查询数据 # 查询数据
df = db_manager.load_df_from_db('stk_auction', conditions=conditions) df = db_manager.load_df_from_db(table_name, conditions=conditions)
return df return df
except Exception as e: except Exception as e:
logger.error(f"获取盘前竞价数据时出错: {e}") logger.error(f"获取{table_name}数据时出错: {e}")
logger.debug(f"完整的错误追踪信息:\n{traceback.format_exc()}") logger.debug(f"完整的错误追踪信息:\n{traceback.format_exc()}")
return pd.DataFrame() return pd.DataFrame()