Beispiel #1
0
  /**
   * 递归获取服务器数据
   *
   * @param responseList
   * @param ncm
   * @param xstream
   * @param request
   * @param pkgcnt
   * @param startnum
   * @return
   */
  public int processTxn(
      List<T100101ResponseRecord> responseList,
      NewCmsManager ncm,
      XStream xstream,
      T100101Request request,
      int pkgcnt,
      int startnum) {

    // 查询 房贷/消费信贷(1/2) 数据
    request.setStdqsjls(String.valueOf(startnum));

    String strXml = "<?xml version=\"1.0\" encoding=\"GBK\"?>" + "\n" + xstream.toXML(request);
    // System.out.println(strXml);

    // 发送请求
    String responseBody = ncm.doPostXml(strXml);

    T100101Response response = (T100101Response) xstream.fromXML(responseBody);

    // 头部总记录数
    String std400acur = response.getStd400acur();
    if (std400acur == null || std400acur == "") {
      std400acur = "0";
    }
    int totalcount = Integer.parseInt(std400acur);

    if (totalcount == 0) {

    } else {
      List<T100101ResponseRecord> tmpList = response.getBody().getContent();

      int currCnt = tmpList.size();
      logger.info(currCnt);
      logger.info("totalcount:" + totalcount + " currCnt:" + currCnt + " startnum:" + startnum);

      // 打包到返回list中
      for (T100101ResponseRecord record : tmpList) {
        responseList.add(record);
      }

      // 一个包不可以处理完
      if (totalcount > pkgcnt) {
        startnum += pkgcnt;
        if (startnum <= totalcount) {
          processTxn(responseList, ncm, xstream, request, pkgcnt, startnum);
        }
      }
    }

    // uploadCutpayResultBatch(response.getBody().getContent());
    return totalcount;
  }