添加文件: intelligence_finance_v1/types.go

This commit is contained in:
renzhiyuan 2026-08-17 17:18:14 +08:00
parent 249a81b2f4
commit eb24b11ba3
1 changed files with 551 additions and 0 deletions

View File

@ -0,0 +1,551 @@
package intelligence_finance_v1
import "encoding/json"
// ============================================================
// 通用请求/响应结构
// ============================================================
// CommonResponse 通用API响应结构
type CommonResponse struct {
Code int `json:"code"`
Msg string `json:"msg,omitempty"`
Data json.RawMessage `json:"data,omitempty"`
}
// NotificationRequest 回调通知请求结构
type NotificationRequest struct {
BizType string `json:"bizType"`
BizID string `json:"bizId"`
Data string `json:"data,omitempty"`
}
// ============================================================
// 接口1订单开票请求/响应
// ============================================================
// CreateInvoiceRequest 提交订单开票申请请求
type CreateInvoiceRequest struct {
CompanyCode string `json:"companyCode,omitempty"`
OrderID string `json:"orderId"`
InvoiceType int `json:"invoiceType"`
Products []InvoiceProduct `json:"products"`
Remark string `json:"remark,omitempty"`
Purchaser string `json:"purchaser"`
TaxNum string `json:"taxnum,omitempty"`
PurchaserAddr string `json:"purchaserAddress,omitempty"`
PurchaserTel string `json:"purchaserTel,omitempty"`
BankName string `json:"bankName,omitempty"`
BankAccount string `json:"bankAccount,omitempty"`
Phone string `json:"phone,omitempty"`
Email string `json:"email,omitempty"`
ApplyPerson string `json:"applyPerson,omitempty"`
Payee string `json:"payee,omitempty"`
Reviewer string `json:"reviewer,omitempty"`
InvoiceRemark string `json:"invoiceRemark,omitempty"`
NaturalPerson string `json:"naturalPerson,omitempty"`
AdditionInfo string `json:"additionInfo,omitempty"`
}
// InvoiceProduct 货物/服务明细
type InvoiceProduct struct {
ProductName string `json:"productName"`
RevenueCode string `json:"revenueCode"`
AmountIncludeTax float64 `json:"amountIncludeTax"`
Specs string `json:"specs,omitempty"`
Unit string `json:"unit,omitempty"`
Quantity float64 `json:"quantity"`
Discount float64 `json:"discount,omitempty"`
TaxSign int `json:"taxSign,omitempty"`
TaxRate float64 `json:"taxRate,omitempty"`
}
// CreateInvoiceResponse 提交订单开票申请响应
type CreateInvoiceResponse struct {
Status int `json:"status"`
ErrorMsg string `json:"errorMsg,omitempty"`
DataList []InvoiceData `json:"dataList"`
}
// InvoiceData 发票数据
type InvoiceData struct {
DeviceCode string `json:"deviceCode"`
Drawer string `json:"drawer"`
Email string `json:"email"`
InvoiceType string `json:"invoiceType"`
IssueType string `json:"issueType"`
ListFlag string `json:"listFlag"`
Mobile string `json:"mobile"`
OriginalInvCode string `json:"originalInvCode,omitempty"`
OriginalInvNo string `json:"originalInvNo,omitempty"`
AdditionInfo string `json:"additionInfo,omitempty"`
Payee string `json:"payee"`
PurchaserAddress string `json:"purchaserAddress"`
PurchaserBankAccount string `json:"purchaserBankAccount"`
PurchaserBankName string `json:"purchaserBankName"`
PurchaserName string `json:"purchaserName"`
PurchaserTaxNo string `json:"purchaserTaxNo"`
PurchaserTel string `json:"purchaserTel"`
NaturalPerson string `json:"naturalPerson,omitempty"`
Remark string `json:"remark"`
Reviewer string `json:"reviewer"`
SellerAddress string `json:"sellerAddress,omitempty"`
SellerBankAccount string `json:"sellerBankAccount"`
SellerBankName string `json:"sellerBankName"`
SellerName string `json:"sellerName"`
CheckCode string `json:"checkCode"`
CipherText string `json:"cipherText"`
DrewDate string `json:"drewDate,omitempty"`
InvoiceCode string `json:"invoiceCode"`
InvoiceNo string `json:"invoiceNo"`
InvoiceStatus string `json:"invoiceStatus"`
LayoutFileURL string `json:"layoutFileUrl,omitempty"`
PdfURL string `json:"pdfUrl,omitempty"`
OfdURL string `json:"ofdUrl,omitempty"`
XmlURL string `json:"xmlUrl,omitempty"`
TotalExcludeTax string `json:"totalExcludeTax"`
TotalIncludeTax string `json:"totalIncludeTax"`
TotalTaxAmount string `json:"totalTaxAmount"`
LevyingType string `json:"levyingType"`
Details []InvoiceDetail `json:"details"`
}
// InvoiceDetail 商品明细
type InvoiceDetail struct {
Amount string `json:"amount,omitempty"`
Quantity string `json:"quantity,omitempty"`
DeductionAmount string `json:"deductionAmount,omitempty"`
TaxAmount string `json:"taxAmount,omitempty"`
ItemTitle string `json:"itemTitle"`
TaxCode string `json:"taxCode"`
ItemType string `json:"itemType"`
ItemName string `json:"itemName"`
Specs string `json:"specs,omitempty"`
TaxFreePolicy string `json:"taxFreePolicy"`
PreferentialPolicy string `json:"preferentialPolicy"`
TaxRate string `json:"taxRate"`
TaxSign string `json:"taxSign"`
Unit string `json:"unit,omitempty"`
UnitPrice string `json:"unitPrice,omitempty"`
}
// ============================================================
// 接口2开票状态查询请求/响应
// ============================================================
// QueryInvoiceStatusRequest 查询订单开票状态请求
type QueryInvoiceStatusRequest struct {
OrderID string `json:"orderId"`
}
// QueryInvoiceStatusResponse 查询订单开票状态响应
type QueryInvoiceStatusResponse struct {
Status int `json:"status"`
Message string `json:"message"`
Data []InvoiceData `json:"data"`
}
// ============================================================
// 接口3创建付款单据请求/响应
// ============================================================
// CreatePaymentRequest 创建付款单据请求
type CreatePaymentRequest struct {
Code string `json:"code"`
YidaAppType string `json:"yidaAppType,omitempty"`
EmpAccountUserID string `json:"empAccountUserId,omitempty"`
Department *Department `json:"department,omitempty"`
Usage string `json:"usage,omitempty"`
PaymentUserID string `json:"paymentUserId,omitempty"`
Customer *Customer `json:"customer,omitempty"`
PrincipalID string `json:"principalId,omitempty"`
Remark string `json:"remark,omitempty"`
Supplier *Supplier `json:"supplier,omitempty"`
Title string `json:"title,omitempty"`
Project *Project `json:"project,omitempty"`
PaymentUserIDListStr string `json:"paymentUserIdListStr,omitempty"`
NeedPayment bool `json:"needPayment,omitempty"`
PaymentDetailListJsonStr string `json:"paymentDetailListJsonStr,omitempty"`
PaymentDetailList []PaymentDetail `json:"paymentDetailList,omitempty"`
Company *Company `json:"company,omitempty"`
Amount string `json:"amount,omitempty"`
RecipientAccountInfo *RecipientAccount `json:"recipientAccountInfo,omitempty"`
EnterpriseAccount *EnterpriseAccount `json:"enterpriseAccount,omitempty"`
Category []Category `json:"category,omitempty"`
UserID string `json:"userId"`
OccurDate int64 `json:"occurDate,omitempty"`
Product *Product `json:"product,omitempty"`
YidaFormUUID string `json:"yidaFormUuid,omitempty"`
CanEditPaymentInfo bool `json:"canEditPaymentInfo,omitempty"`
PaymentUserIDList []string `json:"paymentUserIdList,omitempty"`
YidaProcInsID string `json:"yidaProcInsId,omitempty"`
SyncPaymentOrder bool `json:"syncPaymentOrder,omitempty"`
}
// Department 部门信息
type Department struct {
Code string `json:"code,omitempty"`
Name string `json:"name"`
}
// Customer 客户信息
type Customer struct {
Code string `json:"code,omitempty"`
Name string `json:"name"`
}
// Supplier 供应商信息
type Supplier struct {
Code string `json:"code,omitempty"`
Name string `json:"name"`
}
// Project 项目信息
type Project struct {
Code string `json:"code,omitempty"`
Name string `json:"name"`
}
// Category 收支类别信息
type Category struct {
Code string `json:"code,omitempty"`
Name string `json:"name"`
}
// Product 商品信息
type Product struct {
Code string `json:"code,omitempty"`
Name string `json:"name"`
}
// Company 企业主体信息
type Company struct {
Code string `json:"code,omitempty"`
Name string `json:"name"`
}
// EnterpriseAccount 企业账号信息
type EnterpriseAccount struct {
EnterpriseAccountCode string `json:"enterpriseAccountCode,omitempty"`
AccountCategory string `json:"accountCategory"`
AccountType string `json:"accountType,omitempty"`
CardNo string `json:"cardNo,omitempty"`
AccountName string `json:"accountName,omitempty"`
OfficialNumber string `json:"officialNumber,omitempty"`
OfficialName string `json:"officialName,omitempty"`
Name string `json:"name,omitempty"`
Code string `json:"code,omitempty"`
City string `json:"city,omitempty"`
Province string `json:"province,omitempty"`
}
// RecipientAccount 收款账户信息
type RecipientAccount struct {
AccountCategory string `json:"accountCategory"`
AccountType string `json:"accountType,omitempty"`
CardNo string `json:"cardNo,omitempty"`
AccountName string `json:"accountName,omitempty"`
}
// PaymentDetail 付款明细
type PaymentDetail struct {
Amount string `json:"amount,omitempty"`
InvoiceInfo *InvoiceInfo `json:"invoiceInfo,omitempty"`
ProductCode string `json:"productCode,omitempty"`
ProjectCode string `json:"projectCode,omitempty"`
Remark string `json:"remark,omitempty"`
PrincipalID string `json:"principalId,omitempty"`
Tax string `json:"tax,omitempty"`
}
// InvoiceInfo 付款明细发票信息
type InvoiceInfo struct {
InvoiceNo string `json:"invoiceNo,omitempty"`
InvoiceCode string `json:"invoiceCode,omitempty"`
}
// CreatePaymentResponse 创建付款单据响应
type CreatePaymentResponse struct {
Code string `json:"code"`
}
// ============================================================
// 接口4支付完成通知平台回调
// ============================================================
// PaymentNotification 支付完成通知数据结构
type PaymentNotification struct {
Code string `json:"code"`
InstanceID string `json:"instanceId"`
CorpID string `json:"corpId"`
PaymentStatus string `json:"paymentStatus"`
PaymentTime string `json:"paymentTime"`
UserID string `json:"userId"`
FailReason string `json:"failReason,omitempty"`
PayerAccountInfo *PayerAccountInfo `json:"payerAccountInfo,omitempty"`
PayeeAccountInfo *PayeeAccountInfo `json:"payeeAccountInfo,omitempty"`
RelatedRowNumberList []string `json:"relatedRowNumberList,omitempty"`
Source string `json:"source,omitempty"`
Template string `json:"template,omitempty"`
Amount string `json:"amount,omitempty"`
}
// PayerAccountInfo 付款账户信息
type PayerAccountInfo struct {
BankOpenDTO *BankOpenDTO `json:"bankOpenDTO,omitempty"`
EnterpriseAccountCode string `json:"enterpriseAccountCode,omitempty"`
AccountType string `json:"accountType,omitempty"`
}
// PayeeAccountInfo 收款账户信息
type PayeeAccountInfo struct {
BankOpenDTO *BankOpenDTO `json:"bankOpenDTO,omitempty"`
}
// BankOpenDTO 银行信息
type BankOpenDTO struct {
BankCode string `json:"bankCode,omitempty"`
BankName string `json:"bankName,omitempty"`
BankBranchCode string `json:"bankBranchCode,omitempty"`
BankBranchName string `json:"bankBranchName,omitempty"`
AccountName string `json:"accountName,omitempty"`
BankCardNo string `json:"bankCardNo,omitempty"`
Type string `json:"type,omitempty"`
}
// ============================================================
// 接口5支付状态查询请求/响应
// ============================================================
// QueryPaymentStatusRequest 查询支付状态请求
type QueryPaymentStatusRequest struct {
Code string `json:"code"`
UserID string `json:"userId"`
}
// QueryPaymentStatusResponse 查询支付状态响应与PaymentNotification结构一致
type QueryPaymentStatusResponse struct {
PaymentNotification
}
// ============================================================
// 接口6创建供应商请求/响应
// ============================================================
// CreateSupplierRequest 创建供应商请求
type CreateSupplierRequest struct {
InvokeID string `json:"invokeId,omitempty"`
UserID string `json:"userId"`
Data string `json:"data,omitempty"`
BizType string `json:"bizType"`
}
// CreateSupplierBizData 创建供应商业务数据
type CreateSupplierBizData struct {
CorpID string `json:"corpId"`
Creator string `json:"creator"`
SupplierInfo *SupplierInfo `json:"supplierInfo,omitempty"`
}
// SupplierInfo 供应商数据
type SupplierInfo struct {
Name string `json:"name"`
CorpID string `json:"corpId"`
UserDefineCode string `json:"userDefineCode,omitempty"`
Description string `json:"description,omitempty"`
ContactAddress string `json:"contactAddress,omitempty"`
ContactCompanyTelephone string `json:"contactCompanyTelephone,omitempty"`
ContactEmail string `json:"contactEmail,omitempty"`
ContactName string `json:"contactName,omitempty"`
ContactTelephone string `json:"contactTelephone,omitempty"`
Creator string `json:"creator"`
InvoiceAccount string `json:"invoiceAccount,omitempty"`
InvoiceAddress string `json:"invoiceAddress,omitempty"`
InvoiceBankName string `json:"invoiceBankName,omitempty"`
InvoiceName string `json:"invoiceName,omitempty"`
InvoiceTaxNo string `json:"invoiceTaxNo,omitempty"`
PurchaserTel string `json:"purchaserTel,omitempty"`
BankName string `json:"bankName,omitempty"`
InvoiceTelephone string `json:"invoiceTelephone,omitempty"`
AccountName string `json:"accountName,omitempty"`
AccountType string `json:"accountType,omitempty"`
}
// CreateSupplierResponse 创建供应商响应
type CreateSupplierResponse struct {
InvokeID string `json:"invokeId,omitempty"`
BizType string `json:"bizType"`
Data json.RawMessage `json:"data,omitempty"`
}
// CreateSupplierResponseData 创建供应商响应数据
type CreateSupplierResponseData struct {
Result string `json:"result,omitempty"`
Success bool `json:"success"`
}
// SupplierInfoResponse 供应商信息(响应)
type SupplierInfoResponse struct {
SupplierID string `json:"supplierId"`
SupplierName string `json:"supplierName"`
Name string `json:"name"`
CorpID string `json:"corpId"`
UserDefineCode string `json:"userDefineCode,omitempty"`
Description string `json:"description,omitempty"`
ContactAddress string `json:"contactAddress,omitempty"`
ContactCompanyTelephone string `json:"contactCompanyTelephone,omitempty"`
ContactEmail string `json:"contactEmail,omitempty"`
ContactName string `json:"contactName,omitempty"`
ContactTelephone string `json:"contactTelephone,omitempty"`
Creator string `json:"creator"`
InvoiceAccount string `json:"invoiceAccount,omitempty"`
InvoiceAddress string `json:"invoiceAddress,omitempty"`
InvoiceBankName string `json:"invoiceBankName,omitempty"`
}
// ============================================================
// 接口7根据名称查询供应商请求/响应
// ============================================================
// QuerySupplierByNameRequest 根据名称查询供应商请求
type QuerySupplierByNameRequest struct {
InvokeID string `json:"invokeId,omitempty"`
UserID string `json:"userId"`
Data string `json:"data,omitempty"`
BizType string `json:"bizType"`
}
// QuerySupplierByNameBizData 根据名称查询供应商业务数据
type QuerySupplierByNameBizData struct {
CorpID string `json:"corpId"`
Name string `json:"name"`
}
// QuerySupplierByNameResponse 根据名称查询供应商响应
type QuerySupplierByNameResponse struct {
InvokeID string `json:"invokeId,omitempty"`
BizType string `json:"bizType"`
Data json.RawMessage `json:"data,omitempty"`
Result string `json:"result,omitempty"`
Success bool `json:"success"`
}
// QuerySupplierByNameResult 供应商查询结果重要字段
type QuerySupplierByNameResult struct {
SupplierName string `json:"supplierName"`
UserDefineCode string `json:"userDefineCode,omitempty"`
InvoiceName string `json:"invoiceName,omitempty"`
SupplierID string `json:"supplierId"`
CorpID string `json:"corpId"`
ContactTelephone string `json:"contactTelephone,omitempty"`
ContactEmail string `json:"contactEmail,omitempty"`
ContactName string `json:"contactName,omitempty"`
InvoiceBankName string `json:"invoiceBankName,omitempty"`
InvoiceAccount string `json:"invoiceAccount,omitempty"`
Description string `json:"description,omitempty"`
InvoiceAddress string `json:"invoiceAddress,omitempty"`
InvoiceTaxNo string `json:"invoiceTaxNo,omitempty"`
ContactCompanyTelephone string `json:"contactCompanyTelephone,omitempty"`
CreateTime int64 `json:"createTime,omitempty"`
InvoiceTelephone string `json:"invoiceTelephone,omitempty"`
ContactAddress string `json:"contactAddress,omitempty"`
}
// ============================================================
// 接口8更新供应商请求/响应
// ============================================================
// UpdateSupplierRequest 更新供应商请求
type UpdateSupplierRequest struct {
InvokeID string `json:"invokeId,omitempty"`
UserID string `json:"userId"`
Data string `json:"data,omitempty"`
BizType string `json:"bizType"`
}
// UpdateSupplierBizData 更新供应商业务数据
type UpdateSupplierBizData struct {
SupplierID string `json:"supplierId"`
Name string `json:"name"`
CorpID string `json:"corpId"`
UserDefineCode string `json:"userDefineCode,omitempty"`
Description string `json:"description,omitempty"`
ContactAddress string `json:"contactAddress,omitempty"`
ContactCompanyTelephone string `json:"contactCompanyTelephone,omitempty"`
ContactEmail string `json:"contactEmail,omitempty"`
ContactName string `json:"contactName,omitempty"`
ContactTelephone string `json:"contactTelephone,omitempty"`
UserID string `json:"userId"`
InvoiceAccount string `json:"invoiceAccount,omitempty"`
InvoiceAddress string `json:"invoiceAddress,omitempty"`
InvoiceBankName string `json:"invoiceBankName,omitempty"`
InvoiceName string `json:"invoiceName,omitempty"`
InvoiceTaxNo string `json:"invoiceTaxNo,omitempty"`
PurchaserTel string `json:"purchaserTel,omitempty"`
BankName string `json:"bankName,omitempty"`
InvoiceTelephone string `json:"invoiceTelephone,omitempty"`
AccountName string `json:"accountName,omitempty"`
AccountType string `json:"accountType,omitempty"`
BankBranchCode string `json:"bankBranchCode,omitempty"`
BankCode string `json:"bankCode,omitempty"`
BankCity string `json:"bankCity,omitempty"`
BankProvince string `json:"bankProvince,omitempty"`
}
// UpdateSupplierResponse 更新供应商响应
type UpdateSupplierResponse struct {
InvokeID string `json:"invokeId,omitempty"`
BizType string `json:"bizType"`
Data json.RawMessage `json:"data,omitempty"`
}
// UpdateSupplierResponseData 更新供应商响应数据
type UpdateSupplierResponseData struct {
Result string `json:"result,omitempty"`
Success bool `json:"success"`
}
// ============================================================
// 接口9根据用户自定义编码查询供应商请求/响应
// ============================================================
// QuerySupplierByUserDefineCodeRequest 根据用户自定义编码查询供应商请求
type QuerySupplierByUserDefineCodeRequest struct {
InvokeID string `json:"invokeId,omitempty"`
UserID string `json:"userId"`
Data string `json:"data,omitempty"`
BizType string `json:"bizType"`
}
// QuerySupplierByUserDefineCodeBizData 根据自定义编码查询供应商业务数据
type QuerySupplierByUserDefineCodeBizData struct {
CorpID string `json:"corpId"`
UserDefineCode string `json:"userDefineCode"`
}
// QuerySupplierByUserDefineCodeResponse 根据自定义编码查询供应商响应
type QuerySupplierByUserDefineCodeResponse struct {
InvokeID string `json:"invokeId,omitempty"`
BizType string `json:"bizType"`
Data json.RawMessage `json:"data,omitempty"`
}
// QuerySupplierByUserDefineCodeResponseData 响应数据
type QuerySupplierByUserDefineCodeResponseData struct {
Success bool `json:"success"`
}
// QuerySupplierByUserDefineCodeResult 供应商查询结果重要字段
type QuerySupplierByUserDefineCodeResult struct {
UserDefineCode string `json:"userDefineCode"`
SupplierName string `json:"supplierName"`
ModifiedTime int64 `json:"modifiedTime,omitempty"`
Creator string `json:"creator,omitempty"`
SupplierID string `json:"supplierId"`
Code string `json:"code,omitempty"`
CorpID string `json:"corpId"`
CreateTime int64 `json:"createTime,omitempty"`
Name string `json:"name"`
ID int64 `json:"id,omitempty"`
Status string `json:"status,omitempty"`
}