diff --git a/pom.xml b/pom.xml index d85aa06be..924d000b4 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ au.com.royalpay.payment payment-parent - 2.3.5 + 2.3.6 4.0.0 manage diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientManager.java b/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientManager.java index ca1dc1832..2ba0bc925 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientManager.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientManager.java @@ -322,6 +322,8 @@ public interface ClientManager { void switchChildEachRefund(JSONObject manager, String clientMoniker, boolean childEachRefund); + void switchOverseaWallet(JSONObject manager, String clientMoniker, boolean enableOverseaWallet); + void changeGatewayVersion(JSONObject account, boolean enableV2); void changeVerifyIp(JSONObject account, boolean enableV2); 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 ebe774bfc..9bde522ff 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 @@ -32,9 +32,7 @@ import au.com.royalpay.payment.core.beans.MerchantApplicationResult; import au.com.royalpay.payment.core.exceptions.EmailException; import au.com.royalpay.payment.core.exceptions.InvalidShortIdException; import au.com.royalpay.payment.core.impls.MerchantChannelApplicationManager; -import au.com.royalpay.payment.core.mappers.MchChannelContractDAO; -import au.com.royalpay.payment.core.mappers.MchChannelContractMapper; -import au.com.royalpay.payment.core.mappers.SysClientMapper; +import au.com.royalpay.payment.core.mappers.*; import au.com.royalpay.payment.core.utils.OrderExpiryRuleResolver; import au.com.royalpay.payment.manage.analysis.mappers.TransactionAnalysisMapper; import au.com.royalpay.payment.manage.appclient.beans.AppClientBean; @@ -338,6 +336,9 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid @Resource private MchChannelContractMapper mchChannelContractMapper; + @Resource + public AlipayApsOverseasConfigMapper overseaSwitchConfigMapper; + @Resource private SmsSender smsSender; private static final String SOURCE_AGREE_FILE = "source_agree_file"; @@ -602,6 +603,12 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid client.put("aps_config_id", apsConfig.getId()); client.put("alipay_cn_switch", apsConfig.getAlipayCnSwitch()); } + Boolean overseaSwitch= overseaSwitchConfigMapper.getOverseaSwitch(client.getInteger("client_id")); + if(overseaSwitch==null||overseaSwitch){ + client.put("oversea_wallet_switch", true); + }else{ + client.put("oversea_wallet_switch", false); + } return client; } @@ -4973,6 +4980,35 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid clientInfoCacheSupport.clearClientCache(client.getIntValue("client_id")); } + /** + * 支付宝aps海外钱包 开关 + * @param manager + * @param clientMoniker + * @param enableOverseaWallet + */ + @Override + public void switchOverseaWallet(JSONObject manager, String clientMoniker, boolean enableOverseaWallet) { + JSONObject client = getClientInfoByMoniker(clientMoniker); + if (client == null) { + throw new InvalidShortIdException(); + } + checkOrgPermission(manager, client); + + Boolean overseaSwitch= overseaSwitchConfigMapper.getOverseaSwitch(client.getIntValue("client_id")); + logger.info("======>overseaSwitch:{}",overseaSwitch); + if(overseaSwitch==null){ + ApsOverseasConfigData data = ApsOverseasConfigData.saveData(manager.getString("manager_id"),client.getString("client_id"),enableOverseaWallet); + logger.info("=======>data:OverseasSwitch:{}",data.getOverseasSwitch()); + overseaSwitchConfigMapper.save(data); + }else{ + JSONObject config=new JSONObject(); + config.put("clientId", client.getString("client_id")); + config.put("modifier", manager.getString("manager_id")); + config.put("overseas_switch", enableOverseaWallet); + overseaSwitchConfigMapper.updateApsOverseasConfigByClientId(config); + } + } + @Override public void changePaymentPage(JSONObject account, String paypadVersion) { int clientId = account.getIntValue("client_id"); diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerManageController.java b/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerManageController.java index 0902ddb03..4ded773f3 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerManageController.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerManageController.java @@ -343,6 +343,10 @@ public class PartnerManageController { public void switchChildEachRefund(@PathVariable String clientMoniker, @RequestBody JSONObject pass, @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager) { clientManager.switchChildEachRefund(manager, clientMoniker, pass.getBooleanValue("allow")); } + @ManagerMapping(value = "/{clientMoniker}/switch_oversea_wallet", method = RequestMethod.PUT, role = {ManagerRole.OPERATOR}) + public void switchOverseaWallet(@PathVariable String clientMoniker, @RequestBody JSONObject pass, @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager) { + clientManager.switchOverseaWallet(manager, clientMoniker, pass.getBooleanValue("allow")); + } @ManagerMapping(value = "/{clientMoniker}/channels/{channel}/permission", method = RequestMethod.PUT, role = {ManagerRole.SERVANT, ManagerRole.DEVELOPER}) public void switchChannelPermission(@PathVariable String clientMoniker, @PathVariable String channel, @RequestBody JSONObject pass, @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager) { diff --git a/src/main/ui/static/payment/partner/partner-manage.js b/src/main/ui/static/payment/partner/partner-manage.js index d88c9eea5..2c9e5aa1e 100644 --- a/src/main/ui/static/payment/partner/partner-manage.js +++ b/src/main/ui/static/payment/partner/partner-manage.js @@ -2810,6 +2810,21 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter } ) } + $scope.toggleOverseaWallet = function () { + + $http.put('/sys/partners/' + $scope.partner.client_moniker + '/switch_oversea_wallet', {allow: $scope.paymentInfo.oversea_wallet_switch}).then( + function () { + $scope.loadPartnerPaymentInfo() + }, + function (resp) { + commonDialog.alert({ + title: 'failed to switch oversea wallet', + content: resp.data.message, + type: 'error', + }) + } + ) + } $scope.switchInternationalCard = function () { if (!$scope.paymentInfo) { diff --git a/src/main/ui/static/payment/partner/templates/partner_payment_info.html b/src/main/ui/static/payment/partner/templates/partner_payment_info.html index e99a244c9..faec8df3d 100644 --- a/src/main/ui/static/payment/partner/templates/partner_payment_info.html +++ b/src/main/ui/static/payment/partner/templates/partner_payment_info.html @@ -570,6 +570,21 @@ + +
+
AlipayPlus(aps) oversea wallet Configuration
+
+
+
+ +
+ +
+
+
+
+
Retail In Store Payment(App, WePayLite, Albert)