Lv, Qi
21155bc4f8
feat(realtime): 接入前端实时报价并完善后端缓存
...
前端: 新增 RealTimeQuoteResponse 类型;新增 useRealtimeQuote Hook 并在报告页图表旁展示价格与时间戳(严格 TTL,无兜底)
FastAPI: 新增 GET /financials/{market}/{symbol}/realtime?max_age_seconds=.. 只读端点;通过 DataPersistenceClient 读取 Rust 缓存
Rust: 新增 realtime_quotes hypertable 迁移;新增 POST /api/v1/market-data/quotes 与 GET /api/v1/market-data/quotes/{symbol}?market=..;新增 DTO/Model/DB 函数;修正 #[api] 宏与路径参数;生成 SQLx 离线缓存 (.sqlx) 以支持离线构建
Python: DataPersistenceClient 新增 upsert/get 实时报价,并调整 GET 路径与参数
说明: TradingView 图表是第三方 websocket,不受我们缓存控制;页面数值展示走自有缓存通路,统一且可控。
2025-11-09 05:12:14 +08:00
Lv, Qi
230f180dea
fix(frontend): remove localhost rewrites and enforce NEXT_PUBLIC_BACKEND_URL
...
- remove Next.js rewrites to http://127.0.0.1:8000
- require NEXT_PUBLIC_BACKEND_URL in API routes (config, financials, config/test)
- prevent accidental fallback to host ports; use container service name backend:8000
2025-11-08 22:59:03 +08:00
Lv, Qi
3d0fd6f704
refactor(phase0-1): 容器化与配置服务拆分,并清理根目录
...
- 新增 docker-compose 与 Tiltfile,容器化 backend/frontend/postgres(宿主口+10000)
- 新增 services/config-service(GET /api/v1/system, /analysis-modules),并加入 compose
- backend ConfigManager 移除本地文件回退,强制依赖 config-service
- 新增 backend/frontend Dockerfile
- 清理根目录:移动 pm2.config.js -> deployment/;dev.py -> scripts/;删除根 package.json 与 lock
- 新增 .gitignore,忽略二进制与临时文件
2025-11-08 21:07:38 +08:00
xucheng
ca60410966
feat: 通用市场财务/快照/分析接口;增强数据源与配置读取
...
Backend
- router(financial): 新增通用路径 /{market}/{stock_code}、/snapshot、/analysis/stream
- 用 MarketEnum 统一市场(cn/us/hk/jp)
- 将 /china/{ts_code} 改为通用 get_financials,并规范 period,按年限裁剪
- 新增通用昨日快照接口(CN 复用原逻辑,其他市场兜底近交易日收盘)
- data_manager: 仅从 config/config.json 读取各 provider API key,不再读取环境变量
- series 构建更健壮:None/空结构判定;接受 numpy/pandas 数值类型并安全转 float
- provider(finnhub):
- SDK 失败时使用 httpx 直连兜底(profile2、financials-reported)
- 规范化年度报表,映射 revenue/net income/gross profit/assets/equity/goodwill/OCF/CapEx
- 计算 gross/net margin、ROA、ROE;直接产出 series 结构
- 增加关键步骤日志与异常保护
- provider(yfinance): 修正同步阻塞的获取逻辑,使用 run_in_executor 包装
Frontend
- hooks(useApi):
- 将中国财务接口路径改为 /api/financials/cn
- 新增 useFinancials 与 useSnapshot,统一多市场数据访问
- report/[symbol]/page.tsx:
- 支持多市场(映射 usa→us、china→cn 等),统一 symbol 与分析流路径
- 去除仅限中国市场的 UI 限制,财务/分析/图表对多市场可用
- 使用新的分析与快照 API 路径
- lib/prisma.ts: 去除无关内容(微小空行调整)
Docs
- 重组文档目录:
- docs/已完成任务/tasks.md(重命名自 docs/tasks.md)
- docs/未完成任务/us_market_integration_tasks.md 新增
BREAKING CHANGE
- API 路径变更:
- 财务数据:/api/financials/china/{ts_code} → /api/financials/{market}/{stock_code}
- 快照:/api/financials/china/{ts_code}/snapshot → /api/financials/{market}/{stock_code}/snapshot
- 分析流:/api/financials/china/{ts_code}/analysis/{type}/stream → /api/financials/{market}/{stock_code}/analysis/{type}/stream
- 前端需使用 useFinancials/useSnapshot 或更新为 /cn 路径以兼容中国市场
2025-11-06 20:01:08 +08:00
xucheng
edfd51b0a7
feat: 昨日快照API与前端卡片;注册orgs路由;多项优化
...
- backend(financial): 新增 /china/{ts_code}/snapshot API,返回昨日交易日的收盘价/市值/PE/PB/股息率等
- backend(schemas): 新增 TodaySnapshotResponse
- backend(main): 注册 orgs 路由 /api/v1/orgs
- backend(providers:finnhub): 归一化财报字段并计算 gross_margin/net_margin/ROA/ROE
- backend(providers:tushare): 股东户数报告期与财报期对齐
- backend(routers/financial): years 默认改为 10(最大 10)
- config: analysis-config.json 切换到 qwen-flash-2025-07-28
- frontend(report/[symbol]): 新增“昨日快照”卡片、限制展示期数为10、优化增长与阈值高亮、修正类名与标题处理
- frontend(reports/[id]): 统一 period 变量与计算,修正表格 key
- frontend(hooks): 新增 useChinaSnapshot 钩子与类型
- scripts: dev.sh 增加调试输出
2025-11-05 17:00:32 +08:00
xucheng
3475138419
feat(数据): 新增员工、股东及税务指标并生成日志
...
- 后端: Tushare provider 新增 get_employee_number, get_holder_number, get_tax_to_ebt 方法,并在 financial 路由中集成。
- 前端: report 页面新增对应图表展示,并更新相关类型与工具函数。
- 清理: 移除多个过时的测试脚本。
- 文档: 创建 2025-11-04 开发日志并更新用户手册。
2025-11-04 21:22:32 +08:00
xucheng
3ffb30696b
修改了财务数据获取时的一些结构,但还没有完成,今天先做到这儿。
2025-11-04 14:03:34 +08:00
xucheng
ff7dc0c95a
feat(backend): introduce DataManager and multi-provider; analysis orchestration; streaming endpoints; remove legacy tushare_client; enhance logging
...
feat(frontend): integrate Prisma and reports API/pages
chore(config): add data_sources.yaml; update analysis-config.json
docs: add 2025-11-03 dev log; update user guide
scripts: enhance dev.sh; add tushare_legacy_client
deps: update backend and frontend dependencies
2025-11-03 21:48:08 +08:00
xucheng
b982cd5368
更新前端配置、文档和脚本
2025-10-31 22:14:19 +08:00
xucheng
8b5d5f5777
feat(frontend): add always-visible '重新生成分析' button per module\nfix(backend): inject dependency context for single-module generation (final_conclusion placeholders)
2025-10-31 03:09:43 +00:00
xucheng
1e904eb7f4
chore(frontend): use 127.0.0.1:8000 in rewrites to avoid IPv6 (::1)
2025-10-30 08:56:07 +00:00
xucheng
cb0a12eef5
chore(frontend): 提交前端静态资源与 API 路由调整
2025-10-30 16:28:53 +08:00
xucheng
515e2d53c9
chore(run.sh): enhance logging and add npm check for frontend setup
2025-10-30 16:08:21 +08:00
xucheng
b5a4d2212c
feat: 实现动态分析配置并优化前端UI
...
本次提交引入了一系列重要功能,核心是实现了财务分析模块的动态配置,并对配置和报告页面的用户界面进行了改进。
主要变更:
- **动态配置:**
- 后端实现了 `ConfigManager` 服务,用于动态管理 `analysis-config.json` 和 `config.json`。
- 添加了用于读取和更新配置的 API 端点。
- 开发了前端 `/config` 页面,允许用户实时查看和修改分析配置。
- **后端增强:**
- 更新了 `AnalysisClient` 和 `CompanyProfileClient` 以使用新的配置系统。
- 重构了财务数据相关的路由。
- **前端改进:**
- 新增了可复用的 `Checkbox` UI 组件。
- 使用更直观和用户友好的界面重新设计了配置页面。
- 改进了财务报告页面的布局和数据展示。
- **文档与杂务:**
- 更新了设计和需求文档以反映新功能。
- 更新了前后端依赖。
- 修改了开发脚本 `dev.sh`。
2025-10-30 14:50:36 +08:00
xucheng
e0aa61b8c4
feat: 添加分析模块配置和分析功能,更新财务数据处理逻辑
2025-10-29 22:49:27 +08:00
xucheng
6508589027
feat: 完成公司简介部分
2025-10-28 23:31:28 +08:00
xucheng
4d7aa56b4b
Initial commit
2025-10-21 20:17:14 +08:00