事件背景:
一批订单数据出现异常,需要手动核实处理。
调用第三方支付接口,需要订单ID,这个ID在业务数据库,调取第三方支付接口是另一个服务,通过业务系统导一份异常数据到EXCELL里面,现在问题来了,需要将这些订单一个个通过接口查询支付状态。(数据库不在我们这边,我们只能拿数据,)
要是订单少可以手动跑main方法,但是数据量大些,即使几百条,也要点好几百次。
所以要通过程序解决此问题。
黄色为订单号,只需要通过这些数据去查询接口即可。
处理方法:
将订单号复制出来写成配置文件或者文本的形式放到项目里面,通过JAVA读取此文件
Properties props=new Properties();//使用Properties类来加载属性文件
FileInputStream iFile = new FileInputStream(paramFile);
props.load(iFile);
文件样子如下:
此方法读取资源文件的时候,是以KEY VALUE 形式读取,现在相当于只有KEY没有VALUE,要是如下格式,可以通过get(key)的方式获取到VALUE。
name=test(name为KEY,test 是VALUE值)。
现在我们只需要获取KEY就行,可以通过迭代器拿到,如下:
Iterator<String> iterator = props.stringPropertyNames().iterator();
while (iterator.hasNext()){
String key = iterator.next();
//System.out.println(key+":"+props.getProperty(key));
}
这样就获取了KEY,然后通过循环就可以遍历拿到所有KEY,依次通过MAIN方法获取。
几百条数据可以这样做,上千条数据,如何操作,可以建一张一模一样的临时表,通过数据源查询此表,获取到订单号去遍历查询。