From ce05cb30f1e47a9a083425e8378c7c69720972c0 Mon Sep 17 00:00:00 2001 From: Todking Date: Fri, 24 Sep 2021 19:23:33 +0800 Subject: [PATCH] =?UTF-8?q?fix=20aps=E8=B0=83=E6=95=B4=E4=B8=BA=E4=B8=A4?= =?UTF-8?q?=E4=B8=AA=E6=B8=A0=E9=81=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impls/CityPartnerPrizeServiceImpl.java | 116 ++- .../core/impls/ClientManagerImpl.java | 18 +- .../manage/organizations/beans/OrgInfo.java | 80 +- .../organizations/templates/org_detail.html | 885 +++++++++++------- .../templates/org_detail_parent.html | 670 ++++++++++--- .../static/payment/partner/partner-manage.js | 28 +- .../templates/partner_bankaccounts.html | 194 ++-- .../partner_new_alipay_aps_rate.html | 75 +- .../partner_new_card_payment_rate.html | 2 +- .../templates/partner_payment_info.html | 13 +- 10 files changed, 1463 insertions(+), 618 deletions(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/citypartner/core/impls/CityPartnerPrizeServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/citypartner/core/impls/CityPartnerPrizeServiceImpl.java index ebbd06d7c..927d325f6 100644 --- a/src/main/java/au/com/royalpay/payment/manage/citypartner/core/impls/CityPartnerPrizeServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/citypartner/core/impls/CityPartnerPrizeServiceImpl.java @@ -1,5 +1,7 @@ package au.com.royalpay.payment.manage.citypartner.core.impls; +import au.com.royalpay.payment.channels.alipay.config.AlipayConfig; +import au.com.royalpay.payment.channels.alipay.runtime.alipayplus.AlipayPlusRuleManager; import au.com.royalpay.payment.manage.citypartner.beans.AgentCommissionAnalysis; import au.com.royalpay.payment.manage.citypartner.beans.CityPartnerCommissionAnalysis; import au.com.royalpay.payment.manage.citypartner.beans.ReferrerCommissionAnalysis; @@ -8,6 +10,8 @@ import au.com.royalpay.payment.manage.mappers.financial.*; import au.com.royalpay.payment.manage.mappers.payment.TransactionMapper; import au.com.royalpay.payment.manage.mappers.system.OrgMapper; import au.com.royalpay.payment.tools.CommonConsts; +import au.com.royalpay.payment.tools.defines.PayChannel; +import au.com.royalpay.payment.tools.defines.TradeType; import au.com.royalpay.payment.tools.env.SysConfigManager; import au.com.royalpay.payment.tools.exceptions.BadRequestException; import au.com.royalpay.payment.tools.exceptions.ServerErrorException; @@ -357,6 +361,11 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService { BigDecimal wechatChargeRate = new BigDecimal("0.6"); BigDecimal jdChargeRate = new BigDecimal("0.9"); BigDecimal alipayonlineChargeRate = new BigDecimal("0.6"); + BigDecimal retailInterchangeChargeRate = new BigDecimal("0.5"); + BigDecimal retailServiceChargeRate = new BigDecimal("0.5"); + BigDecimal onlineInterchangeChargeRate = new BigDecimal("0.5"); + BigDecimal onlineServiceChargeRate = new BigDecimal("0.5"); + if (sysConfig.getBigDecimal("Alipay_charge_rate") != null) { alipayChargeRate = sysConfig.getBigDecimal("Alipay_charge_rate"); } @@ -369,11 +378,28 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService { if (sysConfig.getBigDecimal("alipayonline_charge_rate") != null) { alipayonlineChargeRate = sysConfig.getBigDecimal("alipayonline_charge_rate"); } + if (sysConfig.getBigDecimal("retail_interchange_charge_rate") != null) { + retailInterchangeChargeRate = sysConfig.getBigDecimal("retail_interchange_charge_rate"); + } + if (sysConfig.getBigDecimal("retail_service_charge_rate") != null) { + retailServiceChargeRate = sysConfig.getBigDecimal("retail_service_charge_rate"); + } + if (sysConfig.getBigDecimal("online_interchange_charge_rate") != null) { + onlineInterchangeChargeRate = sysConfig.getBigDecimal("online_interchange_charge_rate"); + } + if (sysConfig.getBigDecimal("online_service_charge_rate") != null) { + onlineServiceChargeRate = sysConfig.getBigDecimal("online_service_charge_rate"); + } + JSONObject channelCharge = new JSONObject(); channelCharge.put("alipayChargeRate", alipayChargeRate); channelCharge.put("wechatChargeRate", wechatChargeRate); channelCharge.put("jdChargeRate", jdChargeRate); channelCharge.put("alipayonlineChargeRate", alipayonlineChargeRate); + channelCharge.put("retailInterchangeChargeRate", retailInterchangeChargeRate); + channelCharge.put("retailServiceChargeRate", retailServiceChargeRate); + channelCharge.put("onlineInterchangeChargeRate", onlineInterchangeChargeRate); + channelCharge.put("onlineServiceChargeRate", onlineServiceChargeRate); List transactionDetail = transactionMapper.listTransactionForCityPartnerCommissionByDate(year, month); transactionDetail.forEach(item -> { @@ -451,13 +477,28 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService { if (orgInfo.get("alipayonlinecn_rate_value") == null) { throw new ServerErrorException(orgInfo.getString("name") + "组织下" + oneChannel.getKey() + "成本手续费未设置"); } + } else if (StringUtils.equals(channel.toLowerCase(), "apsinstore")) { + if (orgInfo.get("retail_interchange_fee_value") == null) { + throw new ServerErrorException(orgInfo.getString("name") + "组织下A+(Retail)的 Interchange Fee 成本手续费未设置"); + } + if (orgInfo.get("retail_service_fee_value") == null) { + throw new ServerErrorException(orgInfo.getString("name") + "组织下A+(Retail)的 Service Fee 成本手续费未设置"); + } + } else if (StringUtils.equals(channel.toLowerCase(), "apscashier")) { + if (orgInfo.get("online_interchange_fee_value") == null) { + throw new ServerErrorException(orgInfo.getString("name") + "组织下A+(Online)的 Interchange Fee 成本手续费未设置"); + } + if (orgInfo.get("online_service_fee_value") == null) { + throw new ServerErrorException(orgInfo.getString("name") + "组织下A+(Online)的 Service Fee 成本手续费未设置"); + } } else { throw new ServerErrorException(orgInfo.getString("name") + "组织下" + oneChannel.getKey() + "成本手续费未设置"); } } + PayChannel payChannel = PayChannel.fromChannelCode(channel); for (JSONObject params : oneChannel.getValue()) { - if (StringUtils.equals("rpaypmt_card", channel.toLowerCase())) { + if (payChannel == PayChannel.RPAY_CHANNEL_CARD) { //rpaypmt_domestic_card BigDecimal tmpClearingAmount = params.getBooleanValue("customer_surcharge") ? params.getBigDecimal("settle_amount") : params.getBigDecimal("clearing_amount"); BigDecimal channelRate = params.get("org_rate") != null ? params.getBigDecimal("org_rate") : (orgInfo.getBigDecimal("rpaypmt_domestic_card" + "_rate_value").divide(CommonConsts.HUNDRED, 4, RoundingMode.DOWN)); @@ -489,7 +530,22 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService { transaction_fee = transaction_fee.add(params.getBigDecimal("transaction_fee")); } else { BigDecimal tmpClearingAmount = params.getBooleanValue("customer_surcharge") ? params.getBigDecimal("settle_amount") : params.getBigDecimal("clearing_amount"); - BigDecimal channelRate = params.get("org_rate") != null ? params.getBigDecimal("org_rate") : (orgInfo.getBigDecimal(channel.toLowerCase() + "_rate_value").divide(CommonConsts.HUNDRED, 4, RoundingMode.DOWN)); + BigDecimal channelRate = null; + if (payChannel == PayChannel.ALIPAY_APS_IN_STORE) { + if ("alipay_cn".equalsIgnoreCase(params.getString("pay_type"))) { + channelRate = params.get("org_rate") != null ? params.getBigDecimal("org_rate") : (orgInfo.getBigDecimal("aliapy_rate_value").divide(CommonConsts.HUNDRED, 4, RoundingMode.DOWN)); + } else { + channelRate = params.get("org_rate") != null ? params.getBigDecimal("org_rate") : ((orgInfo.getBigDecimal("interchange_fee_value").add(orgInfo.getBigDecimal("service_fee_value"))).divide(CommonConsts.HUNDRED, 4, RoundingMode.DOWN)); + } + } else if (payChannel == PayChannel.ALIPAY_APS_CASHIER) { + if ("alipay_cn".equalsIgnoreCase(params.getString("pay_type"))) { + channelRate = params.get("org_rate") != null ? params.getBigDecimal("org_rate") : (orgInfo.getBigDecimal("alipayonline_rate_value").divide(CommonConsts.HUNDRED, 4, RoundingMode.DOWN)); + } else { + channelRate = params.get("org_rate") != null ? params.getBigDecimal("org_rate") : ((orgInfo.getBigDecimal("interchange_fee_value").add(orgInfo.getBigDecimal("service_fee_value"))).divide(CommonConsts.HUNDRED, 4, RoundingMode.DOWN)); + } + } else { + channelRate = params.get("org_rate") != null ? params.getBigDecimal("org_rate") : (orgInfo.getBigDecimal(channel.toLowerCase() + "_rate_value").divide(CommonConsts.HUNDRED, 4, RoundingMode.DOWN)); + } //增加transaction_fee为null异常 if (!params.containsKey("transaction_fee") || StringUtils.isEmpty(params.getString("transaction_fee"))) { params.put("transaction_fee", BigDecimal.ZERO); @@ -514,7 +570,13 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService { json.put("total_charge", total_surage); json.put("transaction_fee", transaction_fee); json.put("net_charge", net_surage); - json.put("org_rate", orgInfo.getBigDecimal(channel.toLowerCase() + "_rate_value")); + if (payChannel == PayChannel.ALIPAY_APS_IN_STORE) { + json.put("org_rate", (orgInfo.getBigDecimal("retail_interchange_fee_value").add(orgInfo.getBigDecimal("retail_service_fee_value")))); + } else if (payChannel == PayChannel.ALIPAY_APS_CASHIER) { + json.put("org_rate", (orgInfo.getBigDecimal("online_interchange_fee_value").add(orgInfo.getBigDecimal("online_service_fee_value")))); + } else { + json.put("org_rate", orgInfo.getBigDecimal(channel.toLowerCase() + "_rate_value")); + } json.put("royalpay_charge", royalpay_surage); json.put("org_charge", org_charge.signum() < 0 ? new BigDecimal(0) : org_charge); json.put("commission_type", "1"); @@ -539,7 +601,21 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService { String channel = oneChannel.getKey(); for (JSONObject params : oneChannel.getValue()) { BigDecimal tmpClearingAmount = params.getBooleanValue("customer_surcharge") ? params.getBigDecimal("settle_amount") : params.getBigDecimal("clearing_amount"); - BigDecimal channelRate = params.get("org_rate") != null ? params.getBigDecimal("org_rate") : (orgInfo.getBigDecimal(channel.toLowerCase() + "_rate_value").divide(CommonConsts.HUNDRED, 4, RoundingMode.DOWN)); + BigDecimal channelRate; + if (StringUtils.equals("alipayaps", channel.toLowerCase())) { + if ("alipay_cn".equalsIgnoreCase(params.getString("pay_type"))) { + AlipayConfig.BizType bizType = AlipayPlusRuleManager.getRules().determineAmsBizType(TradeType.fromGatewayNumber(params.getInteger("gateway"))); + if (bizType == AlipayConfig.BizType.RETAIL) { + channelRate = params.get("org_rate") != null ? params.getBigDecimal("org_rate") : (orgInfo.getBigDecimal("aliapy_rate_value").divide(CommonConsts.HUNDRED, 4, RoundingMode.DOWN)); + } else { + channelRate = params.get("org_rate") != null ? params.getBigDecimal("org_rate") : (orgInfo.getBigDecimal("alipayonline_rate_value").divide(CommonConsts.HUNDRED, 4, RoundingMode.DOWN)); + } + } else { + channelRate = params.get("org_rate") != null ? params.getBigDecimal("org_rate") : ((orgInfo.getBigDecimal("interchange_fee_value").add(orgInfo.getBigDecimal("service_fee_value"))).divide(CommonConsts.HUNDRED, 4, RoundingMode.DOWN)); + } + } else { + channelRate = params.get("org_rate") != null ? params.getBigDecimal("org_rate") : (orgInfo.getBigDecimal(channel.toLowerCase() + "_rate_value").divide(CommonConsts.HUNDRED, 4, RoundingMode.DOWN)); + } //增加transaction_fee为null异常 if (!params.containsKey("transaction_fee") || StringUtils.isEmpty(params.getString("transaction_fee"))) { params.put("transaction_fee", BigDecimal.ZERO); @@ -565,7 +641,11 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService { json.put("gross_amount", total); json.put("total_charge", total_surage); json.put("net_charge", net_surage); - json.put("org_rate", orgInfo.getBigDecimal(channel.toLowerCase() + "_rate_value")); + if (StringUtils.equals("alipayaps", channel.toLowerCase())) { + json.put("org_rate", (orgInfo.getBigDecimal("interchange_fee_value").add(orgInfo.getBigDecimal("service_fee_value")))); + } else { + json.put("org_rate", orgInfo.getBigDecimal(channel.toLowerCase() + "_rate_value")); + } json.put("partner_charge", royalpay_surage); json.put("share_charge", share_surage); json.put("org_charge", org_charge); @@ -611,6 +691,7 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService { rateChannel); } catch (Exception e) { } + PayChannel payChannel = PayChannel.fromChannelCode(channel); for (JSONObject params : oneChannel.getValue()) { BigDecimal tmpClearingAmount = params.getBooleanValue("customer_surcharge") ? params.getBigDecimal("settle_amount") : params.getBigDecimal("clearing_amount"); if (StringUtils.equals(channel.toLowerCase() + "_rate_value", "rpaypmt_card_rate_value")) { @@ -659,7 +740,22 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService { net_surage = net_surage.add(params.getBigDecimal("channel_surcharge")); transaction_fee = transaction_fee.add(params.getBigDecimal("transaction_fee")); } else { - BigDecimal channelRate = params.get("org_rate") != null ? params.getBigDecimal("org_rate") : (orgInfo.getBigDecimal(channel.toLowerCase() + "_rate_value").divide(CommonConsts.HUNDRED, 4, RoundingMode.DOWN)); + BigDecimal channelRate; + if (payChannel == PayChannel.ALIPAY_APS_IN_STORE) { + if ("alipay_cn".equalsIgnoreCase(params.getString("pay_type"))) { + channelRate = params.get("org_rate") != null ? params.getBigDecimal("org_rate") : (orgInfo.getBigDecimal("aliapy_rate_value").divide(CommonConsts.HUNDRED, 4, RoundingMode.DOWN)); + } else { + channelRate = params.get("org_rate") != null ? params.getBigDecimal("org_rate") : ((orgInfo.getBigDecimal("interchange_fee_value").add(orgInfo.getBigDecimal("service_fee_value"))).divide(CommonConsts.HUNDRED, 4, RoundingMode.DOWN)); + } + } else if (payChannel == PayChannel.ALIPAY_APS_CASHIER) { + if ("alipay_cn".equalsIgnoreCase(params.getString("pay_type"))) { + channelRate = params.get("org_rate") != null ? params.getBigDecimal("org_rate") : (orgInfo.getBigDecimal("alipayonline_rate_value").divide(CommonConsts.HUNDRED, 4, RoundingMode.DOWN)); + } else { + channelRate = params.get("org_rate") != null ? params.getBigDecimal("org_rate") : ((orgInfo.getBigDecimal("interchange_fee_value").add(orgInfo.getBigDecimal("service_fee_value"))).divide(CommonConsts.HUNDRED, 4, RoundingMode.DOWN)); + } + } else { + channelRate = params.get("org_rate") != null ? params.getBigDecimal("org_rate") : (orgInfo.getBigDecimal(channel.toLowerCase() + "_rate_value").divide(CommonConsts.HUNDRED, 4, RoundingMode.DOWN)); + } BigDecimal tmpTotalSurcharge = params.getBigDecimal("total_surcharge") .subtract(params.getBigDecimal("surcharge_cashback")) .subtract(params.getBigDecimal("transaction_fee")); @@ -705,7 +801,13 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService { } json.put("gross_amount", total); json.put("total_charge", total_surage); - json.put("org_rate", orgInfo.getBigDecimal(channel.toLowerCase() + "_rate_value")); + if (payChannel == PayChannel.ALIPAY_APS_IN_STORE) { + json.put("org_rate", (orgInfo.getBigDecimal("retail_interchange_fee_value").add(orgInfo.getBigDecimal("retail_service_fee_value")))); + } else if (payChannel == PayChannel.ALIPAY_APS_CASHIER) { + json.put("org_rate", (orgInfo.getBigDecimal("online_interchange_fee_value").add(orgInfo.getBigDecimal("online_service_fee_value")))); + } else { + json.put("org_rate", orgInfo.getBigDecimal(channel.toLowerCase() + "_rate_value")); + } json.put("royalpay_charge", royalpay_surage); if (type == 1) { json.put("net_charge", net_surage); diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java b/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java index f1c8f0675..1bf83d7d7 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java @@ -554,9 +554,11 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid client.put("enable_alipayplus", true); } client.put("enable_alipayaps", false); - MerchantChannelPermissionResolver resolverAps = this.paymentApi.channelApi(PayChannel.ALIPAY_APS.getChannelCode()).getChannelPermissionResolver(); - if (!Objects.isNull(resolver) && - resolverAps.newOrderEnabled(client, null, PlatformEnvironment.getEnv().getForeignCurrency())) { + MerchantChannelPermissionResolver resolverApsInStore = this.paymentApi.channelApi(PayChannel.ALIPAY_APS_IN_STORE.getChannelCode()).getChannelPermissionResolver(); + MerchantChannelPermissionResolver resolverApsCashier = this.paymentApi.channelApi(PayChannel.ALIPAY_APS_CASHIER.getChannelCode()).getChannelPermissionResolver(); + if(!Objects.isNull(resolverApsInStore) && !Objects.isNull(resolverApsCashier) && + (resolverApsInStore.newOrderEnabled(client, null, PlatformEnvironment.getEnv().getForeignCurrency()) || + resolverApsCashier.newOrderEnabled(client, null, PlatformEnvironment.getEnv().getForeignCurrency()))){ client.put("enable_alipayaps", true); } ApsConfigData apsConfig = apsConfigService.getApsConfigByClientId(client.getString("client_id")); @@ -2013,15 +2015,18 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid checkAddRate(config, "AlipayOnline", "alipayonline_rate_value", org, "min_alipayonline_rate"); checkAddRate(config, "Rpay", "Rpay_rate_value", org, "min_Rpay_rate"); checkAddRate(config, "CB_BankPay", "min_cb_bankpay_value", org, "min_cb_bankpay_rate"); - checkAddRate(config, "AlipayAps Interchange Fee", "interchange_fee_value", org, "min_interchange_fee_rate"); - checkAddRate(config, "AlipayAps Serivce Fee", "service_fee_value", org, "min_service_fee_rate"); + checkAddRate(config, "AlipayAps Retail Interchange Fee", "retail_interchange_fee_value", org, "min_retail_interchange_fee_rate"); + checkAddRate(config, "AlipayAps Retail Serivce Fee", "retail_service_fee_value", org, "min_retail_service_fee_rate"); + checkAddRate(config, "AlipayAps Online Interchange Fee", "online_interchange_fee_value", org, "min_online_interchange_fee_rate"); + checkAddRate(config, "AlipayAps Online Serivce Fee", "online_service_fee_value", org, "min_online_service_fee_rate"); configNewClientRate(config, clientId, "Wechat", "wechat_rate_value", org, "min_wechat_rate"); configNewClientRate(config, clientId, "Alipay", "alipay_rate_value", org, "min_alipay_rate"); configNewClientRate(config, clientId, "AlipayOnline", "alipayonline_rate_value", org, "min_alipayonline_rate"); configNewClientRate(config, clientId, "Rpay", "Rpay_rate_value", org, "min_Rpay_rate"); configNewClientRate(config, clientId, "CB_BankPay", "cb_bankpay_rate_value", org, "min_cb_bankpay_rate"); - configNewClientRate(config, clientId, "AlipayAps", "interchange_fee_value", null, ""); + configNewClientRate(config, clientId, "ApsInStore", "retail_interchange_fee_value", null, ""); + configNewClientRate(config, clientId, "ApsCashier", "online_interchange_fee_value", null, ""); addAlipayPlusRateConfig(config, clientId, PayChannel.ALIPAY_PLUS.getChannelCode()); } @@ -2145,7 +2150,6 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid if (config.containsKey(rateKey)) { if (org.containsKey(rateValueKey)) { if (config.getBigDecimal(rateKey).compareTo(org.getBigDecimal(rateValueKey)) < 0) { - throw new ForbiddenException("费率参数小于旗下商户最低" + channel + "费率,请重新输入"); } } diff --git a/src/main/java/au/com/royalpay/payment/manage/organizations/beans/OrgInfo.java b/src/main/java/au/com/royalpay/payment/manage/organizations/beans/OrgInfo.java index 17c02586c..0b9b73f7b 100644 --- a/src/main/java/au/com/royalpay/payment/manage/organizations/beans/OrgInfo.java +++ b/src/main/java/au/com/royalpay/payment/manage/organizations/beans/OrgInfo.java @@ -31,7 +31,7 @@ public class OrgInfo { private Double alipayonline_rate_value; private Double alipayplus_rate_value; private Double cb_bankpay_rate_value; -// private Double rpaypmt_card_rate_value; + // private Double rpaypmt_card_rate_value; //卡支付-国内卡费率配置 private Double rpaypmt_domestic_card_rate_value; //卡支付-国际卡费率配置 @@ -57,11 +57,14 @@ public class OrgInfo { private Double min_rpaypmt_dd_rate; private String state; private String senior_parent_org_id; - private Double interchange_fee_value; - private Double min_interchange_fee_value; - private Double service_fee_value; - private Double min_service_fee_value; - + private Double retail_interchange_fee_value; + private Double min_retail_interchange_fee_value; + private Double retail_service_fee_value; + private Double min_retail_service_fee_value; + private Double online_interchange_fee_value; + private Double min_online_interchange_fee_value; + private Double online_service_fee_value; + private Double min_online_service_fee_value; public JSONObject toJsonParam() { @@ -333,6 +336,7 @@ public class OrgInfo { public void setState(String state) { this.state = state; } + public String getSenior_parent_org_id() { return senior_parent_org_id; } @@ -422,31 +426,67 @@ public class OrgInfo { this.min_rpaypmt_overseas_card_rate = min_rpaypmt_overseas_card_rate; } - public Double getInterchange_fee_value(){ return interchange_fee_value; } + public Double getRetail_interchange_fee_value() { + return retail_interchange_fee_value; + } + + public void setRetail_interchange_fee_value(Double retail_interchange_fee_value) { + this.retail_interchange_fee_value = retail_interchange_fee_value; + } + + public Double getMin_retail_interchange_fee_value() { + return min_retail_interchange_fee_value; + } + + public void setMin_retail_interchange_fee_value(Double min_retail_interchange_fee_value) { + this.min_retail_interchange_fee_value = min_retail_interchange_fee_value; + } + + public Double getRetail_service_fee_value() { + return retail_service_fee_value; + } + + public void setRetail_service_fee_value(Double retail_service_fee_value) { + this.retail_service_fee_value = retail_service_fee_value; + } + + public Double getMin_retail_service_fee_value() { + return min_retail_service_fee_value; + } - public void setInterchange_fee_value(Double interchange_fee_value){ this.interchange_fee_value = interchange_fee_value; } + public void setMin_retail_service_fee_value(Double min_retail_service_fee_value) { + this.min_retail_service_fee_value = min_retail_service_fee_value; + } + + public Double getOnline_interchange_fee_value() { + return online_interchange_fee_value; + } + + public void setOnline_interchange_fee_value(Double online_interchange_fee_value) { + this.online_interchange_fee_value = online_interchange_fee_value; + } - public Double getMin_interchange_fee_value() { - return min_interchange_fee_value; + public Double getMin_online_interchange_fee_value() { + return min_online_interchange_fee_value; } - public void setMin_interchange_fee_value(Double min_interchange_fee_value) { - this.min_interchange_fee_value = min_interchange_fee_value; + public void setMin_online_interchange_fee_value(Double min_online_interchange_fee_value) { + this.min_online_interchange_fee_value = min_online_interchange_fee_value; } - public Double getService_fee_value() { - return service_fee_value; + public Double getOnline_service_fee_value() { + return online_service_fee_value; } - public void setService_fee_value(Double service_fee_value) { - this.service_fee_value = service_fee_value; + public void setOnline_service_fee_value(Double online_service_fee_value) { + this.online_service_fee_value = online_service_fee_value; } - public Double getMin_service_fee_value() { - return min_service_fee_value; + public Double getMin_online_service_fee_value() { + return min_online_service_fee_value; } - public void setMin_service_fee_value(Double min_service_fee_value) { - this.min_service_fee_value = min_service_fee_value; + public void setMin_online_service_fee_value(Double min_online_service_fee_value) { + this.min_online_service_fee_value = min_online_service_fee_value; } } diff --git a/src/main/ui/static/config/organizations/templates/org_detail.html b/src/main/ui/static/config/organizations/templates/org_detail.html index ffffa5ad3..346fe2832 100644 --- a/src/main/ui/static/config/organizations/templates/org_detail.html +++ b/src/main/ui/static/config/organizations/templates/org_detail.html @@ -136,364 +136,6 @@ -
-
- -
- - % -
-
- -
- -
- - % -
-
- - -
- -
-
- -
- - % -
-
-
- -
- - % -
-
-
- -
- - % -
-
- -
- -
- - % -
-
- - -
- -
- - % -
-
-
- -
- - % -
-
- - - -
- -
- - % -
-
- - -
- -
- - % -
-
- -
- -
- - % -
-
-
- -
-
- -
- - % -
-
-
- -
- - % -
-
- -
- -
- - % -
-
-
- -
- - % -
-
- - - -
- -
- - % -
-
- - -
- -
- - % -
-
- -
- -
- - % -
-
-
+ +
+
+
China Wallet
+
+
+
+ +
+
+ + % +
+
+
+
+ +
+
+ + % +
+
+
+
+ +
+
+ + % +
+
+
+
+ +
+
+ + % +
+
+
+ +
+
+
+ +
+
+ + % +
+
+
+
+ +
+
+ + % +
+
+
+
+ +
+
+ + % +
+
+
+
+ +
+
+ + % +
+
+
+ +
+
+
+ +
+
Card Payment Rate
+
+
+ +
+ +
+
+ + % +
+
+
+ +
+ +
+
+ + % +
+
+
+
+ +
+
+ + % +
+
+
+
+
+ +
+ +
+
+ + % +
+
+
+ +
+ +
+
+ + % +
+
+
+
+ +
+
+ + % +
+
+
+
+
+
+ +
+
A+ Rate
+
+
+
+ +
+
+ + % +
+
+
+
+ +
+
+ + % +
+
+
+
+ +
+
+ + % +
+
+
+
+ +
+
+ + % +
+
+
+
+
+
+ +
+
+ + % +
+
+
+
+ +
+
+ + % +
+
+
+
+ +
+
+ + % +
+
+
+
+ +
+
+ + % +
+
+
+
+
+
+ +
+
diff --git a/src/main/ui/static/config/organizations/templates/org_detail_parent.html b/src/main/ui/static/config/organizations/templates/org_detail_parent.html index f56b0ca33..ad9598ace 100644 --- a/src/main/ui/static/config/organizations/templates/org_detail_parent.html +++ b/src/main/ui/static/config/organizations/templates/org_detail_parent.html @@ -104,149 +104,6 @@
-
-
- -
- - % -
-
- -
- -
- - % -
-
- - -
- -
-
- -
- - % -
-
-
- -
- - % -
-
-
- -
- - % -
-
-
- -
- - % -
-
- - -
- -
- - % -
-
- -
- -
- - % -
-
- -
- -
- - % -
-
-
- -
- - % -
-
-
- -
-
- -
- - % -
-
-
- -
- - % -
-
- -
- -
- - % -
-
- -
- -
- - % -
-
- -
- -
- - % -
-
- -
- -
- - % -
-
-
@@ -320,6 +177,533 @@ id="remark-input" maxlength="500"> + +
+
+
China Wallet
+
+
+
+ +
+
+ + % +
+
+
+
+ +
+
+ + % +
+
+
+
+ +
+
+ + % +
+
+
+
+ +
+
+ + % +
+
+
+ +
+
+
+ +
+
+ + % +
+
+
+
+ +
+
+ + % +
+
+
+
+ +
+
+ + % +
+
+
+
+ +
+
+ + % +
+
+
+ +
+
+
+ +
+
Card Payment Rate
+
+
+ +
+ +
+
+ + % +
+
+
+ +
+ +
+
+ + % +
+
+
+
+ +
+
+ + % +
+
+
+
+
+ +
+ +
+
+ + % +
+
+
+ +
+ +
+
+ + % +
+
+
+
+ +
+
+ + % +
+
+
+
+
+
+ +
+
A+ Rate
+
+
+
+ +
+
+ + % +
+
+
+
+ +
+
+ + % +
+
+
+
+ +
+
+ + % +
+
+
+
+ +
+
+ + % +
+
+
+
+
+
+ +
+
+ + % +
+
+
+
+ +
+
+ + % +
+
+
+
+ +
+
+ + % +
+
+
+
+ +
+
+ + % +
+
+
+
+
+
+ +
+
-

Rates - -

+

China Wallet

@@ -255,9 +251,6 @@
  • Alipay(Online)
  • -
  • A+(APS) -
  • +
    +

    Card Payment Rate

    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Rate NameDomestic Rate ValueInternational Rate ValueTransaction FeeActive TimeExpire TimeClean DaysUpdate TimeOperatorRemarkOperation
    + T+{{rate.clean_days}} + + + (Promotional Offer) + + +
    +
    +
    +
    +
    + + +
    +

    A+

    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Rate NameInterchange FeeService FeeActive TimeExpire TimeUpdate TimeOperatorRemarkOperation
    + +
    +
    +
    +
    +
    \ No newline at end of file diff --git a/src/main/ui/static/payment/partner/templates/partner_new_alipay_aps_rate.html b/src/main/ui/static/payment/partner/templates/partner_new_alipay_aps_rate.html index 7842aaecd..0e38955b5 100644 --- a/src/main/ui/static/payment/partner/templates/partner_new_alipay_aps_rate.html +++ b/src/main/ui/static/payment/partner/templates/partner_new_alipay_aps_rate.html @@ -1,5 +1,5 @@
    - +
    - + ng-class="{'has-error':rate_from.retail_interchange_fee_value.$invalid && rate_from.retail_interchange_fee_value.$dirty}"> +
    - +
    %
    -
    +
    No more than 10.0%
    @@ -44,17 +44,66 @@
    - +
    - + ng-class="{'has-error':rate_from.retail_service_fee_value.$invalid && rate_from.retail_service_fee_value.$dirty}"> +
    - +
    %
    -
    +
    +
    + No more than 10.0% +
    +
    + No less than 0.6% +
    +
    + Required Field +
    +
    + +
    +
    + + +
    + +
    +
    + +
    %
    +
    +
    +
    + No more than 10.0% +
    +
    + No less than 0.6% +
    +
    + Required Field +
    +
    + +
    +
    + +
    + +
    +
    + +
    %
    +
    +
    No more than 10.0%
    diff --git a/src/main/ui/static/payment/partner/templates/partner_new_card_payment_rate.html b/src/main/ui/static/payment/partner/templates/partner_new_card_payment_rate.html index 18f5807c8..65d081b3a 100644 --- a/src/main/ui/static/payment/partner/templates/partner_new_card_payment_rate.html +++ b/src/main/ui/static/payment/partner/templates/partner_new_card_payment_rate.html @@ -1,6 +1,6 @@