更新Company页面的UI为FUI风格

This commit is contained in:
2025-12-18 21:10:11 +08:00
parent 5d40ebce2a
commit bc08f4faf5
3 changed files with 190 additions and 258 deletions

48
app.py
View File

@@ -43,6 +43,7 @@ else:
import base64
import csv
import io
import threading
import time
import urllib
import uuid
@@ -7517,20 +7518,16 @@ def get_stock_quotes():
prev_close_map[norm_code] = base_close_map[base_code]
# 批量查询当前价格数据(从 ClickHouse
# 使用 argMax 函数获取最新价格,比窗口函数效率高很多
batch_price_query = """
WITH last_prices AS (
SELECT
code,
close as last_price,
ROW_NUMBER() OVER (PARTITION BY code ORDER BY timestamp DESC) as rn
FROM stock_minute
WHERE code IN %(codes)s
AND timestamp >= %(start)s
AND timestamp <= %(end)s
)
SELECT code, last_price
FROM last_prices
WHERE rn = 1
SELECT
code,
argMax(close, timestamp) as last_price
FROM stock_minute
WHERE code IN %(codes)s
AND timestamp >= %(start)s
AND timestamp <= %(end)s
GROUP BY code
"""
batch_data = client.execute(batch_price_query, {
@@ -7626,14 +7623,25 @@ def get_stock_quotes():
return jsonify({'success': False, 'error': str(e)}), 500
# ==================== ClickHouse 连接池(单例模式) ====================
_clickhouse_client = None
_clickhouse_client_lock = threading.Lock()
def get_clickhouse_client():
return Cclient(
host='127.0.0.1',
port=9000,
user='default',
password='Zzl33818!',
database='stock'
)
"""获取 ClickHouse 客户端(单例模式,避免重复创建连接)"""
global _clickhouse_client
if _clickhouse_client is None:
with _clickhouse_client_lock:
if _clickhouse_client is None:
_clickhouse_client = Cclient(
host='127.0.0.1',
port=9000,
user='default',
password='Zzl33818!',
database='stock'
)
print("[ClickHouse] 创建新连接(单例)")
return _clickhouse_client
@app.route('/api/account/calendar/events', methods=['GET', 'POST'])