From 029192ee3ee9c04814a1ea2e2284833c9683e447 Mon Sep 17 00:00:00 2001 From: dalong306 <304592994@qq.com> Date: Thu, 20 Jan 2022 15:17:03 +0800 Subject: [PATCH 1/8] =?UTF-8?q?JS=20=E6=94=BE=E5=88=B0paycenter?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../static/templates/alipayaps/v5/payment.js | 40 +------------------ 1 file changed, 1 insertion(+), 39 deletions(-) diff --git a/src/main/ui/static/templates/alipayaps/v5/payment.js b/src/main/ui/static/templates/alipayaps/v5/payment.js index 6814cc8ee..c21e947d7 100644 --- a/src/main/ui/static/templates/alipayaps/v5/payment.js +++ b/src/main/ui/static/templates/alipayaps/v5/payment.js @@ -453,43 +453,5 @@ $(function () { } } - function callApp(scheme_seq, index, timeout) { - let timer, start = new Date().getTime() - let promise = new Promise(((resolve, reject) => { - location.href = scheme_seq[index] - window.addEventListener('visibilitychange', () => { - if (document.visibilityState === 'hidden') { - clearTimeout(timer); - resolve() - } - }); - timer = setTimeout(() => { - let end = new Date().getTime() - if (end - start > timeout + 1000) { - clearTimeout(timer) - resolve() - } else { - if (index + 1 < scheme_seq.length) { - callApp(scheme_seq, index + 1, timeout).then(resolve, reject) - } else { - reject() - } - } - }, timeout) - })) - return promise - } - function callAlipayAps(order) { - if(order.jsapi){ - let try_sequence = [order.jsapi.scheme_url, order.jsapi.applink_url, order.jsapi.normal_url] - try_sequence = try_sequence.filter(v => v != null) - callApp(try_sequence, 0, 5000).then(() => { - alert('redirect success') - }, () => { - alert('redirect failure') - }) - }else { - location.href = order.web_url - } - } + }); From ad91b2a91f5db3de17e165409e4faada04d05317 Mon Sep 17 00:00:00 2001 From: dalong306 <304592994@qq.com> Date: Thu, 20 Jan 2022 17:53:42 +0800 Subject: [PATCH 2/8] =?UTF-8?q?normal=5Furl=E6=94=BE=E5=9C=A8=E5=89=8D?= =?UTF-8?q?=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../static/templates/alipayaps/v1/payment.js | 2 +- .../static/templates/alipayaps/v4/payment.js | 2 +- .../static/templates/alipayaps/v5/payment.js | 40 +++++++++++++++++++ 3 files changed, 42 insertions(+), 2 deletions(-) diff --git a/src/main/ui/static/templates/alipayaps/v1/payment.js b/src/main/ui/static/templates/alipayaps/v1/payment.js index d28df875c..901912491 100644 --- a/src/main/ui/static/templates/alipayaps/v1/payment.js +++ b/src/main/ui/static/templates/alipayaps/v1/payment.js @@ -473,7 +473,7 @@ $(function () { } function callAlipayAps(order) { if(order.jsapi){ - let try_sequence = [order.jsapi.scheme_url, order.jsapi.applink_url, order.jsapi.normal_url] + let try_sequence = [order.jsapi.normal_url,order.jsapi.scheme_url, order.jsapi.applink_url] try_sequence = try_sequence.filter(v => v != null) callApp(try_sequence, 0, 5000).then(() => { alert('redirect success') diff --git a/src/main/ui/static/templates/alipayaps/v4/payment.js b/src/main/ui/static/templates/alipayaps/v4/payment.js index 536543928..19ed5b9ed 100644 --- a/src/main/ui/static/templates/alipayaps/v4/payment.js +++ b/src/main/ui/static/templates/alipayaps/v4/payment.js @@ -517,7 +517,7 @@ $(function () { } function callAlipayAps(order) { if(order.jsapi){ - let try_sequence = [order.jsapi.scheme_url, order.jsapi.applink_url, order.jsapi.normal_url] + let try_sequence = [order.jsapi.normal_url,order.jsapi.scheme_url, order.jsapi.applink_url] try_sequence = try_sequence.filter(v => v != null) callApp(try_sequence, 0, 5000).then(() => { alert('redirect success') diff --git a/src/main/ui/static/templates/alipayaps/v5/payment.js b/src/main/ui/static/templates/alipayaps/v5/payment.js index c21e947d7..f5d4c4543 100644 --- a/src/main/ui/static/templates/alipayaps/v5/payment.js +++ b/src/main/ui/static/templates/alipayaps/v5/payment.js @@ -453,5 +453,45 @@ $(function () { } } + function callApp(scheme_seq, index, timeout) { + let timer, start = new Date().getTime() + let promise = new Promise(((resolve, reject) => { + location.href = scheme_seq[index] + // alert("====>scheme_seq[index]:"+scheme_seq[index]); + window.addEventListener('visibilitychange', () => { + if (document.visibilityState === 'hidden') { + clearTimeout(timer); + resolve() + } + }); + timer = setTimeout(() => { + let end = new Date().getTime() + if (end - start > timeout + 1000) { + clearTimeout(timer) + resolve() + } else { + if (index + 1 < scheme_seq.length) { + callApp(scheme_seq, index + 1, timeout).then(resolve, reject) + } else { + reject() + } + } + }, timeout) + })) + return promise + } + function callAlipayAps(order) { + if(order.jsapi){ + let try_sequence = [order.jsapi.normal_url,order.jsapi.scheme_url, order.jsapi.applink_url] + try_sequence = try_sequence.filter(v => v != null) + callApp(try_sequence, 0, 5000).then(() => { + alert('redirect success') + }, () => { + alert('redirect failure') + }) + }else { + location.href = order.web_url + } + } }); From 3c8dd8319f2825b3994d4f4aa016da7adfb679d9 Mon Sep 17 00:00:00 2001 From: Yixian Date: Mon, 24 Jan 2022 11:44:10 +0800 Subject: [PATCH 3/8] 2.4.5: code format --- .../fund/core/impls/XPlanFundProcessorImpl.java | 2 +- .../payment/manage/tradelog/refund/RefundService.java | 2 ++ .../tradelog/refund/impls/RefundServiceImpl.java | 11 ++++++++--- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/fund/core/impls/XPlanFundProcessorImpl.java b/src/main/java/au/com/royalpay/payment/manage/fund/core/impls/XPlanFundProcessorImpl.java index 236153f42..a638f06d1 100644 --- a/src/main/java/au/com/royalpay/payment/manage/fund/core/impls/XPlanFundProcessorImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/fund/core/impls/XPlanFundProcessorImpl.java @@ -399,10 +399,10 @@ public class XPlanFundProcessorImpl implements XPlanFundProcesor { private JSONObject getClient(String clientMoniker) { JSONObject client = clientManager.getClientInfoByMoniker(clientMoniker); - client.putAll(clientConfigService.find(client.getIntValue("client_id"))); if (client == null) { throw new InvalidShortIdException(); } + client.putAll(clientConfigService.find(client.getIntValue("client_id"))); return client; } diff --git a/src/main/java/au/com/royalpay/payment/manage/tradelog/refund/RefundService.java b/src/main/java/au/com/royalpay/payment/manage/tradelog/refund/RefundService.java index 34c68c90a..b31eb4c3d 100644 --- a/src/main/java/au/com/royalpay/payment/manage/tradelog/refund/RefundService.java +++ b/src/main/java/au/com/royalpay/payment/manage/tradelog/refund/RefundService.java @@ -25,6 +25,8 @@ public interface RefundService { boolean reviewNewRefundOrder(String orderId, BigDecimal fee, String remark, JSONObject account, JSONObject manager); + JSONObject cancelOrder(JSONObject partnerAccount, String orderId); + JSONObject newRefundOrder(String orderId, BigDecimal fee, boolean original, String remark, JSONObject partnerAccount, JSONObject manager); @Transactional diff --git a/src/main/java/au/com/royalpay/payment/manage/tradelog/refund/impls/RefundServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/tradelog/refund/impls/RefundServiceImpl.java index 8f91bc885..41cdf081d 100644 --- a/src/main/java/au/com/royalpay/payment/manage/tradelog/refund/impls/RefundServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/tradelog/refund/impls/RefundServiceImpl.java @@ -154,7 +154,7 @@ public class RefundServiceImpl implements RefundService, ApplicationEventPublish OperatorType type = account != null ? OperatorType.PARTNER : OperatorType.MANAGER; boolean requireAudit = type == OperatorType.PARTNER && PartnerRole.getRole(account.getIntValue("role")) == PartnerRole.CASHIER && clientConfig.getBooleanValue("enable_refund_auth"); - logger.debug("applyer type=" + type + "; require audit=" + requireAudit); + logger.debug("applyer type={}; require audit={}", type, requireAudit); paymentApi.clientRefundBalanceCheck(clientId, orderId, currency, feeAmount); Assert.notNull(order, "Order Not exists"); @@ -180,6 +180,11 @@ public class RefundServiceImpl implements RefundService, ApplicationEventPublish } } + @Override + public JSONObject cancelOrder(JSONObject partnerAccount, String orderId) { + return null; + } + @Override public JSONObject newRefundOrder(String orderId, BigDecimal fee, boolean original, String remark, JSONObject partnerAccount, JSONObject manager) { JSONObject order = orderMapper.getOrderDetail(orderId); @@ -229,7 +234,7 @@ public class RefundServiceImpl implements RefundService, ApplicationEventPublish } boolean requireAudit = type == OperatorType.PARTNER && PartnerRole.getRole(partnerAccount.getIntValue("role")) == PartnerRole.CASHIER && clientConfig.getBooleanValue("enable_refund_auth"); - logger.debug("applyer type={}; require audit={}",type, requireAudit); + logger.debug("applyer type={}; require audit={}", type, requireAudit); return paymentApi.refundOrder(null, orderId, null, amount, remark, operator, type, requireAudit); } @@ -439,7 +444,7 @@ public class RefundServiceImpl implements RefundService, ApplicationEventPublish @Override public JSONObject listUnionAllApply(JSONObject params, PageBounds pagination) { - if(params.get("client_id")==null && params.get("client_ids")==null){ + if (params.get("client_id") == null && params.get("client_ids") == null) { return null; } return PageListUtils.buildPageListResult(refundMapper.listUnionAllApply(params, pagination)); From 2f59d05be0f990b81cdb1c4ce0ed7de0408e54a2 Mon Sep 17 00:00:00 2001 From: dalong306 <304592994@qq.com> Date: Mon, 24 Jan 2022 11:52:13 +0800 Subject: [PATCH 4/8] =?UTF-8?q?aps=E6=92=A4=E9=94=80=E8=AE=A2=E5=8D=95=20?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manage/merchants/web/PartnerViewController.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerViewController.java b/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerViewController.java index 2953de97c..7d04cc0f2 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerViewController.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerViewController.java @@ -11,6 +11,7 @@ import au.com.royalpay.payment.manage.merchants.beans.NewAccountBean; import au.com.royalpay.payment.manage.merchants.core.ClientManager; import au.com.royalpay.payment.manage.merchants.core.ClientSignEventSupport; import au.com.royalpay.payment.manage.permission.manager.PartnerMapping; +import au.com.royalpay.payment.manage.permission.manager.RequireManager; import au.com.royalpay.payment.manage.permission.manager.RequirePartner; import au.com.royalpay.payment.manage.pos.datasource.ReadOnlyConnection; import au.com.royalpay.payment.manage.signin.core.SignInAccountService; @@ -25,6 +26,7 @@ import au.com.royalpay.payment.tools.exceptions.BadRequestException; import au.com.royalpay.payment.tools.exceptions.ForbiddenException; import au.com.royalpay.payment.tools.http.HttpUtils; import au.com.royalpay.payment.tools.merchants.beans.QRCodeConfig; +import au.com.royalpay.payment.tools.permission.enums.ManagerRole; import au.com.royalpay.payment.tools.permission.enums.PartnerRole; import au.com.royalpay.payment.tools.permission.wechat.WechatMapping; import com.alibaba.fastjson.JSONObject; @@ -683,8 +685,11 @@ public class PartnerViewController { } @PartnerMapping(value = "/cancel_order", method = RequestMethod.POST) @ResponseBody + @RequireManager(role = {ManagerRole.ADMIN, ManagerRole.OPERATOR, ManagerRole.FINANCIAL_STAFF, ManagerRole.SERVANT}) + @RequirePartner public JSONObject cancel(@ModelAttribute(CommonConsts.PARTNER_STATUS) JSONObject account, @RequestBody JSONObject order, Errors errors) { System.out.println("=====>cancel_order"); - return cancelOrderService.cancelOrderOrNot(order.getString("orderId")); + //暂时未给运营端使用,仅商户端使用 + return cancelOrderService.cancelOrderOrNot(order.getString("orderId"),account.getIntValue("client_id")); } } From 38a0303eafd13fac4c0f44735f96b316dc1f92fb Mon Sep 17 00:00:00 2001 From: dalong306 <304592994@qq.com> Date: Mon, 24 Jan 2022 17:15:14 +0800 Subject: [PATCH 5/8] =?UTF-8?q?aps=E6=92=A4=E9=94=80=E8=AE=A2=E5=8D=95=20?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../merchants/web/PartnerViewController.java | 16 +++++++++++++++- .../tradelog/templates/partner_trade_logs.html | 2 +- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerViewController.java b/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerViewController.java index 7d04cc0f2..882d1f65c 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerViewController.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerViewController.java @@ -4,6 +4,7 @@ import au.com.royalpay.payment.core.cancelorder.service.CancelOrderService; import au.com.royalpay.payment.core.cancelorder.service.impl.CancelOrderServiceImpl; import au.com.royalpay.payment.core.exceptions.ParamInvalidException; import au.com.royalpay.payment.manage.kyc.core.KycService; +import au.com.royalpay.payment.manage.mappers.payment.OrderMapper; import au.com.royalpay.payment.manage.mappers.system.ClientComplianceCompanyMapper; import au.com.royalpay.payment.manage.merchants.beans.ClientAuthFilesInfo; import au.com.royalpay.payment.manage.merchants.beans.ClientRegisterInfo; @@ -33,6 +34,7 @@ import com.alibaba.fastjson.JSONObject; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; +import org.springframework.util.Assert; import org.springframework.validation.Errors; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -70,6 +72,9 @@ public class PartnerViewController { @Resource private CancelOrderService cancelOrderService; + @Resource + private OrderMapper orderMapper; + @RequestMapping(method = RequestMethod.GET) @RequirePartner @ResponseBody @@ -689,7 +694,16 @@ public class PartnerViewController { @RequirePartner public JSONObject cancel(@ModelAttribute(CommonConsts.PARTNER_STATUS) JSONObject account, @RequestBody JSONObject order, Errors errors) { System.out.println("=====>cancel_order"); + order = orderMapper.getOrderDetail(order.getString("orderId")); + Assert.notNull(order, "Order Not Exists!"); + int clientId = order.getIntValue("client_id"); + JSONObject client = clientManager.getClientInfo(clientId); + int accountClientId = account.getIntValue("client_id"); + Assert.isTrue(accountClientId == client.getIntValue("client_id") || accountClientId == client.getIntValue("parent_client_id") + || clientManager.listLevel3Client(accountClientId).contains(client.getIntValue("parent_client_id")), + "This order is not belong to current merchant"); + //暂时未给运营端使用,仅商户端使用 - return cancelOrderService.cancelOrderOrNot(order.getString("orderId"),account.getIntValue("client_id")); + return cancelOrderService.cancelOrderOrNot(order.getString("order_id")); } } diff --git a/src/main/ui/static/payment/tradelog/templates/partner_trade_logs.html b/src/main/ui/static/payment/tradelog/templates/partner_trade_logs.html index 2f1d0a6d4..3822bd4df 100644 --- a/src/main/ui/static/payment/tradelog/templates/partner_trade_logs.html +++ b/src/main/ui/static/payment/tradelog/templates/partner_trade_logs.html @@ -779,7 +779,7 @@ From f906e0e46e472b2199d7d6be1a1e9d20c6ba5b5c Mon Sep 17 00:00:00 2001 From: Todking Date: Thu, 10 Feb 2022 17:00:41 +0800 Subject: [PATCH 6/8] =?UTF-8?q?fix=20=E5=95=86=E6=88=B7=E7=AB=AF=E6=B8=85?= =?UTF-8?q?=E7=AE=97=E8=AE=B0=E5=BD=95=E4=B8=8B=E8=BD=BD=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E8=8C=83=E5=9B=B4=E9=99=90=E5=88=B6=E4=B8=BA=E4=B8=80=E5=B9=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../payment/tradelog/partner-settlement-log.js | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/main/ui/static/payment/tradelog/partner-settlement-log.js b/src/main/ui/static/payment/tradelog/partner-settlement-log.js index fd4179fe1..56010af15 100644 --- a/src/main/ui/static/payment/tradelog/partner-settlement-log.js +++ b/src/main/ui/static/payment/tradelog/partner-settlement-log.js @@ -12,7 +12,7 @@ define(['angular', 'uiBootstrap', 'uiRouter'], function (angular) { controller: 'partnerSettlementLogCtrl' }) }]); - app.controller('partnerSettlementLogCtrl', ['$scope', 'clearingDetailService', '$http', '$filter', '$sce', function ($scope, clearingDetailService, $http, $filter, $sce) { + app.controller('partnerSettlementLogCtrl', ['$scope', 'clearingDetailService', '$http', '$filter', '$sce', 'commonDialog', function ($scope, clearingDetailService, $http, $filter, $sce, commonDialog) { $scope.params = {}; $scope.pagination = {}; $scope.htmlTooltip = $sce.trustAsHtml('
' + @@ -29,7 +29,7 @@ define(['angular', 'uiBootstrap', 'uiRouter'], function (angular) { $scope.subClientTable2 = []; $scope.choseSubClientNow = 'More'; $scope.subSearchText = ''; - $scope.searchSubClients = function (subSearchText,page) { + $scope.searchSubClients = function (subSearchText, page) { $scope.subClientTable1 = [$scope.currentUser.client]; $scope.subClientTable2 = []; @@ -39,13 +39,13 @@ define(['angular', 'uiBootstrap', 'uiRouter'], function (angular) { $scope.subSearchText = subSearchText; params.searchText = subSearchText; } - $http.get('/client/partner_info/sub_partners/page',{params: params}).then(function (resp) { + $http.get('/client/partner_info/sub_partners/page', {params: params}).then(function (resp) { var clientList = resp.data.data; $scope.subClientPagination = resp.data.pagination; clientList.forEach(function (client) { if ($scope.subClientTable1.length < 11) { $scope.subClientTable1.push(client); - }else { + } else { $scope.subClientTable2.push(client); } $scope.clients.push(client); @@ -89,6 +89,11 @@ define(['angular', 'uiBootstrap', 'uiRouter'], function (angular) { }; $scope.loadSettlementLogs = function (page) { var params = angular.copy($scope.params); + var day = (params.dateto - params.datefrom) / 86400000 + if (day > 365) { + commonDialog.alert({title: 'Error', content: '时间范围不超过一年', type: 'error'}) + return + } if (params.datefrom) { params.datefrom = $filter('date')(params.datefrom, 'yyyyMMdd'); } @@ -192,13 +197,13 @@ define(['angular', 'uiBootstrap', 'uiRouter'], function (angular) { }; if ($scope.currentUser.client.has_children && !$scope.currentUser.client.hide_sub_mch) { - $scope.searchSubClients('',1); + $scope.searchSubClients('', 1); $scope.params.dateto = new Date(); var day = new Date(); day.setDate(day.getDate() - 7); $scope.params.datefrom = day; $scope.chooseClient('all'); - }else { + } else { $scope.params.dateto = new Date(); var day = new Date(); day.setDate(day.getDate() - 7); 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 7/8] =?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)
From a5488d107dc0b58b86f91e6a72f4947d2ecb3ec2 Mon Sep 17 00:00:00 2001 From: dalong306 <304592994@qq.com> Date: Wed, 16 Feb 2022 16:49:31 +0800 Subject: [PATCH 8/8] =?UTF-8?q?=E7=89=88=E6=9C=AC=E5=8F=B7=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 924d000b4..c05d0c960 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ 4.0.0 manage - 2.4.8 + 2.4.9 UTF-8 2.4.0