0531
本行出金
se:本行出金service
ds:数据库访问层service
- se.TransInit(): 初始化商户信息,业务信息检查,检查数据域,检查金额数据类型
- se.checkBinding(): 检查数据域,检查金额数据类型,检察账户信息,多重校验,能够判断出每一个数据错误的具体原因
- se.checkbusiness():检查账户信息,获取子账户所绑定的结算账户
- se.writeTransInfo():记录流水信息
- 发送前置,处理前置返回结果及扣账
- 更新流水
调用公共方法校验商户交易流水号
获取系统流水号
获取外围流水号
记录交易流水:getBalance():获取子账户余额
!"".equals(str)
判断变量str是否是空串,如果不是空串,返回true,否则为false;
subString():
定义和用法:
substring() 方法用于提取字符串中介于两个指定下标之间的字符。
语法:
stringObject.substring(start,stop)
注释:
start: 一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。
stop :一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1,如果省略该参数,那么返回的子串会一直到字符串的结尾。
本行出金(交易密码)
交易会员设置了交易密码则需要根据返回报文的URL,地址商输入验证信息,验证通过后资金操作
修改交易需要修改的有商户号,交易会员代码,输出卡号,
本行入金
入金类交易只有交易结果明确为成功时才进行入账
- se.TransInit(): 初始化商户信息,判断交易密码开关,调用公共方法检查支付单号是否重复,业务信息检查,检查数据域,检查金额数据
- se.checkBinding(): 检查数据域,检查金额数据类型,检察账户信息,多重校验,能够判断出每一个数据错误的具体原因
- se.checkbusiness():检查账户信息,获取子账户所绑定的结算账户
-
- 判断入金暂停标志,如果暂停则不可以入金,如果正常就可以入金
- (! “1” .equals(xxx.xxx) && ! “2” .equals(xxx.xxx)){ }------------只有同时满足&&两边才能输出括号里的内容。
- se.writeTransInfo():记录流水信息
- 发送前置,处理前置返回结果及扣账,子账户扣账
isBlank()
在校验一个String类型的变量是否为空时,通常存在3中情况
是否为 null
是否为 “”
是否为空字符串(引号中间有空格) 如: " "。
StringUtils的isBlank()方法可以一次性校验这三种情况,返回值都是true
本行入金(交易密码)
用户未设置密码或者设置密码但是在免密范围内允许走旧流程
有无密码根据passwordFlag(交易密码标志)来标识,0-未设置,1-已设置