hl-api-changelog/changelogs/2026-03/2026-03-17_1720_invoice_full_api.md

143 行
4.3 KiB
Markdown

此文件含有模棱两可的 Unicode 字符

此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。

# 发票模块完整接口清单
> 本文档包含发票模块全部接口(管理端 + 用户端 + 内部调用),供前端对接参考
## AdminInvoice (发票管理)
> 接口文档: [http://192.168.100.236:8084/doc.html](http://192.168.100.236:8084/doc.html) -> 分组「3.3 发票管理」 -> 标签「发票管理」
### `POST` /admin/invoice/upload -- 上传发票文件
> 上传发票PDF/图片文件,返回文件访问URL。
**响应** `Result<Map<String, String>>`
---
### `GET` /admin/invoice/page -- 发票分页列表
> 分页查询发票申请列表,支持按状态、订单号、用户ID筛选。
**响应** `Result<PageResult<InvoiceVO>>`
**关联字典**
- `invoice_status`(发票状态): PENDING=待开票, ISSUED=已开票, FAILED=开票失败, VOIDED=已作废
- `invoice_title_type`(抬头类型): PERSONAL=个人, COMPANY=企业
---
### `GET` /admin/invoice/{id} -- 发票详情
> 获取发票的完整信息,包含开票信息、用户信息、企业信息等。
**响应** `Result<InvoiceVO>`
---
### `PUT` /admin/invoice/{id}/issue -- 开票完成
> 管理员上传发票文件并填写发票号码后,将发票状态改为已开票。
**响应** `Result<InvoiceVO>`
---
### `PUT` /admin/invoice/{id}/fail -- 开票失败
> 标记发票开票失败,需填写失败原因。用户可根据原因修正后重新申请。
**响应** `Result<InvoiceVO>`
---
### `PUT` /admin/invoice/{id}/void -- 作废发票
> 将发票标记为已作废。已作废的发票不可重复作废。
**响应** `Result<InvoiceVO>`
---
## InternalInvoice (【内部接口】小程序发票Feign调用)
> 接口文档: [http://192.168.100.236:8084/doc.html](http://192.168.100.236:8084/doc.html) -> 标签「【内部接口】小程序发票Feign调用
### `POST` /internal/mp/invoice/apply -- 申请开票
> 用户对已支付订单申请开具电子发票。支持个人和企业抬头。
**响应** `Result<InvoiceVO>`
**关联字典**
- `invoice_title_type`(抬头类型,请求/返回字段titleType): PERSONAL=个人, COMPANY=企业
- `invoice_type`(发票类型,返回字段invoiceType): NORMAL=普通发票, SPECIAL=专用发票
- `invoice_status`(发票状态,返回字段status): PENDING=待开票, ISSUED=已开票, FAILED=开票失败, CANCELLED=已作废
---
### `GET` /internal/mp/invoice/{id} -- 发票详情
> **关联字典**
**响应** `Result<InvoiceVO>`
**关联字典**
- `invoice_title_type`(抬头类型,返回字段titleType): PERSONAL=个人, COMPANY=企业
- `invoice_type`(发票类型,返回字段invoiceType): NORMAL=普通发票, SPECIAL=专用发票
- `invoice_status`(发票状态,返回字段status): PENDING=待开票, ISSUED=已开票, FAILED=开票失败, CANCELLED=已作废
---
### `GET` /internal/mp/invoice/order/{orderId} -- 通过订单ID查询发票
> 查询订单关联的发票信息。未开票时返回null
**响应** `Result<InvoiceVO>`
**关联字典**
- `invoice_title_type`(抬头类型,返回字段titleType): PERSONAL=个人, COMPANY=企业
- `invoice_type`(发票类型,返回字段invoiceType): NORMAL=普通发票, SPECIAL=专用发票
- `invoice_status`(发票状态,返回字段status): PENDING=待开票, ISSUED=已开票, FAILED=开票失败, CANCELLED=已作废
---
## MpInvoice (C端 - 发票接口)
> 接口文档: [http://192.168.100.236:8086/doc.html](http://192.168.100.236:8086/doc.html) -> 标签「C端 - 发票接口」
### `POST` /mp/invoice/apply -- 申请开票
> 开票流程:订单完成后 → 填写发票信息(抬头/税号/类型) → 提交开票申请 → 管理员处理 → 发送电子发票
**响应** `Result<Map<String, Object>>`
---
### `GET` /mp/invoice/{id} -- 发票详情
> 获取发票的完整信息,包含开票状态、发票抬头、税号、金额、电子发票文件链接等
**响应** `Result<Map<String, Object>>`
---
### `GET` /mp/invoice/order/{orderId} -- 通过订单ID查询发票
> 查询指定订单的发票信息,如果订单未开票则返回null
**响应** `Result<Map<String, Object>>`
---
### `POST` /mp/invoice/{invoiceId}/reissue -- 发票换开
> 对已开发票申请换开(修改抬头/税号等),原发票作废后重新开具新发票
**响应** `Result<Map<String, Object>>`
---