skills/ifind-http-api/references/pension-db-schema.md
wangyitong a65adcc2e5 Initial commit: merged, deduplicated, and vetted skill collection
Sources: extracted from two upstream archives (skill-repo, skills-main),
merged with the following policy:

- 15 broken symlinks (pointing to /Users/jameslee/.cc-switch/skills or
  ../../.agents/skills on a foreign machine) discarded
- 3 real name collisions with identical content (ai-pair, ifind-http-api,
  zhipu-websearch) kept as one copy
- Functional overlaps deduped keeping the strongest variant:
  - docx family: kept docx (official, full toolchain) + docx-cn
    (GB/T 9704 Chinese official-document constants),
    dropped docx_writer (no scripts, name collided with docx)
  - humanizer family: kept humanizer-zh (6 zh reference docs),
    dropped humanizer (en, redundant for CN workflow)
- Skills that only ran in a foreign environment removed:
  ablemind-ops, app-publish, hlb-design-system, openclaw-adj-skill,
  claude-driver
- alphapai excluded from this public repo because its SKILL.md hard-coded
  live credentials

Result: 25 skills, 572 files, ~7.5 MB.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-13 14:47:12 +08:00

102 lines
3.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 养老金产品数据库 Schema
## 数据库文件
`data/pension_products.db` — SQLite 3使用 WAL 模式。
## 表结构
### pension_products主表
| 列名 | 类型 | 说明 |
|------|------|------|
| code | TEXT PK | 产品代码,如 `PAA001.YLJ` |
| name | TEXT | 基金简称 |
| official_name | TEXT | 官方简称 |
| manager_prefix | TEXT | 管理人前缀,如 `PA` |
| manager_name | TEXT | 管理人名称,如 `平安养老` |
| product_type | TEXT | 类型字母A/B/C/D |
| product_type_name | TEXT | 类型名称:权益型/混合型/债券型/货币型 |
| bond_subtype | TEXT | 债券子类Ca/Cb/Cc/Cf/Cg/Ch仅 C 类有值) |
| bond_subtype_name | TEXT | 债券子类名称 |
| establishment_date | TEXT | 成立日期 |
| expiry_date | TEXT | 到期日期 |
| last_updated | TEXT | 最后更新时间 |
### pension_ftsFTS5 全文搜索虚拟表)
索引字段code, name, official_name, manager_name, product_type_name
与 pension_products 通过触发器自动同步。
## 索引
| 索引名 | 列 |
|--------|------|
| idx_name | name |
| idx_manager | manager_prefix |
| idx_type | product_type |
## 管理人前缀对照
| 前缀 | 管理人 |
|------|--------|
| 00 | 全国社保基金理事会 |
| 02 | 博时基金 |
| 05 | 大成基金 |
| 07 | 工银瑞信 |
| 10 | 海富通基金 |
| 11 | 华夏基金 |
| 15 | 嘉实基金 |
| 18 | 南方基金 |
| 20 | 鹏华基金 |
| 48 | 易方达基金 |
| 51 | 银华基金 |
| CJ | 长江养老 |
| CL | 长城人寿 |
| HT | 华泰资产 |
| JX | 建信养老金 |
| LC | 长量基金 |
| PA | 平安养老 |
| RB | 人保资产 |
| TP | 太平养老 |
| TZ | 泰康资产 |
| XH | 新华养老 |
| ZJ | 中金公司 |
| ZX | 中信证券 |
## 数据构建
```bash
# 首次构建
export IFIND_REFRESH_TOKEN="your_token"
python scripts/build_pension_db.py
# 指定源文件和输出路径
python scripts/build_pension_db.py --source ~/Space/ifind/基础信息数据.md --db-path data/pension_products.db
# 直接使用 access_token
python scripts/build_pension_db.py --access-token "your_access_token"
```
构建脚本会自动从 `基础信息数据.md` 提取 1722 个 `.YLJ` 代码,分批(每批 50 个)调用 `basic_data_service` 获取基金简称、官方简称、成立日、到期日,并通过代码模式解析管理人和产品类型。
## 常用查询示例
```sql
-- 搜索包含"增值"的产品
SELECT code, name, manager_name FROM pension_products WHERE name LIKE '%增值%';
-- 平安养老的权益型产品
SELECT code, name FROM pension_products WHERE manager_prefix = 'PA' AND product_type = 'A';
-- 各管理人产品数量统计
SELECT manager_name, COUNT(*) as cnt FROM pension_products GROUP BY manager_prefix ORDER BY cnt DESC;
-- 各类型产品数量
SELECT product_type_name, COUNT(*) FROM pension_products GROUP BY product_type;
-- 拼接代码串供 API 调用
SELECT GROUP_CONCAT(code) FROM pension_products WHERE manager_prefix = 'PA' AND product_type = 'A';
```