From ef9d71c19b7a8a6d53c4e1a7751eaaca3c707e29 Mon Sep 17 00:00:00 2001
From: dalong306 <304592994@qq.com>
Date: Wed, 16 Feb 2022 16:48:12 +0800
Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E4=BB=98=E5=AE=9Daps=E6=B5=B7?=
=?UTF-8?q?=E5=A4=96=E9=92=B1=E5=8C=85=20=E5=BC=80=E5=85=B3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pom.xml | 2 +-
.../manage/merchants/core/ClientManager.java | 2 +
.../core/impls/ClientManagerImpl.java | 42 +++++++++++++++++--
.../web/PartnerManageController.java | 4 ++
.../static/payment/partner/partner-manage.js | 15 +++++++
.../templates/partner_payment_info.html | 15 +++++++
6 files changed, 76 insertions(+), 4 deletions(-)
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)