之前上线的fromCity和toCity,获取逻辑有误。
唯一能确定的是toCity,快递单只有两种情况
1:公司给供应商发货,而供应商的地址信息在SAP中维护,他们的地址就是toCity。
2:供应商给公司发货,那么公司的地址就是toCity。
因此在调用查询快递明细接口之前,要先确定fromCity,该值可以从推送报文的routeInfo
中获取,
routeInfo
必须在设置resultv2 = 6
时才会出现。
在account.properties
配置如下:
获取出发城市代码:
// 从回传报文中获取出发城市
private String getFromCity(String param) {
try {
JsonObject jsonObject = JsonParser.parseString(param).getAsJsonObject().getAsJsonObject("lastResult").getAsJsonObject("routeInfo").getAsJsonObject("from");
String fromCity = jsonObject.get("name").getAsString();
return fromCity.replace(",","");
} catch (Exception e) {
return null;
}
// return StringUtils.isNotEmpty(fromCity) ? fromCity.replace(",","") : null;
}