♻️ 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()}")
return []
@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天前
end_date (str): 结束日期格式'YYYYMMDD'默认为今天
filter_main_board (bool): 是否只返回主板上市股票的数据默认为True
error_prefix (str): 错误日志的前缀
返回
pandas.DataFrame: 盘前竞价数据
pandas.DataFrame: 查询的数据
"""
# 先检查表是否存在
if not db_manager.table_exists('stk_auction'):
logger.debug(f"stk_auction 不存在")
if not db_manager.table_exists(table_name):
logger.debug(f"{table_name} 不存在")
return pd.DataFrame()
# 设置默认日期范围
@ -327,10 +328,10 @@ class DataReader:
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
except Exception as e:
logger.error(f"获取盘前竞价数据时出错: {e}")
logger.error(f"获取{table_name}数据时出错: {e}")
logger.debug(f"完整的错误追踪信息:\n{traceback.format_exc()}")
return pd.DataFrame()