人社按要求将规范的对账文件按规定上传到指定SFTP,支付宝定时获取对账文件解析并校对差异账,对异常订单进行补偿勾兑;
1. 电脑安装SOAPUI(可以直接在阿里管家下载正版)
2. 确定人社端(或新大龙或ISV)有正常将对账文件上传到SFTP中,且保证对账文件中有数据
第一步、启动SOAPUI,创建SOAP项目
Initial WSDL的值为:http://filebridge-2-1-2.daily.alipay.net:8080/filebridge/fileBridgeService?wsdl
第二步、手动获取对账文件
请求内容:
其中: <fac:ino></fac:ino>为需要推送的文件交换代码,可以查file_exchange_code表中的配置获取(沙箱用的是实体表)
<F name="serial"></F>为请求流水号,可重复请求,为了异常排查日志方便,可以设置唯一
请求成功响应:(需要改成支付的)
其中: <accept></accept>为true表示成功;
第三步、 解析文件,解析文件需要在数据库(idb.alipay.com)和DRM配合操作
◆◆1. 登录idb.alipay.com,进入表file_physics_batch中,文件工厂码查到文件主批次号batch_no,看batch_status的值是否为SUCCESS
SQL语句:SELECT * FROM `file_physics_batch` WHERE file_factory_code = 'JXHRSS89_PAY_PARSE' ORDER BY gmt_create DESC
◆◆2. 进入表file_physics_sub_batch,用主批次查询并获取对应的子批次sub_batch_no的值,并观察sub_batch_status的状态是否为SUCCESS,如果是SUCCESS,省略步骤3(即省略◆◆3)
SQL语句:SELECT * FROM file_physics_sub_batch WHERE batch_no = '2017050900008991' ORDER BY gmt_create DESC
◆◆3. 进入DRM文件工厂处理页面(http://opssla.daily.alipay.net/drm/configAttribute.htm?id=9077 ) ,触发文件子批次解析任务
①》推送值的框里面填写:{"message":{"taskName":"FFP_PARSE_SUB_TASK","referenceNo":"2017050900008997"}} ,其中taskName固定值不修改,referenceNo为file_physics_sub_batch表中获取的子批次sub_batch_no的值
②》推送方式选择:JMX/TR点对点推送(临时修改内存值,不持久化)
③》推送选项里面填filefactory的IP(IP获取方式:进入AQC ,应用名搜索filefactory,会搜到其对应的机器和IP,复制利用即可)
④》点击推送
⑤》进入表file_physics_sub_batch,用主批次查询并观察sub_batch_status的状态是否已经更新为SUCCESS,如果是表示子批次解析成功
SQL语句:SELECT * FROM file_physics_sub_batch WHERE batch_no = '2017050900008991' ORDER BY gmt_create DESC
◆◆4. 进入DRM文件工厂处理页面(点击进入) ,触发文件主批次解析任务
①》推送值的框里面填写:{"message":{"taskName":"FFP_PARSE_ACCEPT_TASK","referenceNo":"2017050900008997"}} ,其中taskName固定值不修改,referenceNo为file_physics_batch表中获取的主批次batch_no的值
②》推送方式选择:JMX/TR点对点推送(临时修改内存值,不持久化)
③》推送选项里面填filefactory的IP(IP获取方式:进入AQC ,应用名搜索filefactory,会搜到其对应的机器和IP,复制利用即可)
④》点击推送
⑤》进入表file_physics_batch,观察batch_status的状态是否已经更新为SUCCESS,如果是表示主批次解析成功
第四步、 差异账勾兑
◆◆1. 获取file_physics_batch表中的out_biz_no,然后进入分表fin_incoming_serial_01_04(其中_01(out_biz_no最后两位)_08(后面为月份减一))获取一笔金融流水号(SETTLE_SERIAL_NO),作为勾兑流水;
SQL语句:select * from fin_incoming_serial_17_04 where batch_no='201705090000000009011117'
◆◆2. 进入分表fin_influx_transaction_00_00_04(其中_00(金融号第4位)_23(金融号最后2位)_03(月份-1)),查到对应交易流水并更新EXCHANGE_STATUS和SETTLE_STATUS的值为UN(原始状态是SU表示成功,UN表示异常)
SQL语句:(搜索)SELECT * FROM fin_influx_transaction_00_00_04 WHERE SETTLE_SERIAL_NO='20170504000008450400'
(更新)UPDATE fin_influx_transaction_00_00_04 SET EXCHANGE_STATUS = 'UN', SETTLE_STATUS = 'UN' WHERE SETTLE_SERIAL_NO='20170504000008450400'
◆◆3. 将本次文件获取记录删除,重新走获取文件和文件解析流程,然后观察之前状态置为异常的交易流水是否被勾兑回来,即EXCHANGE_STATUS和SETTLE_STATUS的状态是否被勾兑回SU
①》根据文件交换代码查询file_serial_controll表中的SERIAL_NO的值
SQL语句:SELECT * FROM `file_serial_controll` WHERE FILE_EXCHANGE_CODE = 'JXHRSS89_RECON_PAY_DOWNLOAD'
②》登录DRM执行废除幂等任务
*推送值:文件交换代码@SERIAL_NO(例如:JXHRSS89_RECON_DBACK_DOWNLOAD@459f14c1e346a03f129caa366ddec299)
*推送方式:配置中心集群推送
*推送选项:全选
③》然后回到第2步和第3步操作,操作成功
④》查看是否勾兑成功:进入分表fin_influx_transaction_00_00_04(其中_00(金融号第4位)_23(金融号最后2位)_03(月份-1)),查看EXCHANGE_STATUS和SETTLE_STATUS的值是否已经勾兑回SU
第一步、启动SOAPUI,创建SOAP项目
Initial WSDL的值为:http://filebridge-2-1-2.daily.alipay.net:8080/filebridge/fileBridgeService?wsdl
第二步、手动获取对账文件
请求内容:
其中:
<fac:ino></fac:ino>为需要推送的文件交换代码,可以查file_exchange_code表中的配置获取(沙箱用的是实体表)
<F name="serial"></F>为请求流水号,可重复请求,为了异常排查日志方便,可以设置唯一
请求成功响应:(需要改成支付的)
其中:
<accept></accept>为true表示成功;
第三步. 解析文件,解析文件需要在数据库(idb.alipay.com)和DRM配合操作
◆◆1. 登录idb.alipay.com,进入表file_physics_batch中,用文件工厂码查到文件主批次号batch_no,看batch_status的值是否为SUCCESS
SQL语句:SELECT * FROM `file_physics_batch` WHERE file_factory_code = 'JXHRSS89_DBACK_PARSE' ORDER BY gmt_create DESC
◆◆2. 进入表file_physics_sub_batch,用主批次查询并获取对应的子批次sub_batch_no的值,并观察sub_batch_status的状态是否为SUCCESS,如果是SUCCESS,省略步骤3(即省略◆◆3)
SQL语句:SELECT * FROM file_physics_sub_batch WHERE batch_no = '2017050900008997' ORDER BY gmt_create DESC
◆◆3. 进入DRM文件工厂处理页面(点击进入 ) ,触发文件子批次解析任务
①》推送值的框里面填写:{"message":{"taskName":"FFP_PARSE_SUB_TASK","referenceNo":"2017050900008997"}} ,其中taskName固定值不修改,referenceNo为file_physics_sub_batch表中获取的子批次sub_batch_no的值
②》推送方式选择:JMX/TR点对点推送(临时修改内存值,不持久化)
③》推送选项里面填filefactory的IP(IP获取方式:进入AQC ,应用名搜索filefactory,会搜到其对应的机器和IP,复制利用即可)
④》点击推送
⑤》进入表file_physics_sub_batch,用主批次查询并观察sub_batch_status的状态是否已经更新为SUCCESS,如果是表示子批次解析成功
SQL语句:SELECT * FROM file_physics_sub_batch WHERE batch_no = '2017050900008997' ORDER BY gmt_create DESC
◆◆4. 进入DRM文件工厂处理页面(点击进入) ,触发文件主批次解析任务
①》推送值的框里面填写:{"message":{"taskName":"FFP_PARSE_ACCEPT_TASK","referenceNo":"2017050900008997"}} ,其中taskName固定值不修改,referenceNo为file_physics_batch表中获取的主批次batch_no的值
②》推送方式选择:JMX/TR点对点推送(临时修改内存值,不持久化)
③》推送选项里面填filefactory的IP(IP获取方式:进入AQC ,应用名搜索filefactory,会搜到其对应的机器和IP,复制利用即可)
④》点击推送
⑤》进入表file_physics_batch,观察batch_status的状态是否已经更新为SUCCESS,如果是表示主批次解析成功
SQL: SELECT * FROM `file_physics_batch` WHERE file_factory_code = 'JXHRSS89_DBACK_PARSE' ORDER BY gmt_create DESC
第四步. 差异账勾兑
◆◆1. 获取file_physics_batch表中的out_biz_no,然后进入分表fin_incoming_serial_01_04(其中_01(out_biz_no最后两位)_08(后面为月份减一))获取一笔金融流水号(SETTLE_SERIAL_NO),作为勾兑流水;
SQL语句:select * from fin_incoming_serial_17_04 where batch_no='201705090000000009011117'
◆◆2. 进入分表fin_outflux_transaction_00_13_04(其中_00(金融号第4位)_13(金融号最后2位)_04(月份-1)),查到对应交易流水并更新EXCHANGE_STATUS和SETTLE_STATUS的值为UN(原始状态是SU表示成功,UN表示异常)
SQL语句:(搜索)SELECT * FROM `fin_outflux_transaction_00_13_04` WHERE SETTLE_SERIAL_NO='20170504000008340413'
(更新)UPDATE fin_outflux_transaction_00_13_04 SET EXCHANGE_STATUS = 'UN', SETTLE_STATUS = 'UN' WHERE SETTLE_SERIAL_NO='20170504000008340413'
◆◆3. 将本次文件获取记录删除,重新走获取文件和文件解析流程,然后观察之前状态置为异常的交易流水是否被勾兑回来,即EXCHANGE_STATUS和SETTLE_STATUS的状态是否被勾兑回SU
①》根据文件交换代码查询file_serial_controll表中的SERIAL_NO的值
SQL语句:SELECT * FROM `file_serial_controll` WHERE FILE_EXCHANGE_CODE = 'JXHRSS89_RECON_DBACK_DOWNLOAD'
②》登录DRM执行废除幂等任务
*推送值:文件交换代码@SERIAL_NO(例如:JXHRSS89_RECON_DBACK_DOWNLOAD@459f14c1e346a03f129caa366ddec299)
*推送方式:配置中心集群推送
*推送选项:全选
③》然后回到第2步和第3步操作,操作成功
④》查看是否勾兑成功:进入分表ffin_outflux_transaction_00_13_04(其中_00(金融号第4位)_13(金融号最后2位)_04(月份-1)),查看EXCHANGE_STATUS和SETTLE_STATUS的值是否已经勾兑回SU