新增公司资料/指数/重大事项等 13 个接口, 文档全面对齐

- 新增 fin_mda/fin_equity/fin_company/fin_belong_index/fin_major_events 5 个模块
- 覆盖: 管理层讨论、股本结构、公司介绍、所属行业、指数分类/统计/成分、并购/股权激励/诉讼/关联交易/违规/担保
- _emchoice.fetch_report 支持"数据为空"按空结果处理
- api.py 增加 _simple_endpoint 统一生成纯 stocks 参数接口, 路由达 29 个 /fin 端点
- 冒烟测试扩展至 56 用例, 全部通过
- api_manual/blueprint/SKILLS/待优化 文档与代码路径 100% 对齐
This commit is contained in:
2026-08-15 11:34:11 +08:00
parent 797369bbed
commit 2ce68b7b5d
13 changed files with 1147 additions and 11 deletions
+46
View File
@@ -57,6 +57,19 @@
| 股东 | `GET /fin/free-holders` | 十大流通股东 |
| 股东 | `GET /fin/holders` | 十大股东明细 |
| 股东 | `GET /fin/holder-num` | 股东户数 |
| 资料 | `GET /fin/company-info` | 公司介绍(基本资料) |
| 资料 | `GET /fin/industry` | 所属行业 |
| 资料 | `GET /fin/equity` | 股本结构(全量历史) |
| 指数 | `GET /fin/index-classif` | 所属指数分类 |
| 指数 | `GET /fin/belong-index` | 纳入指数统计 |
| 指数 | `GET /fin/index-membership` | 指数成分权重 |
| 文本 | `GET /fin/mda` | 管理层讨论与分析(年报/中报索引) |
| 重大事项 | `GET /fin/acquisitions` | 并购事件 |
| 重大事项 | `GET /fin/equity-incentive` | 股权激励 |
| 重大事项 | `GET /fin/litigation` | 诉讼仲裁 |
| 重大事项 | `GET /fin/related-transaction` | 关联交易 |
| 重大事项 | `GET /fin/violation` | 违规处罚 |
| 重大事项 | `GET /fin/guarantee` | 对外担保 |
## 4. 接口详情
@@ -119,6 +132,34 @@ curl "http://127.0.0.1:8765/fin/holders?stocks=603233.SH&years=3" # 十
curl "http://127.0.0.1:8765/fin/holder-num?stocks=603233.SH&years=3" # 股东户数: HOLDER_TOTAL_NUM/户数增减
```
### 4.8 公司资料 / 股本 / 指数(无 years 参数,返回全量)
```bash
curl "http://127.0.0.1:8765/fin/company-info?stocks=603233.SH" # 公司介绍(每只1行): ORG_NAME/CHAIRMAN/REG_CAPITAL
curl "http://127.0.0.1:8765/fin/industry?stocks=603233.SH" # 所属行业: INDUSTRY_NAME
curl "http://127.0.0.1:8765/fin/equity?stocks=603233.SH" # 股本结构: TOTAL_SHARES/CHANGE_REASON
curl "http://127.0.0.1:8765/fin/index-classif?stocks=603233.SH" # 指数分类: INDEX_CLASSIF
curl "http://127.0.0.1:8765/fin/belong-index?stocks=603233.SH" # 纳入指数统计: INDEX_NUM
curl "http://127.0.0.1:8765/fin/index-membership?stocks=603233.SH" # 指数成分权重: INDEX_NAME_ABBR/WEIGHT
```
### 4.9 管理层讨论与分析
```bash
curl "http://127.0.0.1:8765/fin/mda?stocks=603233.SH&years=5" # 年报/中报索引: REPORT_NAME/TITLE/PAGE
```
### 4.10 重大事项(并购 / 股权激励 / 诉讼 / 关联交易 / 违规 / 担保)
```bash
curl "http://127.0.0.1:8765/fin/acquisitions?stocks=603233.SH" # 并购: NAME_OBJ/DEAL_AMT
curl "http://127.0.0.1:8765/fin/equity-incentive?stocks=603233.SH" # 股权激励(部分股票无记录→404)
curl "http://127.0.0.1:8765/fin/litigation?stocks=603233.SH" # 诉讼: CASE_NAME/CASE_AMOUNT
curl "http://127.0.0.1:8765/fin/related-transaction?stocks=603233.SH" # 关联交易: RELATED_PARTY/TRADE_AMT
curl "http://127.0.0.1:8765/fin/violation?stocks=603233.SH" # 违规: VIOLATE_TYPE/PUNISH_AMT
curl "http://127.0.0.1:8765/fin/guarantee?stocks=603233.SH" # 担保(部分股票无记录→404)
```
## 5. 使用注意事项
1. **只有 `/fin/summary` 需要 ORG_CODE**:格式 `代码:ORG_CODE`(如 `603233.SH:10500736`)。ORG_CODE 是东财内部机构编码,只传代码时服务会尝试自动查询但**不稳定**;如果 400 报错提示 ORG_CODE,请改用 `代码:ORG_CODE` 格式,或换用 `/fin/quarterly-summary`。
@@ -127,6 +168,8 @@ curl "http://127.0.0.1:8765/fin/holder-num?stocks=603233.SH&years=3" # 股
4. **列名不翻译**:`columns` 与上游东财接口一致(英文大写,如 `REPORT_DATE`、`TOTAL_ASSETS`),`data` 每行是键值对象,值可能为 `null`。
5. **报告期**:财务数据按报告期返回,`REPORT_DATE`/`END_DATE` 字段为 `YYYY-MM-DD` 格式(JSON 中是字符串)。
6. **频率**:接口为实时抓取,没有缓存;高频批量调用请控制节奏。
7. **无 years 的接口**:`company-info` / `industry` / `equity` / `index-classif` / `belong-index` / `index-membership` 只收 `stocks`,返回全量。
8. **部分股票可能查不到**:股权激励、担保等记录并非所有股票都有,此类接口对该股返回 `404`(`success:false`)是正常现象,不代表接口故障。
## 6. 常见组合场景
@@ -137,3 +180,6 @@ curl "http://127.0.0.1:8765/fin/holder-num?stocks=603233.SH&years=3" # 股
| 成长性判断 | `growth` + `quarterly-summary` |
| 分红投资 | `dividend-detail` + `dividend-statics` |
| 股东结构/筹码分析 | `holders` + `free-holders` + `holder-num` |
| 公司底细 | `company-info` + `industry` + `equity` + `mda` |
| 风险排查 | `litigation` + `violation` + `guarantee` + `related-transaction` |
| 指数/权重 | `index-classif` + `belong-index` + `index-membership` |