Beispiel #1
0
 /**
  * 查询本电政策和价格(动态本电账号)
  *
  * @param pnr 大编码或者小编码
  * @param bigpnr 1 大编码 0 小编码
  * @param air 航空公司编码 如果是小编码,此项可以为空
  * @param b2bUser b2b用户
  * @param b2bPass b2b密码
  * @return 注:入库后的PNR不能再查询此信息(查询失败:查价格失败,该PNR已经入库!)
  */
 public static AlidzResult queryPriceByPnrex(
     String pnr, int bigpnr, String air, String b2bUser, String b2bPwd) {
   String backInf = "";
   AlidzResult ar = new AlidzResult();
   String httpRequest =
       BASE_HTTP
           + "cmd=querypricebypnrex&pnr="
           + pnr.toUpperCase()
           + "&bigpnr="
           + bigpnr
           + "&air="
           + air.toUpperCase()
           + "&b2buser="******"&b2bPwd="
           + b2bPwd
           + "&fmt=xml";
   backInf = backInf(httpRequest);
   if (backInf.contains("<exception>")) {
     ar.setStatus(0);
     ar.setMessage("查询操作失败:" + subStringXML(backInf, "exception"));
     return ar;
   }
   if (backInf.contains("<errorInfo>")) {
     ar.setStatus(0);
     ar.setMessage("查询失败:" + subStringXML(backInf, "errorInfo"));
   } else {
     ar.setStatus(1);
     ar.setMessage(
         "查询结果:\n"
             + "pnr:"
             + subStringXML(backInf, "pnr")
             + "\n"
             + "票面价:"
             + subStringXML(backInf, "ticketprice")
             + "\n"
             + "所有税费:"
             + subStringXML(backInf, "totaltax")
             + "\n"
             + "返点:"
             + subStringXML(backInf, "policynum")
             + "\n"
             + "支付总价(全部含燃油):"
             + subStringXML(backInf, "payprice"));
   }
   return ar;
 }
Beispiel #2
0
 /**
  * 检测本票通是否在运行
  *
  * @return
  */
 public static AlidzResult isRunning() {
   AlidzResult ar = new AlidzResult();
   String httpRequest = BASE_HTTP + "cmd=checkclt&fmt=xml";
   String backInf = backInf(httpRequest);
   if (backInf.contains("<exception>")) {
     ar.setStatus(0);
     ar.setMessage("本票通未运行:" + subStringXML(backInf, "exception"));
     return ar;
   }
   if (backInf.contains("<Code>1</Code>")) {
     ar.setStatus(1);
     ar.setMessage("本票通正在运行");
   } else {
     ar.setStatus(0);
     ar.setMessage("本票通未运行");
   }
   return ar;
 }
Beispiel #3
0
  /**
   * 自动支付(导入本电系统,针对已经配置好本票通)
   *
   * @param pnr 大编码或者小编码
   * @param bigpnr 1 大编码 0 小编码
   * @param air 航空公司编码
   * @param b2bUser b2b用户
   * @param b2bPwd b2b密码
   * @param srcticketprice 票面价
   * @return
   */
  public static AlidzResult order(
      String pnr, int bigpnr, String air, String b2bUser, String b2bPwd, float srcticketprice) {
    String backInf = "";
    AlidzResult ar = new AlidzResult();
    String httpRequest =
        BASE_HTTP
            + "cmd=order&pnr="
            + pnr.toUpperCase()
            + "&bigpnr="
            + bigpnr
            + "&air="
            + air.toUpperCase()
            + "&b2buser="******"&b2bPwd="
            + b2bPwd
            + "&srcticketprice="
            + srcticketprice
            + "&autopayflag=1";
    backInf = backInf(httpRequest);
    if (backInf.contains("<exception>")) {
      ar.setStatus(0);
      ar.setIsPaySuccess(0);
      ar.setMessage("支付操作失败:" + subStringXML(backInf, "exception"));
      return ar;
    }
    if (backInf.contains("<paystatus>1</paystatus>")) {
      ar.setStatus(1);
      ar.setIsPaySuccess(1);
      ar.setMessage("支付成功,支付金额:" + subStringXML(backInf, "payprice"));

    } else if (backInf.contains("<errorInfo>")) {
      ar.setStatus(0);
      ar.setIsPaySuccess(0);
      ar.setMessage("支付失败:" + subStringXML(backInf, "errorInfo"));

    } else {
      ar.setStatus(0);
      ar.setIsPaySuccess(0);
      ar.setMessage("支付失败");
    }
    return ar;
  }
Beispiel #4
0
 /**
  * 查询本电订单状态
  *
  * @param pnr 大编码或者小编码
  * @param bigpnr 1 大编码 0 小编码
  * @param air 航空公司编码
  * @return
  */
 public static AlidzResult queryorder(String pnr, int bigpnr, String air) {
   String backInf = "";
   AlidzResult ar = new AlidzResult();
   StringBuffer message = new StringBuffer();
   String httpRequest =
       BASE_HTTP
           + "cmd=queryorder&pnr="
           + pnr.toUpperCase()
           + "&bigpnr="
           + bigpnr
           + "&air="
           + air.toUpperCase()
           + "&fmt=xml";
   backInf = backInf(httpRequest);
   if (backInf.contains("<exception>")) {
     ar.setStatus(0);
     ar.setPayStatus(2);
     ar.setMessage("查询操作失败:" + subStringXML(backInf, "exception"));
     //			System.out.println("exception----------");
     return ar;
   }
   if (backInf.contains("<code>1</code>")) {
     message.append("查询成功:\n");
     message.append("订单号:" + subStringXML(backInf, "orderno") + "\n");
     String payStatu = subStringXML(backInf, "paystatus");
     ar.setPayStatus(Integer.parseInt(payStatu));
     if ("1".equals(payStatu)) {
       message.append("支付状态:已支付\n");
     } else if ("0".equals(payStatu)) {
       message.append("支付状态:未支付\n");
     } else {
       message.append("支付状态:查询支付状态出错\n");
     }
     String orderStatu = subStringXML(backInf, "orderstatus");
     ar.setOrderstatus(Integer.parseInt(orderStatu));
     if ("1".equals(orderStatu)) {
       message.append("出票状态:出票成功\n");
     } else if ("0".equals(orderStatu)) {
       message.append("出票状态:未出票\n");
     } else if ("7".equals(orderStatu)) {
       message.append("出票状态:取消入库\n");
     } else if ("9".equals(orderStatu)) {
       message.append("出票状态:其他状态\n");
     } else {
       message.append("出票状态:其他状态\n");
     }
     backInf = subStringXML(backInf, "tickets");
     String[] ticket = backInf.split("</ticket>");
     String passenger = "";
     String tktno = "";
     for (int i = 0; i < ticket.length; i++) {
       passenger = subStringXML(ticket[i], "passenger");
       tktno = subStringXML(ticket[i], "tktno");
       message.append("乘客名:" + passenger + "\n");
       message.append("tktno:" + tktno + "\n");
     }
     ar.setStatus(1);
     ar.setMessage(message.toString());
   } else {
     message.append("查询失败:");
     if (backInf.contains("<errorInfo>")) {
       message.append(subStringXML(backInf, "errorInfo"));
     }
     ar.setStatus(0);
     ar.setPayStatus(2);
     ar.setMessage(message.toString());
     //			System.out.println("失败:支付状态"+ar.getPayStatus());
   }
   return ar;
 }