From eb24b11ba39809c16f0eacad862452672e6485b0 Mon Sep 17 00:00:00 2001 From: renzhiyuan <465386466@qq.com> Date: Mon, 17 Aug 2026 17:18:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=96=87=E4=BB=B6:=20intelli?= =?UTF-8?q?gence=5Ffinance=5Fv1/types.go?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- intelligence_finance_v1/types.go | 551 +++++++++++++++++++++++++++++++ 1 file changed, 551 insertions(+) create mode 100644 intelligence_finance_v1/types.go diff --git a/intelligence_finance_v1/types.go b/intelligence_finance_v1/types.go new file mode 100644 index 0000000..b9b360f --- /dev/null +++ b/intelligence_finance_v1/types.go @@ -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"` +} \ No newline at end of file