예제 #1
0
  @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
 private void handleSuccessCase(Context ctx, List<Map<String, Object>> list) {
   ctx.setData("queryTp", "0");
   if (ItmConstants.RESFLAG_SUCCESS.equals(ctx.getData(ItmFields.RESFLAG))) {
     if (list != null) {
       // 设置返回码
       ctx.setData("accList", list);
       ctx.setData(ItmFields.RESFLAG, ItmConstants.RESFLAG_SUCCESS);
       ctx.setData(ItmFields.RESCODE, ctx.getData(ItmFields.RESCODE));
       ctx.setState("Y");
     }
   } else {
     ctx.setData(ItmFields.RESFLAG, ItmConstants.RESFLAG_ERROR);
     ctx.setData(ItmFields.RESCODE, ctx.getData(ItmFields.RESCODE));
     ctx.setState("N");
   }
 }
예제 #3
0
  /**
   * 重复发送交易
   *
   * @param ctx
   */
  @SuppressWarnings("unchecked")
  private void multiSubmit(Context ctx, List<Map<String, Object>> list) {
    esbpEcupSender.sendAndReceive(ctx);
    if (ItmConstants.RESFLAG_SUCCESS.equals(ctx.getData(ItmFields.RESFLAG))) {
      Map<String, Object> ecupResponse = (Map<String, Object>) ctx.getData(ItmFields.ECUPRESPONSE);
      ArrayList<Map<String, Object>> result = new ArrayList<Map<String, Object>>();
      int count = 0;
      if (("ECUPQY0067").equals(ecupResponse.get("ServiceId").toString())) {
        result = (ArrayList<Map<String, Object>>) ecupResponse.get("CardInfResult");
        count = Integer.parseInt((String) ecupResponse.get("AccCount"));
        for (int i = 0; i < count; i++) {
          Map<String, Object> map = result.get(i);
          Map<String, Object> data = new HashMap<String, Object>();
          data.put("accCstNo", map.get("TallyAccNo"));
          data.put("serialNo", map.get("AccSerial")); // 小序号
          data.put("corpus", map.get("AvaBal")); // 账户可用余额
          data.put("openAccDate", map.get("CreateDate")); // 开户日期
          data.put("startDate", map.get("IntstBeginDate")); // 起息日期
          data.put("currType", map.get("CurrTyp")); // 币种
          data.put("depositTerm", map.get("DepPer")); // 通知类型
          /*data.put("interest", map.get(""));//利息
          					data.put("interestTax", map.get(""));//利息税
          					data.put("corpusIntrsTotSum", map.get(""));//
          */
          // data.put("storeSumBlc", map.get("AvaBal"));////账户可用余额
          list.add(data);
        }

        if ("0".equals(ecupResponse.get("EndFlg")) && count == 10) {
          ctx.setData("OSEAccSerial", ecupResponse.get("OSEAccSerial"));
          ctx.setData("EndFlg", ecupResponse.get("EndFlg"));
          multiSubmit(ctx, list);
        }
      }
    }
  }
예제 #4
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");
   }
 }