Files
ledgerly-docs/dev/bill-fields.md
T
rosercode 923d6db5c0 docs: 同步汇账最新功能,新增智能查数、账单关系等文档
对照 ledgerly 自文档上次更新以来的全部改动,补充新功能文档、修正品牌与版本残留,并新增下载与安装页;配图已重新截取并上传 OSS,本地截图目录不纳入版本管理。

变更内容:
- 新增「智能查数」「账单关系」两个使用文档页,并登记侧边栏与总览
- 设置页扩充为八个面板(账号安全、数据库实时进度、外观、导航等)并改为即时保存
- 收支记录补充关系列、批量操作、AI 搜索浮窗、可配置分页与「账单详情」弹窗
- 统计面板补充饼图/渠道图下钻与筛选双向联动;规则管理补充批量删除
- AI 能力补充智能查数与关系命名;新增下载与安装页
- 开发文档同步:AI 13 类调用、数据模型 24 张表、API、前端偏好、构建部署
- 统一「汇账 Ledgerly」品牌与「设置/日志」菜单文案,版本号对齐 0.1
- 截图脚本新增账单详情等场景并更新登记

说明:
- download.md 的 OSS 下载链接保持待发布产物回填,暂不调整
- 已通过 npm run docs:build 与 npm run typecheck:scripts
2026-09-26 21:57:38 +08:00

90 lines
3.4 KiB
Markdown
Raw 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.
# 账单字段说明
本章说明支付宝「交易记录明细查询」导出的 CSV 在导入本系统时,各字段的读取与丢弃情况,可作为开发新解析器或调整字段映射的参考。
## 样例与实现位置
- 编码:GBK(解析器兼容 UTF-8 / UTF-8 BOM)
- 解析器:`src/main/java/cn/rosercode/ledgerly/importer/AlipayBillParser.java`
- 落库服务:`src/main/java/cn/rosercode/ledgerly/service/impl/BillImportServiceImpl.java`
## 文件结构
| 位置 | 内容 | 是否处理 |
|---|---|---|
| 第 1 行 | `支付宝交易记录明细查询` | 忽略 |
| 第 2 行 | `账号:[...]` | 忽略 |
| 第 3 行 | `起始日期:[...] 终止日期:[...]` | 忽略 |
| 第 4 行 | `---交易记录明细列表---` | 忽略 |
| 第 5 行 | 表头(以「交易号」开头) | 作为列定位依据 |
| 数据行 | 每行一笔交易 | 逐行解析 |
| 结尾统计 | 待收入/已支出/待支出、导出时间、用户 | 忽略 |
解析器通过「以 `交易号` 开头」定位表头行;遇到空行、`---` 分隔线或 `共` 开头的统计行即结束。
## CSV 完整表头(16 列)
| 序号 | 列名 | 序号 | 列名 |
|---|---|---|---|
| 1 | 交易号 | 9 | 商品名称 |
| 2 | 商家订单号 | 10 | 金额(元) |
| 3 | 交易创建时间 | 11 | 收/支 |
| 4 | 付款时间 | 12 | 交易状态 |
| 5 | 最近修改时间 | 13 | 服务费(元) |
| 6 | 交易来源地 | 14 | 成功退款(元) |
| 7 | 类型 | 15 | 备注 |
| 8 | 交易对方 | 16 | 资金状态 |
## 完全丢弃的字段(7 个)
| 列名 | 说明 |
|---|---|
| 商家订单号 | 未使用 |
| 最近修改时间 | 未使用 |
| 交易来源地 | 未使用 |
| 类型 | 未使用,改用「收/支」推断类型 |
| 服务费(元) | 未使用 |
| 成功退款(元) | 未使用 |
| 备注 | 支付宝自带备注被丢弃;系统备注由「交易对方 · 商品名称」拼接生成 |
## 读取但未落库的字段(3 个)
| 列名 | 用途 |
|---|---|
| 交易状态 | 仅用于类型推断与预览展示 |
| 资金状态 | 仅用于「不计收支」行的类型推断 |
| 交易创建时间 | 仅当「付款时间」为空时作为交易时间兜底 |
## 落库映射(写入 `t_transaction`)
| CSV 列 | 数据库字段 | 说明 |
|---|---|---|
| 交易号 | `external_no` | 导入去重键 |
| 付款时间(缺失时用交易创建时间) | `transaction_time` | 交易发生时间 |
| 金额(元) | `amount` | 去除千分位逗号后解析 |
| 收/支 | `type` + `include_in_stats` | 「不计收支」默认 `include_in_stats = 0` |
| 交易对方 + 商品名称 | `remark` | 拼接为「交易对方 · 商品名称」,截断至 255 字符 |
| — | `channel` | 固定为 `ALIPAY` |
| — | `category_id` | 取用户选择的默认分类;未选择则为 `NULL` |
### 类型推断规则
| 收/支 | 交易状态 / 资金状态 | 推断类型 |
|---|---|---|
| 支出 | — | `EXPENSE` |
| 收入 | — | `INCOME` |
| 不计收支 | 交易状态含「退款」 | `INCOME` |
| 不计收支 | 资金状态为「已收入」 | `INCOME` |
| 不计收支 | 其他(如「交易关闭」) | `EXPENSE` |
## 可能的后续增强
1. 将支付宝「备注」并入系统 `remark`(当前完全丢失)。
2. 新增字段记录「服务费」/「成功退款」。
3. 保留「商家订单号」作为辅助去重或展示。
## 相关文档
- [账单解析](/dev/bill-parsing)
- [支付宝账单(使用文档)](/guide/bills/alipay)