diff --git a/src/main/java/au/com/royalpay/payment/manage/apps/events/listeners/AfterPaymentFinishListener.java b/src/main/java/au/com/royalpay/payment/manage/apps/events/listeners/AfterPaymentFinishListener.java index 1d498a083..9d53312e8 100644 --- a/src/main/java/au/com/royalpay/payment/manage/apps/events/listeners/AfterPaymentFinishListener.java +++ b/src/main/java/au/com/royalpay/payment/manage/apps/events/listeners/AfterPaymentFinishListener.java @@ -4,6 +4,7 @@ import au.com.royalpay.payment.core.events.AfterPaymentFinishEvent; import au.com.royalpay.payment.manage.customers.core.CustomerPaymentInfoService; import au.com.royalpay.payment.manage.mappers.system.SysCustomerPaymentInfoMapper; +import au.com.royalpay.payment.manage.merchants.core.ClientManager; import com.alibaba.fastjson.JSONObject; import org.apache.commons.lang3.StringUtils; @@ -21,6 +22,8 @@ public class AfterPaymentFinishListener implements ApplicationListener { + try { + mailService.sendEmail("你刚刚有一笔到账信息", client.getString("contact_email"), "", content); + } catch (Exception ignored) { + logger.error("邮件发送失败", ignored); + } + }).start(); + } + @Override public String getShortLink(String clientMoniker) { String longUrl = PlatformEnvironment.getEnv().concatUrl("/api/v1.0/hf_gateway/partners/" + clientMoniker + "/jump"); 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 5958044d2..d676a3328 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 @@ -546,4 +546,9 @@ public class PartnerManageController { clientManager.switchHfLink(manager, clientMoniker, pass.getBooleanValue("allow")); } + @ManagerMapping(value = "/{clientMoniker}/hf/email_notice", method = RequestMethod.PUT, role = {ManagerRole.OPERATOR, ManagerRole.BD_USER}) + public void switchHfEmailNotice(@PathVariable String clientMoniker, @RequestBody JSONObject pass, @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager) { + clientManager.switchPermission(manager, clientMoniker, "enable_hf_email_notice", pass.getBooleanValue("allow")); + } + } diff --git a/src/main/resources/templates/mail/hf_email_notice.html b/src/main/resources/templates/mail/hf_email_notice.html new file mode 100644 index 000000000..f0059fbf0 --- /dev/null +++ b/src/main/resources/templates/mail/hf_email_notice.html @@ -0,0 +1,31 @@ + + + + + + +
+
+
+ +
+
+

您好,

+

您有一笔收款信息如下:

+
+

RoyalPay到账提醒:

+
    +
  • 订单编号:
  • +
  • 收款金额:
  • +
  • 到账时间:
  • +
+
+ 此致
+ RoyalPay +
+
+ +
+ + + \ No newline at end of file diff --git a/src/main/ui/static/images/royalpay_logo.png b/src/main/ui/static/images/royalpay_logo.png new file mode 100644 index 000000000..aad8a6873 Binary files /dev/null and b/src/main/ui/static/images/royalpay_logo.png differ diff --git a/src/main/ui/static/payment/partner/partner-manage.js b/src/main/ui/static/payment/partner/partner-manage.js index 664a4ad15..51dcb649d 100644 --- a/src/main/ui/static/payment/partner/partner-manage.js +++ b/src/main/ui/static/payment/partner/partner-manage.js @@ -1373,7 +1373,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter }) }) }; - $scope.init = {jsapi: false, gateway: false, offline: false, refund: false,common_sub_merchant_id:false, channel: {},gateway_alipay_online:false,hf_Link:false}; + $scope.init = {jsapi: false, gateway: false, offline: false, refund: false,common_sub_merchant_id:false, channel: {},gateway_alipay_online:false,hf_Link:false,enable_hf_email_notice:false}; $scope.switchCommonSubMerchantId = function () { if (!$scope.paymentInfo) { return; @@ -1478,6 +1478,25 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter }) }; + $scope.toggleHfEmailNotice = function () { + if (!$scope.paymentInfo) { + return; + } + if (!$scope.init.enable_hf_email_notice) { + $scope.init.enable_hf_email_notice = true; + return; + } + $http.put('/sys/partners/' + $scope.partner.client_moniker + '/hf/email_notice', {allow: $scope.paymentInfo.enable_hf_email_notice}).then(function () { + $scope.loadPartnerPaymentInfo(); + }, function (resp) { + commonDialog.alert({ + title: 'Failed to change enable_hf_email_notice permission status', + content: resp.data.message, + type: 'error' + }); + }) + }; + $scope.toggleJsApi = function () { if (!$scope.paymentInfo) { return; 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 2ec731a81..b795ed76b 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 @@ -331,6 +331,12 @@   {{paymentInfo.hf_pay_url}} +
+ +
+ +
+