渠道对账流程图
2023-10-08 20:02:12 2 举报
渠道对账功能点
作者其他创作
大纲/内容
加入verifyResultBOList
渠道多差异处理
注释:查询表T_VERIFY_FILE_INFO
归档处理(doVerifyArchive)
将已有归档信息置为失效
是
根据柜台号和对账日期查询t_verify_result
过滤非成功交易
统计后的数据加入该tVerifyArchiveResultBOList
注释:实收:每笔实时计算按照每天打款后收:每笔实时计算,按照约定时间打款
判断文件是否已经处理
先比对两边的差异记录(日切时间导致的差异),再用剩余的差异记录到表里面查询(间隔时间较长的差异处理)
无流水下发柜台关系是否为空
注释:查询表T_VERIFY_ARCHIVE_RESULT
doFileParse(进入指定模板解析类
获取counterlist
结束
是否归档
落表t_verify_channel_clear
异步流程
对账对平
注释:对账来源对账差异:长款(不会造成资损): 业务场景:订单成功,银行不给我钱(遭到用户投诉,冻结,不会造成资损是因为银行部不给我钱,我也不给商户)短款 (会造成资损): 业务场景:收单情况下:通道失败,我们成功(我们结算给商户,但是银行没结算给我们) 代付则相反我们处理中,通道成功或失败,资金不会产生影响,对账产生差异后:1.手动改订单 2.补单查询,系统改(推荐使用)
柜台号是否为空
数据
否
功能点2图2:渠道对账重跑/删除流程注意重跑之前必须修改文件状态
注释:doFileParse(进入指定模板解析类)
注释:数据来自该表T_VERIFY_RESULT
银行多差异对象
差异处理 dealResult();过程
拼接银行流水进行数据比对(key:退款标识|请求流水|交易金额)
落表T_VERIFY_BANK_DIFF
子线程
下载渠道对账文件号后上传dfs
数据比对(见上图)
注释:银行流水数据allAcquiringBaseBankBOList来源于渠道文件解析
对账流程(见图1:渠道对账总览流程)
对平的数据落实时数仓
对有流水对账结果按照机构号、柜台号、对账日期汇总处理
开始
拼接请求流水进行数据比对(key:退款标识|请求流水|交易金额TradeAmt)
查询所有WF_PROCESS状态的ChannelDiff数据信息
加入resultMap(value设置channelId,渠道交易差异id,银行交易差异id)
判断是否归档
抛出异常
银行多差异对象(对bankMoreMap处理)
计算应收金额实收:应收=成功金额+退款金额-代付金额-渠道手续费后收:应收=成功金额+退款金额-代付
加入channelMoreMap
落表T_VERIFY_BANK_TRANS
查询所有WF_PROCESS状态的BankDiff数据信息
注释:渠道流水数据,来自该表t_verify_channel_trans
线程中断隐患(统计过程出现异常)
图1-4 归档
verify-center渠道对账中心通过定时任务开始对账文件下载(定时任务请求参数fi【文件类型】_2000011【柜台号】_20230916【对账日期】)
插入柜台清分数据到t_verify_channel_clear中
文件状态更新为处理完成
银行数据
生成bankCompareKeyMap
下载文件
文件解析(详细见下方图1-1:文件解析)
XxlJobTask:NoticeVerifyFileDownTask:verifyFileDownJobHandler
删除重跑都为手都触发,故不添加告警(失败返回具体原因)
文件信息入库
channelTransMap.get(entry.getKey())是否为null
功能点2图1: 渠道对账总览流程
加入verifyBankDiffBOList
银行驱动渠道 获取银行多的交易bankTransMap.entrySet()循环比对
文件导入大数据
判断是否时重跑标识
请求router交易系统查询该柜台号关联柜台信息
滚动对账处理(dealRollVerify)
获取柜台文件解析配置关系(柜台对应解析文件配置)
渠道数据比对key获取
请求外部渠道如宝付下载渠道对账文件
删除大数据对平结果信息
滚动对账处理(详细见下方图1-3滚动对账处理流程)
加入verifyChannelDiffBOList
此处触发关键词告警:资源池: hsq-pay 项目: hsq-verify 关键字: StarrocksProcess.insertStarrocks 实时数仓导入文件 error
看是否需要改为使用线程池
数据比对(详细见下方图1-2数据比对流程图)
图1-2 数据比对
将新的归档数据加入t_verify_archive_result表中
如果之前有该柜台的清分数据则删除
根据商户柜台获取系统柜台
实时数仓文件导入
内容解析得到acquiringBaseBankBOList
渠道驱动银行 获取渠道多的交易channelTransMap.entrySet()循环比对
对账结果处理(对resultMap处理)
根据柜台号和对账日期查询T_VERIFY_BANK_DIFF
归档(详细见下方图1-4 归档归档流程)
给对账参数设置值
文件解析失败
请求router交易系统查询该柜台号配置信息
落表T_VERIFY_ARCHIVE_RESULT
bankTransMap.get(entry.getKey())是否为null
没有传日期默认拉取前一天的
tradecenter交易系统调用bank渠道系统下载对账文件
查询渠道交易数据(查询参数为对账日期【开始时间为对账日期,结束日期为对账日期+1这个条件没有用到】,以及传入柜台号list)
生成/导入失败
异步线程处理
统计的数据都加入到listAll
注释:调路由系统查询柜台信息(超时时间30s)
对柜台类型为PAY的统计金额进行取反
请求tradecenter交易系统
注释:文件解析异常则文件状态更新为失败
落表T_VERIFY_RESULT
verify对账文件中心系统接收到渠道文件下载消息开始按照图1进行渠道对账
渠道多差异对象(对channelMoreMap处理)
注释:数据来自该表T_VERIFY_TRANSFER_DIFF_RESULT(没看到从哪里添加数据)
注释:新增文件信息到表T_VERIFY_FILE_INFO注意:oms重新上传渠道对账文件必须名字以fi/fo开头,需要截取该字段设置文件类型(后需要根据该字段+柜台号删除数据,以及查询系统交易数据)
注释:doParseFilefont color=\"#323232\
更新t_verify_bank_diff,t_verify_channel_diff的数据状态
银行流水号是否为空
将t_verify_archive_result表中已有数据进行失效处理
落表t_verify_channel_info
注释:清分报表处理流程(清分报表产生不会对实际归档数据产生影响,独立业务处理)
对平的数据落库
拼接请求流水进行数据比对(key:退款标识|请求流水|交易金额BankTransAmt)[我们目前都用渠道请求流水比对]
统计清分数据(渠道成本报表)
无流水对账结果按照柜台号、对账日期汇总处理
数据比对doCompare()过程
注意:isSuccessTradeFlag()过滤非成功的交易时也要过滤TT开头的订单,避免测试数据进入对账
图1-3 滚动对账处理
文件状态更新为失败
删除银行交易信息、系统差异信息、银行差异信息、对平结果信息
注释:仅删除数据
开启线程处理,创建清分数据(createChannelClear)
文件解析处理
生成channelCompareKeyMap
落表T_VERIFY_CHANNEL_DIFF
文件状态更新为处理中
银行流水数据比对Map生成过程
图1-1 文件解析
发送kafka
加入bankMoreMap
xxl-job触发
功能点1:图0:对账文件处理各系统交互图:
根据柜台号获取无流水下发柜台关系
删除失败
生成excel文件
0 条评论
下一页