## 2025-11-04 开发日志 **今日概览** - 关键主题: - 新增财务指标支持:在 Tushare 数据源中实现并集成了员工人数、股东户数、研发人员、所得税与利润总额关系等关键指标。 - 全栈功能贯通:完成了从后端数据获取、API 暴露到前端报告页展示的完整开发链路。 - 技术债清理:移除了多个陈旧的、功能单一的测试脚本,整合测试逻辑。 - 文档同步:更新了用户手册,以反映新增功能。 --- ### 后端(FastAPI) **数据源 (Tushare Provider)** - `backend/app/data_providers/tushare.py`: - 新增 `get_employee_number` 方法,用于获取上市公司员工人数及构成(技术、生产、销售、行政)。 - 新增 `get_holder_number` 方法,用于获取股东户数及变化。 - 新增 `get_tax_to_ebt` 方法,用于计算所得税与利润总额的比例,以分析税负情况。 - 可能对现有财务报表获取逻辑进行了优化,以支持新指标的整合。 **API 路由与模型 (Financial Router & Schemas)** - `backend/app/routers/financial.py`: - 在 `GET /china/{ts_code}` 聚合接口中,新增了对员工人数、股东户数、税收数据的调用和组装逻辑。 - 确保新指标能够正确地合并到返回给前端的 `series` 数据结构中。 - `backend/app/schemas/financial.py`: - 更新了相关的 Pydantic 模型,加入了 `employee_number`, `holder_number`, `tax_to_ebt` 等字段的定义,确保 API 的类型安全。 **数据管理器 (Data Manager)** - `backend/app/data_manager.py`: - 对 `DataManager` 进行了相应修改,使其能够统一调度 Tushare Provider 提供的新数据接口。 --- ### 前端(Next.js) **财务报告页面** - `frontend/src/app/report/[symbol]/page.tsx`: - 在报告页中新增了图表或表格,用于可视化展示员工人数变化、股东户数趋势以及所得税与利润总额的关系。 - 调整了页面布局和组件,以容纳新的数据模块。 - `frontend/src/app/reports/[id]/page.tsx`: - 对已保存的报告页面进行了适配,确保在加载旧报告或包含新指标的报告时能够正确渲染。 **工具函数与类型** - `frontend/src/lib/financial-utils.ts`: - 添加了处理新财务指标(如格式化员工数据、计算股东户数环比变化等)的辅助函数。 - `frontend/src/types/index.ts`: - 更新了 TypeScript 类型定义,增加了与新后端模型对应的接口。 **其他** - `frontend/package.json`: 可能更新了某些依赖库以支持新的图表或功能。 - `frontend/src/lib/prisma.ts`: 可能调整了 Prisma 客户端的配置或扩展。 --- ### 脚本与文档 **脚本清理** - 删除了以下旧测试脚本,相关功能可能已通过单元测试或集成测试覆盖: - `scripts/test-employees.py` - `scripts/test-holder-number.py` - `scripts/test-holder-processing.py` - `scripts/test-tax-to-ebt.py` - `scripts/test-api-tax-to-ebt.py` - `scripts/test-config.py` - 删除了 `scripts/tushare_legacy_client.py`,完成了向新 Provider 架构的迁移。 **文档** - `docs/user-guide.md`: 更新了用户指南,加入了关于如何解读新增财务指标(员工、股东、税收)的说明。 --- ### 备注 - 本次更新丰富了公司的非财报基本面数据,为分析提供了更多维度。 - 前端报告页的性能在增加了新图表后需要进一步观察。