⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 valuelinkservices.java

📁 国外的一套开源CRM
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
            response = vl.send(request);
        } catch(HttpClientException e) {
            Debug.logError(e, "Problem communicating with VL");
            return ServiceUtil.returnError("Unable to link gift card(s)");
        }

        if (response != null) {
            String responseCode = (String) response.get("responsecode");
            Map result = ServiceUtil.returnSuccess("Activation of physical card complete.");
            if (responseCode.equals("00")) {

                result.put("processResult", new Boolean(true));
            } else {
                result.put("processResult", new Boolean(false));
            }
            result.put("responseCode", responseCode);
            result.put("authCode", response.get("authcode"));
            result.put("amount", vl.getAmount((String) response.get("newbal")));
            result.put("expireDate", response.get("expiredate"));
            result.put("cardClass", response.get("cardclass"));
            result.put("referenceNum", response.get("traceno"));
            Debug.log("Link Result : " + result, module);
            return result;
        } else {
            return ServiceUtil.returnError("Empty response returned from ValueLink");
        }
    }

    public static Map disablePin(DispatchContext dctx, Map context) {
        GenericDelegator delegator = dctx.getDelegator();
        Properties props = getProperties(context);
        String cardNumber = (String) context.get("cardNumber");
        String pin = (String) context.get("pin");
        String orderId = (String) context.get("orderId");
        String partyId = (String) context.get("partyId");
        Double amount = (Double) context.get("amount");

        // get an api instance
        ValueLinkApi vl = ValueLinkApi.getInstance(delegator, props);
        Map request = vl.getInitialRequestMap(context);
        request.put("Interface", "Disable");
        request.put("CardNo", cardNumber);
        request.put("PIN", vl.encryptPin(pin));
        request.put("Amount", vl.getAmount(amount));

        // user defined field #1
        if (orderId != null && orderId.length() > 0) {
            request.put("User1", orderId);
        }

        // user defined field #2
        if (partyId != null && partyId.length() > 0) {
            request.put("User2", partyId);
        }

        // send the request
        Map response = null;
        try {
            response = vl.send(request);
        } catch(HttpClientException e) {
            Debug.logError(e, "Problem communicating with VL");
            return ServiceUtil.returnError("Unable to call disble pin");
        }

        if (response != null) {
            String responseCode = (String) response.get("responsecode");
            Map result = ServiceUtil.returnSuccess("PIN disabled.");
            if (responseCode.equals("00")) {
                result.put("processResult", new Boolean(true));
            } else {
                result.put("processResult", new Boolean(false));
            }
            result.put("responseCode", responseCode);
            result.put("balance", vl.getAmount((String) response.get("currbal")));
            result.put("expireDate", response.get("expiredate"));
            result.put("cardClass", response.get("cardclass"));
            result.put("referenceNum", response.get("traceno"));
            Debug.log("Disable Result : " + result, module);
            return result;
        } else {
            return ServiceUtil.returnError("Empty response returned from ValueLink");
        }
    }

    public static Map redeem(DispatchContext dctx, Map context) {
        GenericDelegator delegator = dctx.getDelegator();
        Properties props = getProperties(context);
        String cardNumber = (String) context.get("cardNumber");
        String pin = (String) context.get("pin");
        String currency = (String) context.get("currency");
        String orderId = (String) context.get("orderId");
        String partyId = (String) context.get("partyId");
        Double amount = (Double) context.get("amount");

        // override interface for void/rollback
        String iFace = (String) context.get("Interface");

        // get an api instance
        ValueLinkApi vl = ValueLinkApi.getInstance(delegator, props);
        Map request = vl.getInitialRequestMap(context);
        request.put("Interface", iFace != null ? iFace : "Redeem");
        request.put("CardNo", cardNumber);
        request.put("PIN", vl.encryptPin(pin));
        request.put("Amount", vl.getAmount(amount));
        request.put("LocalCurr", vl.getCurrency(currency));

        // user defined field #1
        if (orderId != null && orderId.length() > 0) {
            request.put("User1", orderId);
        }

        // user defined field #2
        if (partyId != null && partyId.length() > 0) {
            request.put("User2", partyId);
        }

        // set the timeout reversal
        setTimeoutReversal(dctx, context, request);

        // send the request
        Map response = null;
        try {
            response = vl.send(request);
        } catch(HttpClientException e) {
            Debug.logError(e, "Problem communicating with VL");
            return ServiceUtil.returnError("Unable to redeem gift card");
        }

        if (response != null) {
            String responseCode = (String) response.get("responsecode");
            Map result = ServiceUtil.returnSuccess();
            if (responseCode.equals("00")) {
                result.put("processResult", new Boolean(true));
            } else {
                result.put("processResult", new Boolean(false));
            }
            result.put("responseCode", responseCode);
            result.put("authCode", response.get("authcode"));
            result.put("previousAmount", vl.getAmount((String) response.get("prevbal")));
            result.put("amount", vl.getAmount((String) response.get("newbal")));
            result.put("expireDate", response.get("expiredate"));
            result.put("cardClass", response.get("cardclass"));
            result.put("cashBack", vl.getAmount((String) response.get("cashback")));
            result.put("referenceNum", response.get("traceno"));
            Debug.log("Redeem Result : " + result, module);
            return result;
        } else {
            return ServiceUtil.returnError("Empty response returned from ValueLink");
        }
    }

    public static Map reload(DispatchContext dctx, Map context) {
        GenericDelegator delegator = dctx.getDelegator();
        Properties props = getProperties(context);
        String cardNumber = (String) context.get("cardNumber");
        String pin = (String) context.get("pin");
        String currency = (String) context.get("currency");
        String orderId = (String) context.get("orderId");
        String partyId = (String) context.get("partyId");
        Double amount = (Double) context.get("amount");

        // override interface for void/rollback
        String iFace = (String) context.get("Interface");

        // get an api instance
        ValueLinkApi vl = ValueLinkApi.getInstance(delegator, props);
        Map request = vl.getInitialRequestMap(context);
        request.put("Interface", iFace != null ? iFace : "Reload");
        request.put("CardNo", cardNumber);
        request.put("PIN", vl.encryptPin(pin));
        request.put("Amount", vl.getAmount(amount));
        request.put("LocalCurr", vl.getCurrency(currency));

        // user defined field #1
        if (orderId != null && orderId.length() > 0) {
            request.put("User1", orderId);
        }

        // user defined field #2
        if (partyId != null && partyId.length() > 0) {
            request.put("User2", partyId);
        }

        // set the timeout reversal
        setTimeoutReversal(dctx, context, request);

        // send the request
        Map response = null;
        try {
            response = vl.send(request);
        } catch(HttpClientException e) {
            Debug.logError(e, "Problem communicating with VL");
            return ServiceUtil.returnError("Unable to reload gift card");
        }

        if (response != null) {
            String responseCode = (String) response.get("responsecode");
            Map result = ServiceUtil.returnSuccess();
            if (responseCode.equals("00")) {
                result.put("processResult", new Boolean(true));
            } else {
                result.put("processResult", new Boolean(false));
            }
            result.put("responseCode", responseCode);
            result.put("authCode", response.get("authcode"));
            result.put("previousAmount", vl.getAmount((String) response.get("prevbal")));
            result.put("amount", vl.getAmount((String) response.get("newbal")));
            result.put("expireDate", response.get("expiredate"));
            result.put("cardClass", response.get("cardclass"));
            result.put("referenceNum", response.get("traceno"));
            Debug.log("Reload Result : " + result, module);
            return result;
        } else {
            return ServiceUtil.returnError("Empty response returned from ValueLink");
        }
    }

    public static Map balanceInquire(DispatchContext dctx, Map context) {
        GenericDelegator delegator = dctx.getDelegator();
        Properties props = getProperties(context);
        String cardNumber = (String) context.get("cardNumber");
        String pin = (String) context.get("pin");
        String currency = (String) context.get("currency");
        String orderId = (String) context.get("orderId");
        String partyId = (String) context.get("partyId");

        // get an api instance
        ValueLinkApi vl = ValueLinkApi.getInstance(delegator, props);
        Map request = vl.getInitialRequestMap(context);
        request.put("Interface", "Balance");
        request.put("CardNo", cardNumber);
        request.put("PIN", vl.encryptPin(pin));
        request.put("LocalCurr", vl.getCurrency(currency));

        // user defined field #1
        if (orderId != null && orderId.length() > 0) {
            request.put("User1", orderId);
        }

        // user defined field #2
        if (partyId != null && partyId.length() > 0) {
            request.put("User2", partyId);
        }

        // send the request
        Map response = null;
        try {
            response = vl.send(request);
        } catch(HttpClientException e) {
            Debug.logError(e, "Problem communicating with VL");
            return ServiceUtil.returnError("Unable to call balance inquire");
        }

        if (response != null) {
            String responseCode = (String) response.get("responsecode");
            Map result = ServiceUtil.returnSuccess();
            if (responseCode.equals("00")) {
                result.put("processResult", new Boolean(true));
            } else {
                result.put("processResult", new Boolean(false));
            }
            result.put("responseCode", responseCode);
            result.put("balance", vl.getAmount((String) response.get("currbal")));
            result.put("expireDate", response.get("expiredate"));
            result.put("cardClass", response.get("cardclass"));
            result.put("referenceNum", response.get("traceno"));
            Debug.log("Balance Result : " + result, module);
            return result;
        } else {
            return ServiceUtil.returnError("Empty response returned from ValueLink");
        }
    }

    public static Map transactionHistory(DispatchContext dctx, Map context) {
        GenericDelegator delegator = dctx.getDelegator();
        Properties props = getProperties(context);
        String cardNumber = (String) context.get("cardNumber");
        String pin = (String) context.get("pin");
        String orderId = (String) context.get("orderId");
        String partyId = (String) context.get("partyId");

        // get an api instance
        ValueLinkApi vl = ValueLinkApi.getInstance(delegator, props);
        Map request = vl.getInitialRequestMap(context);
        request.put("Interface", "History");
        request.put("CardNo", cardNumber);
        request.put("PIN", vl.encryptPin(pin));

        // user defined field #1

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -