335 lines
38 KiB
Go
335 lines
38 KiB
Go
package tysk_entity
|
||
|
||
import (
|
||
"gitea.cdlsxd.cn/self-tools/tysk/tysk_constant"
|
||
)
|
||
|
||
type (
|
||
AccountList []tysk_constant.AccountNo
|
||
|
||
Page struct {
|
||
StartRecord int `json:"startRecord"` //查询开始的记录编号,从1开始,超过最大记录数将返回空列表
|
||
PageNumber int `json:"pageNumber"` //每次查询请求的记录数量,最多支持100条记录
|
||
}
|
||
|
||
GetAccountBalanceReq struct {
|
||
AccountNo AccountList `json:"userDataList.accountNo"` // 用户有查询权限的银行账号
|
||
}
|
||
|
||
TodayTransHisReq struct {
|
||
AccountNo AccountList `json:"userDataList.accountNo"`
|
||
TranType tysk_constant.TranType `json:"tranType"` //01:所有 02:账户支出(借) 03:账户收入(贷)
|
||
StartRecord int `json:"startRecord"` //查询开始的记录编号,从1开始,超过最大记录数将返回空列表
|
||
PageNumber int `json:"pageNumber"` //每次查询请求的记录数量,最多支持100条记录
|
||
}
|
||
|
||
AccountInfoReq struct {
|
||
StartRecord int `json:"startRecord"` //查询开始的记录编号,从1开始,超过最大记录数将返回空列表
|
||
PageNumber int `json:"pageNumber"` //每次查询请求的记录数量,最多支持100条记录
|
||
BlngBnkId *tysk_constant.BankCode `json:"blngBnkId,omitempty"` //所属银行
|
||
AccCgyId *tysk_constant.AccCgyId `json:"tranType,omitempty"` //账户性质(原:账户类型),1:一般账户 2:基本账户 3:专用账户 4:临时账户,默认为全部
|
||
AccTpId *tysk_constant.AccTpId `json:"accTpId,omitempty"` //存款类型(原:账户种类),1:活期 2:定期 3:通知 4:活期保证金 5:定期保证金,默认为全部
|
||
AccStatId *tysk_constant.AccStatId `json:"accStatId,omitempty"` //账户状态,1:正常 2:销户 3:司法冻结 4:普通冻结 5:睡眠 6:挂失 7:冻结,默认为全部
|
||
IsOpnDirconId *tysk_constant.IsOpnDirconId `json:"IsOpnDirconId,omitempty"` //联网方式(原:是否直联),1:直联 2:非直联 3:SWIFT,默认为全部
|
||
AccCharId *tysk_constant.AccCharId `json:"accCharId,omitempty"` //联网方式(原:是否直联),1:实账户 2:登记簿,默认为全部
|
||
AccStyId *tysk_constant.AccStyId `json:"accStyId,omitempty"` //账户类型,0:境内普通账户 1:FTE 2:NRA 3:FTN 4:OSA 5:境外其他账户,默认为全部
|
||
IsFrgnAccId *tysk_constant.IsFrgnAccId `json:"isFrgnAccId,omitempty"` //境内/境外,0:境内 1:境外,默认为全部
|
||
}
|
||
|
||
// Request 表示银企直联接口请求参数
|
||
ReceiptApplyReq struct {
|
||
ClientID string `json:"clientID" validate:"required,max=20"` // 客户查询自定义的流水号,用于查询结果信息,需唯一
|
||
AccountNo tysk_constant.AccountNo `json:"userDataList.accountNo"` // 用户有查询权限的银行账号
|
||
StartDate string `json:"startDate"` // 查询起始日期(格式:YYYYMMDD)
|
||
EndDate string `json:"endDate"` // 查询终止日期(格式:YYYYMMDD)
|
||
}
|
||
|
||
// ReceiptQueryReq 电子回单文件查询请求参数
|
||
ReceiptQueryReq struct {
|
||
ClientID string `json:"clientID" comment:"记录申请编号" validate:"required,max=20"` // SKEDDRSQ交易流水号(varchar(20),必填,仅支持数字或字母组合)
|
||
StartDate string `json:"startDate,omitempty" comment:"查询起始日期"` // 查询开始日期(char(8),选填,yyyyMMdd格式,默认取申请单起始日期,与结束日期间隔≤30天)
|
||
EndDate string `json:"endDate,omitempty" comment:"查询结束日期"` // 查询结束日期(char(8),选填,yyyyMMdd格式,默认取申请单结束日期,与开始日期间隔≤30天)
|
||
TranType tysk_constant.TranType `json:"tranType,omitempty" comment:"交易类型"` // 交易类型(char(2),选填:01-全部交易/02-账户支出/03-账户收入)
|
||
StartRecord int `json:"startRecord" comment:"起始记录号" validate:"required,numeric,min=1"` // 查询起始记录编号(char(4),必填,从1开始)
|
||
PageNumber int `json:"pageNumber" comment:"请求记录条数" validate:"required,numeric,max=100"` // 每页记录数(char(4),必填,最大100条)
|
||
}
|
||
|
||
// ReceiptDownloadReq 银企直联接口请求参数
|
||
ReceiptDownloadReq struct {
|
||
FileType tysk_constant.FileType `json:"fileType,omitempty" comment:"文件格式"` // 文件格式(char(1),选填):PDF/OFD,默认PDF
|
||
RcptNums []string `json:"userDataList.rcptNum" comment:"回单下载列表" validate:"required,dive"` // 回单下载列表(必填)
|
||
}
|
||
|
||
//TransHisQueryApplyReq 历史明细查询申请
|
||
TransHisQueryApplyReq struct {
|
||
ClientID string `json:"clientId" comment:"记录申请编号" validate:"required,max=20"` // 客户查询自定义的流水号(varchar(20),必填,仅支持数字或字母组合)
|
||
AccountNo tysk_constant.AccountNo `json:"accountNo" comment:"账号" validate:"required,max=40"` // 银行账号(varchar(40),必填,允许输入0-9a-zA-Z空格-?:().,'+/,不能首尾空格,至少一个数字)
|
||
StartDate string `json:"startDate" comment:"起始日期" validate:"required,len=8"` // 查询开始日期(char(8),必填,yyyyMMdd格式,与结束日期间隔≤95天)
|
||
EndDate string `json:"endDate" comment:"终止日期" validate:"required,len=8"` // 查询结束日期(char(8),必填,yyyyMMdd格式,与开始日期间隔≤95天)
|
||
}
|
||
|
||
//TransHisQueryReq 历史明细结果查询
|
||
TransHisQueryReq struct {
|
||
ClientID string `json:"clientId" comment:"记录申请编号" validate:"required,max=20,alphanum"` // 交易申请流水号(varchar(20),必填,仅支持数字或字母组合)
|
||
StartDate *string `json:"startDate,omitempty" comment:"起始日期" validate:"omitempty,len=8,datetime=20060102"` // 查询开始日期(char(8),选填,yyyyMMdd格式,默认取SKTRNHCL输入的起始日期)
|
||
EndDate *string `json:"endDate,omitempty" comment:"终止日期" validate:"omitempty,len=8,datetime=20060102"` // 查询结束日期(char(8),选填,yyyyMMdd格式,默认取SKTRNHCL输入的终止日期)
|
||
TranType tysk_constant.TranType `json:"tranType" comment:"交易类型" validate:"required,oneof=01 02 03"` // 交易类型(char(2),必填:01-全部交易/02-账户支出/03-账户收入)
|
||
StartRecord int `json:"startRecord" comment:"起始记录号" validate:"required,len=4,numeric"` // 查询起始记录编号(char(4),必填,从1开始)
|
||
PageNumber int `json:"pageNumber" comment:"请求记录条数" validate:"required,len=4,numeric,max=100"` // 每页记录数(char(4),必填,最大100条)
|
||
}
|
||
|
||
// BalanceHisQueryApplyReq 历史余额查询申请
|
||
BalanceHisQueryApplyReq struct {
|
||
ClientID string `json:"clientID" comment:"记录申请编号" validate:"required,max=20,alphanum"` // 客户查询自定义的流水号(varchar(20),必填,仅支持数字或字母组合)
|
||
StartDate string `json:"startDate" comment:"起始日期" validate:"required,len=8,datetime=20060102"` // 查询余额范围的开始日期(char(8),必填,yyyyMMdd格式)
|
||
EndDate string `json:"endDate" comment:"终止日期" validate:"required,len=8,datetime=20060102"` // 查询余额范围的结束日期(char(8),必填,yyyyMMdd格式)
|
||
AccountNo AccountList `json:"userDataList.accountNo"` // 银行账号列表(varchar(40),必填,允许输入0-9a-zA-Z空格-?:().,'+/,不能首尾空格,至少一个数字)
|
||
}
|
||
|
||
// BalanceHisQueryReq 历史余额查询请求
|
||
BalanceHisQueryReq struct {
|
||
ClientID string `json:"clientID" comment:"记录申请编号" validate:"required,len=20,alphanum"` // 客户查询自定义的流水号(char(20),必填,仅支持数字或字母组合)
|
||
StartDate *string `json:"startDate,omitempty" comment:"起始日期" validate:"omitempty,len=8,datetime=20060102,balanceDateRange"` // 查询余额范围的开始日期(char(8),选填,yyyyMMdd格式)
|
||
EndDate *string `json:"endDate,omitempty" comment:"终止日期" validate:"omitempty,len=8,datetime=20060102,balanceDateRange"` // 查询余额范围的结束日期(char(8),选填,yyyyMMdd格式)
|
||
StartRecord int `json:"startRecord" comment:"起始记录号" validate:"required,len=4,numeric"` // 查询开始的记录编号(char(4),必填,从1开始)
|
||
PageNumber int `json:"pageNumber" comment:"请求记录条数" validate:"required,len=4,numeric,max=20"` // 每次查询请求的记录数量(char(4),必填,最多支持20条记录)
|
||
}
|
||
|
||
// AccountsTransHisQueryReq 多账户历史明细查询
|
||
AccountsTransHisQueryReq struct {
|
||
StartDate string `json:"startDate" validate:"required,len=8,datetime=20060102,dateRange"` // 起始日期(char(8),必填,yyyyMMdd格式)
|
||
EndDate string `json:"endDate" validate:"required,len=8,datetime=20060102,dateRange"` // 终止日期(char(8),必填,yyyyMMdd格式)
|
||
TranType tysk_constant.TranType `json:"tranType" validate:"required,len=2,oneof=01 02 03"` // 借贷方向(char(2),必填:01-全部交易;02-借;03-贷)
|
||
StartRecord int `json:"startRecord" validate:"required,len=4,numeric,min=1"` // 起始记录号(char(4),必填,从1开始)
|
||
PageNumber int `json:"pageNumber" validate:"required,len=4,numeric,max=100"` // 请求记录条数(char(4),必填,最多100条)
|
||
AccountNo AccountList `json:"userDataList.accountNo" validate:"required,dive"` // 账号列表(必填,最多10个账号)
|
||
}
|
||
|
||
// SinglePayReq 单笔支付
|
||
SinglePayReq struct {
|
||
ExternalNum string `json:"externalNum" comment:"外部请求流水号" validate:"required,max=50"` // 最大长度为50,不能重复
|
||
LinkPayFlag *tysk_constant.CommonBool `json:"linkPayFlag,omitempty" comment:"联动支付" validate:"omitempty,oneof=00 01"` // 00:否,01:是 默认为否
|
||
PypPartyAccnum tysk_constant.AccountNo `json:"pypartyAccnum" comment:"付方账号" validate:"required,max=32,accountFormat"` // 允许输入特定字符,至少一个数字
|
||
RcvPyAccnum tysk_constant.AccountNo `json:"rcvpyAccnum" comment:"收方账号" validate:"required,max=32,accountFormat"` // 允许输入特定字符,至少一个数字
|
||
RcvPyAccnm string `json:"rcvpyAccnm" comment:"收方户名" validate:"required,max=300,nameFormat"` // 最大支持长度300(汉字占3,非汉字占1)
|
||
IsCheckRcvpartyDepbnkId *tysk_constant.IsCheckRcvpartyDepbnkId `json:"isCheckRcvpartyDepbnkId,omitempty" comment:"是否准确校验开户行行名" validate:"omitempty,oneof=00 01"` // 00:是 01:否 默认为是 当该字段为00是时:同时传入开户行行名和联行号,以联行号为准; 当该字段为01否时:同时传入开户行行名和联行号,以联行号为准;只传入开户行行名直接返显开户行,不再校验开户行行名在境内网点表是否存在,若用户上送的开户行行名匹配不上所属银行,则【收方银行】展示--,【是否跨行】字段,若用户上送,则以用户上送的为准,若用户未上送,收方银行为空,则无法按照收付方银行判断出是否跨行,则是否跨行默认为是;若用户上送的开户行行名匹配不出联行号时,则【收方联行号】、【收方地区】展示为--;只传入联行号,以联行号为准。
|
||
RcvPartyDepbnkId *string `json:"rcvpartyDepbnkId,omitempty" comment:"收方开户行" validate:"omitempty,max=80"` // 收方开户行 ,收方开户行和收方联行号选择一个输入即可 付款种类对私付款且账户为银联卡时,可根据卡BIN号识别收方开户行、收方联行号字段,两字段不必输,非空情况以上送值为准
|
||
RcvPartyBnkgId *string `json:"rcvpartyBnkgId,omitempty" comment:"收方联行号" validate:"omitempty,max=40"` // 收方联行号
|
||
TxnCntprTp *tysk_constant.TxnCntprTp `json:"txnCntprTp" comment:"交易对手类型" validate:"omitempty,oneof=01 02 03 04"` // 客户:01 供应商:02 经销商:03 其他:04
|
||
PyAccTp tysk_constant.PyAccTp `json:"pyAccTp,omitempty" comment:"付款种类" validate:"required,oneof=00 01"` // 00:对公 01:对私
|
||
Amt float64 `json:"amt" comment:"付款金额" validate:"required,numeric,min=0.01,max=9999999999999.99"` // 整数最长13位,2位小数
|
||
CurrencyID string `json:"currencyID" comment:"币种" validate:"required,oneof=CNY"` // 币种仅支持人民币(CNY)
|
||
IsInterbnk *tysk_constant.CommonBool `json:"isInterbnk,omitempty" comment:"是否跨行" validate:"omitempty,oneof=00 01"` // 00:不跨行 01:跨行
|
||
UrgntAprvFlag *tysk_constant.CommonBool `json:"urgntAprvFlag,omitempty" comment:"加急审批" validate:"omitempty,oneof=00 01"` // 00:否,01:是 默认为否
|
||
PyTmlnsFlag *tysk_constant.CommonBool `json:"pyTmlnsFlag,omitempty" comment:"预约付款" validate:"omitempty,oneof=00 01"` // 00:否 01:是 默认为否,是否预约付款状态为01,预约时间必填
|
||
RsrvtnTms *string `json:"rsrvtnTms,omitempty" comment:"预约时间" validate:"omitempty,datetime=2006-01-02 15:04,timeRange"` // 预约时间格式 yyyy-MM-dd HH:mm,时间范围06:00-22:00
|
||
Pscpt string `json:"pscpt" comment:"附言" validate:"required,max=300,noteFormat"` // 银行附言,最大支持长度300(汉字占3,非汉字占1),不同付方银行支持附言长度不同
|
||
Rmrk *string `json:"rmrk,omitempty" comment:"备注" validate:"omitempty,max=120"` // 最大长度为120
|
||
Rmrk1 *string `json:"rmrk1,omitempty" comment:"备用字段1" validate:"omitempty,max=600"` // 最大长度为600
|
||
Rmrk2 *string `json:"rmrk2,omitempty" comment:"备用字段2" validate:"omitempty,max=600"` // 最大长度为600
|
||
Rmrk3 *string `json:"rmrk3,omitempty" comment:"备用字段3" validate:"omitempty,max=600"` // 最大长度为600
|
||
Rmrk4 *string `json:"rmrk4,omitempty" comment:"备用字段4" validate:"omitempty,max=600"` // 最大长度为600
|
||
}
|
||
|
||
// SinglePayQueryReq 单笔付款查证
|
||
SinglePayQueryReq struct {
|
||
ExternalNum string `json:"externalNum" comment:"外部请求流水号" validate:"required,max=50"` // 最大长度为50,不能重复
|
||
}
|
||
|
||
// BatchPayReq 批量付款请求结构体
|
||
BatchPayReq struct {
|
||
ExternalBatNum string `json:"externalBatNum" validate:"required,max=30"` // 外部请求批次号
|
||
LinkPayFlag *tysk_constant.CommonBool `json:"linkPayFlag,omitempty" validate:"omitempty,oneof=00 01"` // 联动支付标志
|
||
PyPartyAccNum tysk_constant.AccountNo `json:"pypartyAccnum" validate:"required,max=32,account"` // 付方账号
|
||
CurrencyID string `json:"currencyID" validate:"required,oneof=CNY"` // 币种(只支持CNY)
|
||
TotNbr int `json:"totNbr" validate:"required,len=4,numeric,max=1000"` // 付款总笔数
|
||
Amt float64 `json:"amt" validate:"required,numeric,len=15"` // 付款总金额(decimal(15,2))
|
||
UrgntAprvFlag *tysk_constant.CommonBool `json:"urgntAprvFlag,omitempty" validate:"required,oneof=00 01"` // 00:否,01:是 默认为否
|
||
RsrvtnFlag *tysk_constant.CommonBool `json:"rsrvtnFlag,omitempty" validate:"required,oneof=00 01"` // 00:否 01:是 默认为否,是否预约付款状态为01,预约时间必填
|
||
RsrvtnTms *string `json:"rsrvtnTms,omitempty" validate:"omitempty,datetime=2006-01-02 15:04"` // 预约时间 yyyy-MM-dd HH:mm,时间范围06:00-22:00
|
||
CheckMode *tysk_constant.CheckMode `json:"checkMode,omitempty" validate:"omitempty,oneof=01 02"` // 明细校验处理模式,整批验证模式 01:即现有处理模式,当批次内存在一条明细验证不通过时,整批状态失败,不入库,接口返回批次失败及错误信息。 明细验证模式02:新模式,当批次内存在一条明细验证不通过时,跳过该异常明细继续执行后续明细验证,验证通过的明细进行入库,根据外部请求批次号、外部请求流水号进行保存,同时接口返回部分成功及部分失败明细的条目信息,后续操作逻辑、业务规则未发生变化
|
||
List []BatchPayList `json:"debitList" validate:"required,dive"` // 付款明细列表
|
||
}
|
||
|
||
BatchPayList struct {
|
||
ExternalNum string `json:"externalNum" validate:"required,max=50"` // 外部请求流水号
|
||
RcvPyAccNum tysk_constant.AccountNo `json:"rcvpyAccnum" validate:"required,max=32,account"` // 收方账号
|
||
RcvPyAccNm tysk_constant.AccountNo `json:"rcvpyAccnm" validate:"required,max=300,name"` // 收方户名
|
||
IsInterBnk *tysk_constant.CommonBool `json:"isInterbnk,omitempty" validate:"omitempty,oneof=00 01"` // 是否跨行
|
||
IsCheckRcvPartyDepBnkId *tysk_constant.IsCheckRcvpartyDepbnkId `json:"isCheckRcvpartyDepbnkId,omitempty" validate:"omitempty,oneof=00 01"` // 是否准确校验开户行行名 00:是 01:否 默认为是, 当该字段为00是时:
|
||
RcvPartyDepBnkId *string `json:"rcvpartyDepbnkId,omitempty" validate:"omitempty,max=80"` // 收方开户行 ,收方开户行和收方联行号选择一个输入即可 付款种类对私付款且账户为银联卡时,可根据卡BIN号识别收方开户行、收方联行号字段,两字段不必输,非空情况以上送值为准
|
||
RcvPartyBnkgId *string `json:"rcvpartyBnkgId,omitempty" validate:"omitempty,max=40"` // 收方联行号
|
||
TxnCntprTp *tysk_constant.TxnCntprTp `json:"txnCntprTp,omitempty" validate:"omitempty,oneof=01 02 03 04"` // 交易对手类型
|
||
PyAccTp tysk_constant.PyAccTp `json:"pyAccTp" validate:"required,oneof=00 01"` // 付款种类
|
||
DebitAmt float64 `json:"debitAmt" validate:"required,numeric,len=15"` // 付款金额(decimal(15,2))
|
||
Pscpt string `json:"pscpt" validate:"required,max=300,note"` // 附言,最大支持长度300(汉字占3,非汉字占1),不同付方银行支持附言长度不同
|
||
Rmrk *string `json:"rmrk,omitempty" validate:"omitempty,max=120"` // 备注
|
||
}
|
||
|
||
BatchPayQueryReq struct {
|
||
ExternalBatNum string `json:"externalBatNum" validate:"required,max=30"` // 外部请求批次号(varchar(30),必填)
|
||
List []BatchPayQueryReqTransaction `json:"extNumList.externalNum" validate:"dive"` // 交易明细列表
|
||
}
|
||
|
||
BatchPayQueryReqTransaction struct {
|
||
ExternalNum string `json:"externalNum,omitempty" validate:"max=50"` // 外部请求流水号(varchar(50),选填)
|
||
}
|
||
|
||
// PayArrangeReq 排款
|
||
PayArrangeReq struct {
|
||
FndarBatNum string `json:"fndarBatNum" validate:"required,max=30"` // 外部排款批次号
|
||
PypartyAccnum tysk_constant.AccountNo `json:"pypartyAccnum" validate:"required"` // 付方账号
|
||
BusinessType *string `json:"businessType,omitempty" validate:"max=30"` // 业务类型
|
||
SettlementMode *tysk_constant.SettlementMode `json:"settlementMode,omitempty" validate:"omitempty"` // 结算方式:01支付转账 02 银承开票 03 商承开票 04银承转让 05商承转让 06 现金支票 07转账支票 08 银行保函 09信用证 0A 银行汇票 0B银行本票0C供应链凭证支付0D项目贷支付10其他,不传默认01支付转账
|
||
PayRat *string `json:"payRat,omitempty" validate:"omitempty"` // 排款份额(JSON格式),参考:@struct PayRatItem
|
||
PayDt string `json:"payDt" validate:"required,datetime=2006-01-02"` // 应付日期(yyyy-MM-dd)
|
||
LinkPayFlag *tysk_constant.CommonBool `json:"linkPayFlag,omitempty" validate:"omitempty,oneof=00 01"` // 联动支付标志
|
||
List []PayArrangeList `json:"fndarList" validate:"required,dive"` // 交易明细列表
|
||
}
|
||
|
||
PayArrangeList struct {
|
||
FndarNum string `json:"fndarNum" validate:"required,max=50"` // 外部排款流水号
|
||
RcvpyAccnum tysk_constant.AccountNo `json:"rcvpyAccnum" validate:"required"` // 收方账号
|
||
RcvpyAccnm string `json:"rcvpyAccnm" validate:"required,max=300"` // 收方户名
|
||
RcvpartyDepbnkId *string `json:"rcvpartyDepbnkId,omitempty" validate:"omitempty,max=80"` // 收方开户行,收方开户行和收方联行号选择一个输入即可 付款种类对私付款且账户为银联卡时,可根据卡BIN号识别收方开户行、收方联行号字段,两字段不必输,非空情况以上送值为准
|
||
RcvpartyBnkgId *string `json:"rcvpartyBnkgId,omitempty" validate:"omitempty,max=40"` // 收方联行号
|
||
TxnCntprTp *tysk_constant.TxnCntprTp `json:"txnCntprTp,omitempty" validate:"omitempty,oneof=01 02 03 04"` // 交易对手类型
|
||
PyAccTp tysk_constant.PyAccTp `json:"pyAccTp" validate:"required,oneof=00 01"` // 付款种类
|
||
Amt float64 `json:"amt" validate:"required,numeric"` // 付款金额
|
||
CurrencyID string `json:"currencyID" validate:"required,oneof=CNY"` // 币种
|
||
Pscpt string `json:"pscpt" validate:"required,max=300` // 附言
|
||
Rmrk *string `json:"rmrk,omitempty" validate:"omitempty,max=120"` // 备注
|
||
Rmrk1 *string `json:"rmrk1,omitempty" validate:"omitempty,max=600"` // 备用字段1
|
||
Rmrk2 *string `json:"rmrk2,omitempty" validate:"omitempty,max=600"` // 备用字段2
|
||
Rmrk3 *string `json:"rmrk3,omitempty" validate:"omitempty,max=600"` // 备用字段3
|
||
Rmrk4 *string `json:"rmrk4,omitempty" validate:"omitempty,max=600"` // 备用字段4
|
||
}
|
||
|
||
// PayRatItem 排款份额明细项
|
||
PayRatItem struct {
|
||
Pcode string `json:"pcode" validate:"required,max=2"` // 支付代码
|
||
Pamt string `json:"pamt" validate:"required,numeric"` // 支付金额
|
||
PayAccNum string `json:"payAccNum" validate:"required"` // 支付账号
|
||
}
|
||
|
||
// PayArrangeQueryReq 排款查证
|
||
PayArrangeQueryReq struct {
|
||
FndarBatNum string `json:"fndarBatNum" validate:"required,max=30"` // 外部排款批次号
|
||
}
|
||
|
||
// PayArrangeBillQueryReq 排款票据信息查询
|
||
PayArrangeBillQueryReq struct {
|
||
FndarBatNum string `json:"fndarBatNum" validate:"required,max=30"` // 外部排款批次号(varchar(30),必填)
|
||
SubTaskNum *string `json:"subTaskNum" validate:"omitempty,max=100"` // 子任务编号(varchar(100),非必填)
|
||
StartRecord int `json:"startRecord" validate:"required,len=4,numeric,min=1"` // 起始记录号(varchar(4),必填,从1开始)
|
||
PageNumber int `json:"pageNumber" validate:"required,len=4,numeric,max=20"` // 请求记录条数(varchar(4),必填,最大20)
|
||
}
|
||
|
||
//BatchesPayArrangeBillQueryReq 多批次排款票据查询
|
||
BatchesPayArrangeBillQueryReq struct {
|
||
FndarBatNum *string `json:"fndarBatNum" validate:"omitempty,max=30"` // 外部排款批次号(varchar(30),非必填)
|
||
SubTaskNum *string `json:"subTaskNum" validate:"omitempty,max=100"` // 子任务编号(varchar(100),非必填)
|
||
StartRecord int `json:"startRecord" validate:"required,len=4,numeric,min=1"` // 起始记录号(varchar(4),必填,从1开始)
|
||
PageNumber int `json:"pageNumber" validate:"required,len=4,numeric,max=100"` // 请求记录条数(varchar(4),必填,最大100)
|
||
StartDate string `json:"startDate" validate:"required,len=8,datetime=20060102"` // 起始日期(char(8),必填,YYYYMMDD格式)
|
||
EndDate string `json:"endDate" validate:"required,len=8,datetime=20060102"` // 终止日期(char(8),必填,YYYYMMDD格式,与StartDate跨度≤30天)
|
||
}
|
||
//TGBPayReq 团金宝付款
|
||
TGBPayReq struct {
|
||
ExternalBatNum string `json:"externalBatNum" validate:"required,max=30"` // 外部请求批次号(varchar(30),必填,不能重复)
|
||
LinkPayFlag *tysk_constant.CommonBool `json:"linkPayFlag" validate:"omitempty,oneof=00 01"` // 联动支付(char(2),可选,默认"00")
|
||
PypartyAccnum tysk_constant.AccountNo `json:"pypartyAccnum" validate:"required,max=32,alphanumHyphen"` // 付方账号(varchar(32),必填,允许特定字符)
|
||
CurrencyID string `json:"currencyID" validate:"required,len=3"` // 币种(varchar(5),必填,暂仅支持人民币"CNY")
|
||
TotNbr int `json:"totNbr" validate:"required,len=4,numeric,max=1000"` // 付款总笔数(char(4),必填,最大1000)
|
||
Amt float64 `json:"amt" validate:"required,decimal"` // 付款总金额(decimal(15,2),必填)
|
||
ItlgPayrollType tysk_constant.CommonBool `json:"itlgPayrollType" validate:"required,oneof=00 01"` // 是否代发(char(2),必填) 00:否,01:是
|
||
ItlgPreparType tysk_constant.ItlgPreparType `json:"itlgPreparType" validate:"required,oneof=0 1"` // 记账方式(char(1),必填)0-单笔记账,1-合笔记账
|
||
ItlgRefundFlag tysk_constant.ItlgRefundFlag `json:"itlgRefundFlag" validate:"required,oneof=0 1"` // 退款方式(char(1),必填)0-单笔退款,1-合并退款
|
||
UrgntAprvFlag *tysk_constant.CommonBool `json:"urgntAprvFlag" validate:"omitempty,oneof=00 01"` // 加急审批(char(2),可选,默认"00")
|
||
RsrvtnFlag *tysk_constant.CommonBool `json:"rsrvtnFlag" validate:"omitempty,oneof=00 01"` // 预约付款(char(2),可选,默认"00")
|
||
RsrvtnTms *string `json:"rsrvtnTms" validate:"omitempty,datetime=2006-01-02 15:04:05,timeRange"` // 预约时间(varchar(19),可选)
|
||
BatPscpt string `json:"batPscpt" validate:"required,max=60"` // 批次附言(varchar(60),必填)
|
||
BatRmrk *string `json:"batRmrk" validate:"omitempty,max=50"` // 批次备注(varchar(50),可选)
|
||
List []TGBPayReqRow `json:"debitList" validate:"required,dive"` // 交易明细列表(必填)
|
||
}
|
||
TGBPayReqRow struct {
|
||
ExternalNum string `json:"externalNum" validate:"required,max=50"` // 外部请求流水号(varchar(50),必填,同批次内不重复)
|
||
RcvpyAccnum tysk_constant.AccountNo `json:"rcvpyAccnum" validate:"required,max=32,"` // 收方账号(varchar(32),必填,允许特定字符)
|
||
RcvpyAccnm string `json:"rcvpyAccnm" validate:"required,max=300,"` // 收方户名(varchar(300),必填,支持汉字/非汉字长度计算)
|
||
RcvpartyDepbnkId *string `json:"rcvpartyDepbnkId" validate:"omitempty,max=80"` // 收方开户行(varchar(80),可选)
|
||
RcvpartyBnkgId *string `json:"rcvpartyBnkgId" validate:"omitempty,max=40"` // 收方联行号(varchar(40),可选)
|
||
DebitAmt float64 `json:"debitAmt" validate:"required,decimal"` // 付款金额(decimal(15,2),必填)
|
||
Pscpt string `json:"pscpt" validate:"required,max=300,"` // 附言(varchar(300),必填,支持汉字/非汉字长度计算)
|
||
Rmrk *string `json:"rmrk" validate:"omitempty,max=120"` // 备注(varchar(120),可选)
|
||
}
|
||
//RefundTransQueryReq 退汇交易查询
|
||
RefundTransQueryReq struct {
|
||
StartRecord int `json:"startRecord" validate:"required,len=4,numeric,min=1"` // 起始记录号(varchar(4),必填,从1开始)
|
||
PageNumber int `json:"pageNumber" validate:"required,len=4,numeric,max=100"` // 请求记录条数(varchar(4),必填,最大100)
|
||
StartDate string `json:"startDate" validate:"required,len=8,datetime=20060102"` // 起始日期(char(8),必填,YYYYMMDD格式)
|
||
EndDate string `json:"endDate" validate:"required,len=8,datetime=20060102"` // 终止日期(char(8),必填,YYYYMMDD格式,与StartDate跨度≤30天)
|
||
AccountNo AccountList `json:"userDataList.accountNo"` // 用户有查询权限的银行账号
|
||
}
|
||
|
||
//BatchSalarySendReq 3.2.11批量代发(薪酬代发)
|
||
BatchSalarySendReq struct {
|
||
ExternalBatNum string `json:"externalBatNum" validate:"required,max=30"` // 外部请求批次号
|
||
LinkPayFlag *tysk_constant.CommonBool `json:"linkPayFlag" validate:"omitempty,len=2,oneof=00 01"` // 联动支付(默认00)
|
||
PypartyAccnum tysk_constant.AccountNo `json:"pypartyAccnum" validate:"required,max=32,account"` // 付方账号
|
||
CurrencyID string `json:"currencyID" validate:"required,len=3,oneof=CNY"` // 币种(暂仅支持CNY)
|
||
TotNbr int `json:"totNbr" validate:"required,len=4,numeric,max=1000"` // 付款总笔数
|
||
Amt float64 `json:"amt" validate:"required,numeric,amt"` // 付款总金额(15,2)
|
||
PayrollDt string `json:"payrollDt,omitempty" validate:"omitempty,len=6,datetime=200601"` // 代发月份(yyyyMM)使用中银行代发、中原银行、齐鲁银行代发、工商银行代发、兴业银行代发代发时必填 格式:yyyyMM
|
||
UrgntAprvFlag *tysk_constant.CommonBool `json:"urgntAprvFlag,omitempty" validate:"omitempty,len=2,oneof=00 01"` // 加急审批(默认00)
|
||
RsrvtnFlag *tysk_constant.CommonBool `json:"rsrvtnFlag,omitempty" validate:"omitempty,len=2,oneof=00 01"` // 预约付款(默认00)
|
||
RsrvtnTms *string `json:"rsrvtnTms,omitempty" validate:"omitempty,datetime=2006-01-02 15:04:05,timeRange=06:00-22:00"` // 预约时间是否预约付款状态为01,预约时间必填;预约时间年月日格式为 yyyy-MM-dd 时分格式为枚举值 06:00-22:00任一时间
|
||
BatPscpt string `json:"batPscpt" validate:"required,max=60"` // 批次附言
|
||
PayrollUse *string `json:"payrollUse,omitempty" validate:"omitempty,max=60,dictCheck"` // 代发用途(银行特定要求)付款行为交行时,必输,传入交行签约类型编码; 付款行为建行、浦发银行、兴业银行、工商银行、招商银行、平安银行、中国银行、农行、民生、光大、广发、渤海、华夏、无锡农村商业银行、山西农信社、徽商银行、西安银行、中信银行等时,必输,传入代发用途;(其中中信银行增加默认值1:代发工资) 付款行为威海银行时,代发用途默认为“0002-代发工资”
|
||
ExtField1 *string `json:"extField1,omitempty" validate:"omitempty,max=60"` // 扩展字段1付款行为交行时,必输,传入交行协议编号; 付款行为平安时,非必输,传入平安协议编号; 付款行为建行时,必输,传入代发项目; 上述字典码值信息必须在司库系统-公共中心-数据字典-结算中心数据字典功能可查询到详见附录薪酬代发银行代发项目、代发用途码表
|
||
List []BatchSalarySendRow `json:"debitList" validate:"required,dive"` // 付款明细列表
|
||
}
|
||
|
||
BatchSalarySendRow struct {
|
||
ExternalNum string `json:"externalNum" validate:"required,max=50"` // 外部请求流水号
|
||
RcvpyAccnum tysk_constant.AccountNo `json:"rcvpyAccnum" validate:"required,max=32,account"` // 收方账号
|
||
RcvpyAccnm string `json:"rcvpyAccnm" validate:"required,max=300,name"` // 收方户名
|
||
RcvpartyDepbnkId *string `json:"rcvpartyDepbnkId,omitempty" validate:"omitempty,max=80"` // 收方开户行
|
||
RcvpartyBnkgId *string `json:"rcvpartyBnkgId,omitempty" validate:"omitempty,max=40"` // 收方联行号
|
||
DebitAmt float64 `json:"debitAmt" validate:"required,numeric,amt"` // 付款金额(15,2)
|
||
Pscpt string `json:"pscpt" validate:"required,max=300,remark"` // 附言
|
||
Rmrk string `json:"rmrk,omitempty" validate:"omitempty,max=120"` // 备注
|
||
}
|
||
//BankInfoQueryReq 境内银行网点信息查询
|
||
BankInfoQueryReq struct {
|
||
BankCode string `json:"bankCode,omitempty" validate:"omitempty,max=10" comment:"银行类别编码"` // 银行类别编码(varchar(10)),与areaId至少输入一个
|
||
AreaID string `json:"areaId,omitempty" validate:"omitempty,max=4" comment:"区域编码"` // 区域编码(varchar(4)),与bankCode至少输入一个
|
||
SkRecordNum int `json:"sk_recordNum" validate:"required,max=4" comment:"分页条数"` // 分页条数(varchar(4))
|
||
SkStartNo int `json:"sk_startNo" validate:"required,max=4" comment:"分页起始序号"` // 分页起始序号(varchar(4))
|
||
}
|
||
|
||
// BillListReq 3.4.1票据列表查询
|
||
BillListReq struct {
|
||
QueryType tysk_constant.QueryType `json:"queryType" validate:"required,len=2,oneof=00 01 02"` // 查询类型00持有01申请02签收
|
||
BsnTp *string `json:"bsnTp" validate:"validBsnTp"` // 业务种类(多选用逗号分隔)17-提示付款,18-供应链票据付款,51-出票登记,52-提示承兑,53-提示收票,54-未用退回,55-保证申请,56-背书转让,57-贴现申请,58-回购式贴现赎回,59-质押,60-质押解除,61-追索通知,62-同意清偿,63-线下追偿登记,64-不得转让标记撤销,65-票据查验,24-到期前提示付款,72-到期后质押解除,支持多选用“,”隔开
|
||
List *[]BillListReqRow `json:"queryBillParam" validate:"dive"` // 查询条件列表
|
||
MinAmt *float64 `json:"minAmt" validate:"omitempty"` // 最小金额(可选)
|
||
MaxAmt *float64 `json:"maxAmt" validate:"omitempty"` // 最大金额(可选)
|
||
ExpDtStart *string `json:"expDtStart" validate:"omitempty,datetime=2006-01-02"` // 到期日起始日期
|
||
ExpDtEnd *string `json:"expDtEnd" validate:"omitempty,datetime=2006-01-02"` // 到期日截止日期
|
||
StartRecord int `json:"startRecord" validate:"required,len=10,numeric"` // 起始记录号(从1开始)
|
||
PageNumber int `json:"pageNumber" validate:"required,len=4,numeric,max=200"` // 请求记录条数(最多200条)
|
||
}
|
||
|
||
BillListReqRow struct {
|
||
SignAcc string `json:"signAcc,omitempty" validate:"omitempty,max=40"` // 签约账号(可选)
|
||
BillPkgId string `json:"billPkgId,omitempty" validate:"omitempty,max=30"` // 票据包号(可选)
|
||
}
|
||
|
||
// BillDetailReq 票据详情
|
||
BillDetailReq struct {
|
||
SignAcc string `json:"signAcc" validate:"required,max=40"` // 签约账号
|
||
BillPkgId string `json:"billPkgId" validate:"required,max=30"` // 票据包号
|
||
SubBillRng string `json:"subBillRng,omitempty" validate:"omitempty"` // 子票区间(新一代电票必输)格式为000000000001,000001010110
|
||
}
|
||
)
|