/
InvoiceApplyItemsDto.go
64 lines (59 loc) · 2.83 KB
/
InvoiceApplyItemsDto.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
package einvoice
import (
"sync"
)
// InvoiceApplyItemsDto 结构体
type InvoiceApplyItemsDto struct {
// 交易金额(含税)=?单价*数量。单位:元,格式为2位小数,精度2位小数。开红票时传正数。
Amount string `json:"amount,omitempty" xml:"amount,omitempty"`
// 开票明细备注
BizMemo string `json:"biz_memo,omitempty" xml:"biz_memo,omitempty"`
// 优惠金额(含税)可为0,交易金额-优惠金额=实付金额。单位:元,格式为2位小数,精度2位小数。开红票时传正数。
Discount string `json:"discount,omitempty" xml:"discount,omitempty"`
// 商品ID.当商户配置了按照商品ID匹配税编的税编规则时,该字段可用于税编规则匹配
ItemId string `json:"item_id,omitempty" xml:"item_id,omitempty"`
// 商品名称/货物名称
ItemName string `json:"item_name,omitempty" xml:"item_name,omitempty"`
// 发票项目编号(或商品编号)业务前台未传值中台会做税编规则匹配。业务前台有传值则优先取前台传入的值。
ItemNo string `json:"item_no,omitempty" xml:"item_no,omitempty"`
// 商品类型名称,如新零售、餐饮等等。当商户配置了按照类型匹配税编的税编规则时,该字段可用于税编规则匹配
ItemType string `json:"item_type,omitempty" xml:"item_type,omitempty"`
// 数量,最多6位小数
Quantity string `json:"quantity,omitempty" xml:"quantity,omitempty"`
// 规格型号
Specification string `json:"specification,omitempty" xml:"specification,omitempty"`
// 单价(含税),格式为2位小数。最大支持6位小数,不足2位小数时需转化为2位小数格式。
TaxPrice string `json:"tax_price,omitempty" xml:"tax_price,omitempty"`
// 税率。格式为2位小数,业务前台未传值中台会做税编规则匹配。业务前台有传值则优先取前台传入的值。
TaxRate string `json:"tax_rate,omitempty" xml:"tax_rate,omitempty"`
// 单位
Unit string `json:"unit,omitempty" xml:"unit,omitempty"`
// 0税率标识,只有税率为0的情况才有值,0=出口零税率,1=免税,2=不征收,3=普通零税率
ZeroRateFlag string `json:"zero_rate_flag,omitempty" xml:"zero_rate_flag,omitempty"`
}
var poolInvoiceApplyItemsDto = sync.Pool{
New: func() any {
return new(InvoiceApplyItemsDto)
},
}
// GetInvoiceApplyItemsDto() 从对象池中获取InvoiceApplyItemsDto
func GetInvoiceApplyItemsDto() *InvoiceApplyItemsDto {
return poolInvoiceApplyItemsDto.Get().(*InvoiceApplyItemsDto)
}
// ReleaseInvoiceApplyItemsDto 释放InvoiceApplyItemsDto
func ReleaseInvoiceApplyItemsDto(v *InvoiceApplyItemsDto) {
v.Amount = ""
v.BizMemo = ""
v.Discount = ""
v.ItemId = ""
v.ItemName = ""
v.ItemNo = ""
v.ItemType = ""
v.Quantity = ""
v.Specification = ""
v.TaxPrice = ""
v.TaxRate = ""
v.Unit = ""
v.ZeroRateFlag = ""
poolInvoiceApplyItemsDto.Put(v)
}