更新Company页面的UI为FUI风格

This commit is contained in:
2025-12-22 10:41:54 +08:00
parent 23dd573663
commit 96c94eaec4
3 changed files with 250 additions and 99 deletions

36
app.py
View File

@@ -11216,7 +11216,33 @@ def get_events_by_mainline():
else:
ungrouped_events.append(event_data)
# ==================== 5. 整理返回数据 ====================
# ==================== 5. 获取 lv2 概念涨跌幅 ====================
lv2_price_map = {}
try:
# 获取所有 lv2 名称
lv2_names = [group['lv2_name'] for group in mainline_groups.values() if group.get('lv2_name')]
if lv2_names:
# 查询 concept_daily_stats 表获取最新涨跌幅
price_sql = text('''
SELECT concept_name, avg_change_pct, trade_date
FROM concept_daily_stats
WHERE concept_type = 'lv2'
AND concept_name IN :names
AND trade_date = (
SELECT MAX(trade_date) FROM concept_daily_stats WHERE concept_type = 'lv2'
)
''')
price_result = db.session.execute(price_sql, {'names': tuple(lv2_names)}).fetchall()
for row in price_result:
lv2_price_map[row.concept_name] = {
'avg_change_pct': float(row.avg_change_pct) if row.avg_change_pct else None,
'trade_date': str(row.trade_date) if row.trade_date else None
}
app.logger.info(f'[mainline] 获取 lv2 涨跌幅: {len(lv2_price_map)}')
except Exception as price_err:
app.logger.warning(f'[mainline] 获取 lv2 涨跌幅失败: {price_err}')
# ==================== 6. 整理返回数据 ====================
mainlines = []
for lv2_id, group in mainline_groups.items():
# 按时间倒序排列(不限制数量)
@@ -11226,6 +11252,14 @@ def get_events_by_mainline():
reverse=True
)
group['event_count'] = len(group['events'])
# 添加涨跌幅数据
lv2_name = group.get('lv2_name', '')
if lv2_name in lv2_price_map:
group['avg_change_pct'] = lv2_price_map[lv2_name]['avg_change_pct']
group['price_date'] = lv2_price_map[lv2_name]['trade_date']
else:
group['avg_change_pct'] = None
group['price_date'] = None
mainlines.append(group)
# 按事件数量排序