143 行
4.3 KiB
Markdown
143 行
4.3 KiB
Markdown
# 发票模块完整接口清单
|
||
|
||
> 本文档包含发票模块全部接口(管理端 + 用户端 + 内部调用),供前端对接参考
|
||
|
||
## 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>>`
|
||
|
||
---
|