2.1 首先,导入autopay文件 LoadOutsideFileAction
1. convert.checkReload 查询 LOG_PASSIVE_AUTOPAY 判断是否已经导入过
2. uploadFile 读取文件 形成 list
checkHeadTail 校验文件头尾
3. loadConvertFile
insertZipFile 插入 INF_TRANS_ZIP_FILE
updateZipFile 更新 INF_TRANS_ZIP_FILE
insertTaskInterface 定时任务
2.2 其次,调用Task解BLOB TxnPassiveAutopay.parsePassiveAutopay
1. getZipValueList
2. 分块解析 getZipValueFromDB
3. 把得到的BLOB转换成字符串list, getFormattedBlock , DETAIL_PASSIVE_AUTOPAY_TABLE
4. parseFile 解析文件
5. parseLine 解析行 会传入detailFormat(通过查询DETAIL_PASSI_AUTO_FILE_FORMAT表得到)
6. updateToDB 插入 DETAIL_PASSIVE_AUTOPAY_TABLE
2.3 最后,调用task进行销账 TxnPassiveAutopay.settlePassiveAutopay
1. 根据autopayno取得对应100条未处理的详细付费信息 autopayDetailQry
2. 判断是否付费 OutsidePayImp.isPaymentPOB
3. OutsidePayImp.settleOneTrans 付费
4. xBean.atomPayment 调用原子付费
a. corePayment.atomPOB 被动autopay
I. atomAutoAssignByPay 然后这里面再调用存储过程 PKG_AR_PAYMENT进入销账逻辑。
3 被动autopay数据流向
3.1 首先,导入文件
1. 判断是否导入过该文件
查询表LOG_PASSIVE_AUTOPAY
select * FROM LOG_PASSIVE_AUTOPAY_TABLE
2. 校验文件头尾
select * from INF_HEAD_TAIL
3. 导入文件
select * from INF_PAS_AUTOPAY_ZIP_FILE
4. 通知定时任务
select * from INF_TASK_COMMAND
3.2 其次,解析文件
1. 得到zip file list
select * from INF_PAS_AUTOPAY_ZIP_FILE
2. 把得到的BLOB转换成字符串list
select * from DETAIL_PASSIVE_AUTOPAY_TABLE
3. parseLine 解析行 会传入detailFormat 格式来源于
得到行的类型
select * from PASSIVE_AUTOPAY_FILE_FORMAT where payment_method=7009
得到每一行的详细格式信息
select * from DETAIL_PASSI_AUTO_FILE_FORMAT where payment_method='7009'
4. updateToDB 插入 DETAIL_PASSIVE_AUTOPAY_TABLE
select * from DETAIL_PASSIVE_AUTOPAY_TABLE
3.3 最后,调用定时任务销账
1. 根据autopayno取得对应未处理的详细付费信息 autopayDetailQry
select * from DETAIL_PASSIVE_AUTOPAY_TABLE
2. 判断是否付费 OutsidePayImp.isPaymentPOB
3. 查询对应数据库表为成功的状态
select * from SUCC_TRANS_STATUS where payment_method='7009'
4. xBean.atomPayment 调用原子付费
a. corePayment.atomPOB 被动autopay
I. atomAutoAssignByPay 然后这里面再调用存储过程 PKG_AR_PAYMENT
1. convert.checkReload 查询 LOG_PASSIVE_AUTOPAY 判断是否已经导入过
2. uploadFile 读取文件 形成 list
checkHeadTail 校验文件头尾
3. loadConvertFile
insertZipFile 插入 INF_TRANS_ZIP_FILE
updateZipFile 更新 INF_TRANS_ZIP_FILE
insertTaskInterface 定时任务
2.2 其次,调用Task解BLOB TxnPassiveAutopay.parsePassiveAutopay
1. getZipValueList
2. 分块解析 getZipValueFromDB
3. 把得到的BLOB转换成字符串list, getFormattedBlock , DETAIL_PASSIVE_AUTOPAY_TABLE
4. parseFile 解析文件
5. parseLine 解析行 会传入detailFormat(通过查询DETAIL_PASSI_AUTO_FILE_FORMAT表得到)
6. updateToDB 插入 DETAIL_PASSIVE_AUTOPAY_TABLE
2.3 最后,调用task进行销账 TxnPassiveAutopay.settlePassiveAutopay
1. 根据autopayno取得对应100条未处理的详细付费信息 autopayDetailQry
2. 判断是否付费 OutsidePayImp.isPaymentPOB
3. OutsidePayImp.settleOneTrans 付费
4. xBean.atomPayment 调用原子付费
a. corePayment.atomPOB 被动autopay
I. atomAutoAssignByPay 然后这里面再调用存储过程 PKG_AR_PAYMENT进入销账逻辑。
3 被动autopay数据流向
3.1 首先,导入文件
1. 判断是否导入过该文件
查询表LOG_PASSIVE_AUTOPAY
select * FROM LOG_PASSIVE_AUTOPAY_TABLE
2. 校验文件头尾
select * from INF_HEAD_TAIL
3. 导入文件
select * from INF_PAS_AUTOPAY_ZIP_FILE
4. 通知定时任务
select * from INF_TASK_COMMAND
3.2 其次,解析文件
1. 得到zip file list
select * from INF_PAS_AUTOPAY_ZIP_FILE
2. 把得到的BLOB转换成字符串list
select * from DETAIL_PASSIVE_AUTOPAY_TABLE
3. parseLine 解析行 会传入detailFormat 格式来源于
得到行的类型
select * from PASSIVE_AUTOPAY_FILE_FORMAT where payment_method=7009
得到每一行的详细格式信息
select * from DETAIL_PASSI_AUTO_FILE_FORMAT where payment_method='7009'
4. updateToDB 插入 DETAIL_PASSIVE_AUTOPAY_TABLE
select * from DETAIL_PASSIVE_AUTOPAY_TABLE
3.3 最后,调用定时任务销账
1. 根据autopayno取得对应未处理的详细付费信息 autopayDetailQry
select * from DETAIL_PASSIVE_AUTOPAY_TABLE
2. 判断是否付费 OutsidePayImp.isPaymentPOB
3. 查询对应数据库表为成功的状态
select * from SUCC_TRANS_STATUS where payment_method='7009'
4. xBean.atomPayment 调用原子付费
a. corePayment.atomPOB 被动autopay
I. atomAutoAssignByPay 然后这里面再调用存储过程 PKG_AR_PAYMENT