@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"); } }
/** * 网银报文返回处理 * * @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"); } }