@Override
  protected void doTransport(Context context) throws Exception {

    String resFlag = context.getData(ItmFields.RESFLAG);
    // 根据返回码设置返回终端的参数
    if (ItmConstants.RESFLAG_SUCCESS.equals(resFlag)) {
      signState(context);
      context.setState("Y");
    } else if (ItmConstants.RESFLAG_ERROR.equals(resFlag)) {
      context.setState("N");
    }
  }
示例#2
0
 /**
  * 网银报文返回处理
  *
  * @param ctx
  */
 @SuppressWarnings("unchecked")
 private void responseHandler(Context ctx) {
   // MF1646系统正在日切,跑批 MF1647
   // 网银返回处理
   if (ItmConstants.RESFLAG_SUCCESS.equals(ctx.getData(ItmFields.RESFLAG))) {
     logger.info(" ------------------------ response success ----------------------");
     Map<String, Object> ecupResponse = ctx.getData("ecupResponse");
     if (ecupResponse != null) {
       String ServiceId = ecupResponse.get("ServiceId").toString();
       if ("ECUPTR0722".equals(ServiceId)) {
         ctx.setData("inqRecCnt", ecupResponse.get("InqRecCnt"));
         ctx.setData("endFlag", ecupResponse.get("EndFlg"));
         // 查询记录条数
         if (Integer.valueOf((String) ecupResponse.get("InqRecCnt")) < 1) {
           ctx.setData("signFlag", "no");
           // 没有签约协议,查询帐户余额
           ctx.setState("Y");
         } else {
           if (ecupResponse.get("result") != null) {
             List<Map<String, String>> signInfoList = new ArrayList<Map<String, String>>();
             signInfoList = (ArrayList<Map<String, String>>) ecupResponse.get("result");
             if (signInfoList.size() > 0) {
               // 查询结果列表
               ctx.setData("signInfoList", ecupResponse.get("result"));
               ctx.setData("signFlag", "yes");
               ctx.setState("N");
             } else {
               ctx.setData("signFlag", "no");
               ctx.setState("Y");
             }
           } else {
             ctx.setData("signFlag", "no");
             ctx.setState("Y");
           }
         }
       } else if ("ECUPTR0721".equals(ServiceId)) { // 双利签约解约
         ctx.setData("protocolNo1", ecupResponse.get("AgrNo"));
         ctx.setData("cardNo1", ecupResponse.get("TfoCusAc"));
         ctx.setDataMap(ecupResponse);
         ctx.setState("Y");
       } else if ("ECUPIV0703".equals(ServiceId)) {
         ctx.setData("corpus", ecupResponse.get("AcBal")); // 本金
         ctx.setData("interest", ecupResponse.get("PybIntAmt")); // 利息
         ctx.setData("interestTax", ecupResponse.get("IntTax")); // 利息税
         ctx.setData("charge", ecupResponse.get("Hfe")); // 手续费
         ctx.setData("amt", ecupResponse.get("NacAmt")); // 交易金额
         ctx.setData("totAmt", ecupResponse.get("TotAmt")); // 总金额
         // ctx.setData("storeSumBlc",getStoreSumBlc();//卡余额
         // ggcardNo,ggcurrency,ggserialNo为国光提供
         ctx.setData("ggcardNo", ctx.getData("cardNo"));
         ctx.setData("ggcurrency", "CNY");
         ctx.setData("ggserialNo", ctx.getData("serialNo"));
         ctx.setState("Y");
       } else if ("ECUPIV0704".equals(ServiceId)) {
         ctx.setData("corpus", ecupResponse.get("Bal")); // 本金
         ctx.setData("interest", ecupResponse.get("PybIntAmt")); // 利息
         ctx.setData("interestTax", ecupResponse.get("IntTax")); // 利息税
         ctx.setData("charge", ecupResponse.get("Hfe")); // 手续费
         ctx.setData("amt", ecupResponse.get("TxnAmt")); // 交易金额
         ctx.setData("totAmt", ecupResponse.get("NacPrcIntTot")); // 销户本息合计
         // ctx.setData("storeSumBlc",getStoreSumBlc());//卡余额
         // ggcardNo,ggcurrency,ggserialNo为国光提供
         ctx.setData("ggcardNo", ctx.getData("cardNo"));
         ctx.setData("ggcurrency", "CNY");
         ctx.setData("ggserialNo", ctx.getData("serialNo"));
         ctx.setState("Y");
       }
     }
     ctx.setData(ItmFields.RESFLAG, ItmConstants.RESFLAG_SUCCESS);
     ctx.setData(ItmFields.RESCODE, ctx.getData(ItmFields.RESCODE));
   } else if (ItmConstants.RESFLAG_ERROR.equals(ctx.getData(ItmFields.RESFLAG))) {
     logger.info(" ------------------------ response error ----------------------");
     ctx.setData(ItmFields.RESFLAG, ItmConstants.RESFLAG_ERROR);
     ctx.setData(ItmFields.RESCODE, ctx.getData(ItmFields.RESCODE));
     ctx.setState("N");
   } else {
     logger.error("APPLY TO BankQueryAction OTHER EXCEPTION");
     ctx.setState("N");
   }
 }