update pay function

This commit is contained in:
2025-11-23 15:58:14 +08:00
parent ae92f333c4
commit d5250f7d3c
2 changed files with 270 additions and 15 deletions

54
app.py
View File

@@ -11679,6 +11679,60 @@ def get_value_chain_analysis(company_code):
}), 500
@app.route('/api/company/value-chain/related-companies', methods=['GET'])
def get_related_companies_by_node():
"""
根据产业链节点名称查询相关公司
参数: node_name - 节点名称(如 "中芯国际""EDA/IP"等)
返回: 包含该节点的所有公司列表(去重)
"""
try:
node_name = request.args.get('node_name')
if not node_name:
return jsonify({
'success': False,
'error': '缺少必需参数 node_name'
}), 400
# 查询包含该节点的所有公司
query = text("""
SELECT DISTINCT
n.company_code as stock_code,
s.SECNAME as stock_name,
s.ORGNAME as company_name
FROM company_value_chain_nodes n
LEFT JOIN ea_stocklist s ON n.company_code = s.SECCODE
WHERE n.node_name = :node_name
ORDER BY n.company_code
""")
with engine.connect() as conn:
result = conn.execute(query, {'node_name': node_name}).fetchall()
# 构建返回数据
companies = []
for row in result:
companies.append({
'stock_code': row.stock_code,
'stock_name': row.stock_name or row.stock_code,
'company_name': row.company_name
})
return jsonify({
'success': True,
'data': companies,
'total': len(companies),
'node_name': node_name
})
except Exception as e:
return jsonify({
'success': False,
'error': str(e)
}), 500
@app.route('/api/company/key-factors-timeline/<company_code>', methods=['GET'])
def get_key_factors_timeline(company_code):
"""获取公司关键因素和时间线数据"""