JC321's picture
fix:search company bug
b1de1a3
def check_company_exists(my_companies, company_data):
"""
检查公司是否已存在(三维检查:公司名、CIK、Ticker)
Args:
my_companies: 公司列表
company_data: 可以是字符串(公司名)或字典(包含 company_name、cik、stock_code/ticker)
Returns:
bool: 如果公司已存在返回 True,否则返回 False
"""
if not isinstance(my_companies, list):
return False
# 如果 company_data 是字符串,只检查公司名
if isinstance(company_data, str):
return any(company.get('company_name') == company_data for company in my_companies)
# 如果 company_data 是字典,进行三维检查
if isinstance(company_data, dict):
company_name = company_data.get('company_name', '')
cik = company_data.get('cik', '')
ticker = company_data.get('stock_code') or company_data.get('ticker', '')
# 三维检查:任意一个维度匹配就认为已存在
for company in my_companies:
# 检查公司名
if company.get('company_name') == company_name and company_name:
return True
# 检查 CIK
if company.get('cik') == cik and cik:
return True
# 检查 Ticker/股票代码
company_ticker = company.get('stock_code') or company.get('ticker', '')
if company_ticker == ticker and ticker:
return True
return False
return False