public void getRefund(Connection conn) throws Exception { String resultText = ""; for (int k = 0; k < 5; ) { try { // 获取到退货订单号 String apiMethod = "suning.custom.batchrejectedOrd.query"; HashMap<String, String> reqMap = new HashMap<String, String>(); reqMap.put( "startTime", Formatter.format( new Date(System.currentTimeMillis() - daymillis), Formatter.DATE_TIME_FORMAT)); reqMap.put("endTime", Formatter.format(new Date(), Formatter.DATE_TIME_FORMAT)); HashMap<String, String> map = new HashMap<String, String>(); map.put("appSecret", Params.appsecret); map.put("appMethod", apiMethod); map.put("format", Params.format); map.put("versionNo", "v1.2"); map.put("appKey", Params.appKey); // 发送请求 String responseText = CommHelper.doRequest(map, Params.url); Log.info("退换货数据: " + responseText); // 把返回的数据转成json对象 JSONObject responseObj = new JSONObject(responseText).getJSONObject("sn_responseContent"); // 错误对象 if (responseText.indexOf("sn_error") != -1) { // 发生错误 String operCode = responseObj.getJSONObject("sn_error").getString("error_code"); if (!"".equals(operCode)) { Log.error("苏宁获取退货订单", "获取退货订单失败,operCode:" + operCode); } return; } JSONArray ReturnCodeList = responseObj.getJSONObject("sn_body").getJSONArray("batchQueryRejectedOrd"); for (int i = 0; i < ReturnCodeList.length(); i++) { try { String orderCode = ReturnCodeList.getJSONObject(i).getString("orderCode"); Order o = new Order(); OrderUtils.createRefundOrder( "生成苏宁退换货接口订单", conn, Params.tradecontactid, o, Params.url, Params.appKey, Params.appsecret, Params.format); } catch (Exception ex) { if (conn != null && !conn.getAutoCommit()) { conn.rollback(); } Log.error(jobName, ex.getMessage()); continue; } } break; } catch (Exception e) { if (++k >= 5) throw e; if (conn != null && !conn.getAutoCommit()) { conn.rollback(); } Log.warn(jobName + " ,远程连接失败[" + k + "], 10秒后自动重试. " + Log.getErrorMessage(e)); Thread.sleep(10000L); } } }