From f9f58012e40649a9da61eafaeb1abc19f6bb257d Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Tue, 15 May 2018 11:14:03 +0800 Subject: [PATCH 01/23] add mailgun interface --- src/db/modify.sql | 12 ++++ .../manage/mappers/system/MailSendMapper.java | 19 ++++++ .../manage/system/core/MailService.java | 13 ++++ .../system/core/impl/MailServiceImpl.java | 67 +++++++++++++++++++ .../system/web/MailCallBackController.java | 20 +++--- src/main/resources/application.properties | 1 + .../impls/CustomerImpressionImplTest.java | 29 ++++++++ .../system/core/impl/MailServiceImplTest.java | 30 +++++++++ 8 files changed, 182 insertions(+), 9 deletions(-) create mode 100644 src/main/java/au/com/royalpay/payment/manage/mappers/system/MailSendMapper.java create mode 100644 src/main/java/au/com/royalpay/payment/manage/system/core/MailService.java create mode 100644 src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailServiceImpl.java create mode 100644 src/test/java/au/com/royalpay/payment/manage/system/core/impl/MailServiceImplTest.java diff --git a/src/db/modify.sql b/src/db/modify.sql index 79f642563..dda8f0110 100644 --- a/src/db/modify.sql +++ b/src/db/modify.sql @@ -491,3 +491,15 @@ CREATE TABLE `pmt_directed_bill_code` ( ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 + +CREATE TABLE `sys_mail_send` ( + `id` int(11) NOT NULL, + `mail_address` varchar(100) NOT NULL COMMENT '邮箱地址', + `message_id` varchar(60) NOT NULL COMMENT 'Mailgun Message id', + `status` int(9) NOT NULL DEFAULT 0, + `create_time` datetime not null DEFAULT now(), + `title` varchar(50) NOT NULL comment '邮件标题', + PRIMARY KEY (`id`,`mail_address`), + KEY `mail_address` (`mail_address`), + KEY `id` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 \ No newline at end of file diff --git a/src/main/java/au/com/royalpay/payment/manage/mappers/system/MailSendMapper.java b/src/main/java/au/com/royalpay/payment/manage/mappers/system/MailSendMapper.java new file mode 100644 index 000000000..1f2151837 --- /dev/null +++ b/src/main/java/au/com/royalpay/payment/manage/mappers/system/MailSendMapper.java @@ -0,0 +1,19 @@ +package au.com.royalpay.payment.manage.mappers.system; + +import com.alibaba.fastjson.JSONObject; + +import cn.yixblog.support.mybatis.autosql.annotations.AutoMapper; +import cn.yixblog.support.mybatis.autosql.annotations.AutoSql; +import cn.yixblog.support.mybatis.autosql.annotations.SqlType; + +/** + * Create by yixian at 2017-12-13 19:10 + */ +@AutoMapper(tablename = "sys_mail_send", pkName = "id") +public interface MailSendMapper { + @AutoSql(type = SqlType.INSERT) + void save(JSONObject record); + + @AutoSql(type = SqlType.UPDATE) + void update(JSONObject record); +} diff --git a/src/main/java/au/com/royalpay/payment/manage/system/core/MailService.java b/src/main/java/au/com/royalpay/payment/manage/system/core/MailService.java new file mode 100644 index 000000000..542ec8854 --- /dev/null +++ b/src/main/java/au/com/royalpay/payment/manage/system/core/MailService.java @@ -0,0 +1,13 @@ +package au.com.royalpay.payment.manage.system.core; + + +import au.com.royalpay.payment.tools.mail.SendMail; + +import com.alibaba.fastjson.JSONObject; + +public interface MailService { + + void dealNotify(String nofityString) throws Exception; + + JSONObject sendMail(SendMail sendMail); +} diff --git a/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailServiceImpl.java new file mode 100644 index 000000000..be96a9027 --- /dev/null +++ b/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailServiceImpl.java @@ -0,0 +1,67 @@ +package au.com.royalpay.payment.manage.system.core.impl; + +import au.com.royalpay.payment.manage.mappers.system.MailSendMapper; +import au.com.royalpay.payment.manage.system.core.MailService; +import au.com.royalpay.payment.tools.mail.MailGunClient; +import au.com.royalpay.payment.tools.mail.SendMail; + +import com.alibaba.fastjson.JSONObject; + +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Service; + +import java.net.URLDecoder; +import java.util.HashMap; +import java.util.Map; + +import javax.annotation.Resource; + +@Service +public class MailServiceImpl implements MailService { + Logger logger = LoggerFactory.getLogger(getClass()); + + @Resource + private MailSendMapper mailSendMapper; + + @Resource + private MailGunClient mailGunClient; + + @Override + public void dealNotify(String nofityString) throws Exception { + String dd = URLDecoder.decode(nofityString, "UTF-8"); + Map mailgunNotify = getQueryMap(nofityString); + String myData = mailgunNotify.get("my-custom-data"); + String recipient = mailgunNotify.get("recipient"); + if (StringUtils.isNotEmpty(myData) && StringUtils.isNotEmpty(recipient)) { + JSONObject tmpJSONObject = JSONObject.parseObject(myData); + String[] mailAddresses = recipient.split(","); + for (String mailAddress : mailAddresses) { + JSONObject record = new JSONObject(); + record.put("id", tmpJSONObject.getString("id")); + record.put("mail_address", mailAddress); + record.put("status", 1); + mailSendMapper.update(record); + } + } + } + + @Override + public JSONObject sendMail(SendMail sendMail) { + return mailGunClient.sendMail(sendMail); + } + + public Map getQueryMap(String query) { + String[] params = query.split("&"); + Map map = new HashMap<>(); + for (String param : params) { + String [] tmpArr= param.split("="); + if(tmpArr.length<2){ + continue; + } + map.put(tmpArr[0], tmpArr[1]); + } + return map; + } +} diff --git a/src/main/java/au/com/royalpay/payment/manage/system/web/MailCallBackController.java b/src/main/java/au/com/royalpay/payment/manage/system/web/MailCallBackController.java index 7b172ce52..250245963 100644 --- a/src/main/java/au/com/royalpay/payment/manage/system/web/MailCallBackController.java +++ b/src/main/java/au/com/royalpay/payment/manage/system/web/MailCallBackController.java @@ -1,22 +1,24 @@ package au.com.royalpay.payment.manage.system.web; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import au.com.royalpay.payment.manage.system.core.MailService; + import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; -import java.util.Map; - -import javax.servlet.http.HttpServletRequest; +import javax.annotation.Resource; @RestController @RequestMapping(value = "/mailgun") public class MailCallBackController { - Logger logger = LoggerFactory.getLogger(getClass()); + + @Resource + private MailService mailService; + @RequestMapping(value = "/callback", method = RequestMethod.POST) - public void contractList(@RequestBody String content, HttpServletRequest req) { - logger.info(content); + public void contractList(@RequestBody String content) throws Exception { + mailService.dealNotify(content); } -} + +} \ No newline at end of file diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 7a0ba348a..ace9ceb57 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -99,3 +99,4 @@ app.foreign-currency=AUD app.ofei.md5-key=Khjx6wejblaJzmG0JBWFlPFKAUxhFIXQ app.ofei.pwd=aomi@8888 app.ofei.sp-code=A1407200 +mail.mailgun.api_key=api:key-96fa3b5866ace125b8ec5a9d27e19353 diff --git a/src/test/java/au/com/royalpay/payment/manage/apps/core/impls/CustomerImpressionImplTest.java b/src/test/java/au/com/royalpay/payment/manage/apps/core/impls/CustomerImpressionImplTest.java index a12a957e1..adf357c4e 100644 --- a/src/test/java/au/com/royalpay/payment/manage/apps/core/impls/CustomerImpressionImplTest.java +++ b/src/test/java/au/com/royalpay/payment/manage/apps/core/impls/CustomerImpressionImplTest.java @@ -93,12 +93,41 @@ public class CustomerImpressionImplTest { // } // } + @Test public void sendSimpleMessage() throws Exception { + String url = "https://api.mailgun.net/v3/dev.showcodes.com/messages"; + HttpRequestGenerator generator = new HttpRequestGenerator(url, RequestMethod.POST).addHeader("Authorization", getHeader()); + generator.initFileEntity().attachExternalParam("from", "postmaster@dev.showcodes.com").attachExternalParam("to", "info@dev.showcodes.com") + .attachExternalParam("v:my-custom-data","{\"key\":\"value\"}") + .attachExternalParam("subject", "阿克江啊啊艾克安居客逻辑").attachExternalParam("subscribed", "false") + .attachExternalParam("text", "扯大额卡加二胺二胺傲娇了阿姐拿进来") + .attachExternalParam("html", "

啊看见的那会计师你打卡机难爱的那是的拉屎加上就开始啦看见了

").attachExternalParam("o:tag", "test1"); + + HttpRequestResult res = null; + try { + res = generator.execute(); + } catch (URISyntaxException e) { + e.printStackTrace(); + } + System.out.println(res.getException()); + System.out.println(); + System.out.println(); + + try { + System.out.println(res.getResponseContentJSONObj().toJSONString()); + } catch (IOException e) { + e.printStackTrace(); + } + } + + @Test + public void sendSimeMessage() throws Exception { String url = "https://api.mailgun.net/v3/dev.showcodes.com/events"; HttpRequestGenerator generator = new HttpRequestGenerator(url, RequestMethod.POST).addHeader("Authorization", getHeader()); generator.addQueryString("ascending", "yes"); + generator.addQueryString("v:my-custom-data", "123456789"); generator.addQueryString("limit", "12"); System.out.println(String.valueOf(DateUtils.addDays(new Date(),1))); HttpRequestResult res = null; diff --git a/src/test/java/au/com/royalpay/payment/manage/system/core/impl/MailServiceImplTest.java b/src/test/java/au/com/royalpay/payment/manage/system/core/impl/MailServiceImplTest.java new file mode 100644 index 000000000..2f423b10a --- /dev/null +++ b/src/test/java/au/com/royalpay/payment/manage/system/core/impl/MailServiceImplTest.java @@ -0,0 +1,30 @@ +package au.com.royalpay.payment.manage.system.core.impl; + +import au.com.royalpay.payment.manage.system.core.MailService; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.ActiveProfiles; +import org.springframework.test.context.junit4.SpringRunner; + +import javax.annotation.Resource; + +@SpringBootTest +@ActiveProfiles({ "local", "alipay", "wechat", "jd", "bestpay" }) +@RunWith(SpringRunner.class) +public class MailServiceImplTest { + + @Resource + MailService mailService; + @Test + public void dealNotify() { + String dd= "timestamp=1526298391&token=b7ad8dc0905c46b1c4853200941d30417b4d3f3695815dc729&signature=a3507be4d7ad2b48c4b57202eabd6f63b75abfacd974a9bc7773dc968a12c34e&X-Mailgun-Sid=WyJlMjYwYSIsICI0NjQ1NjMxMThAcXEuY29tIiwgIjQzODY0NiJd&domain=dev.showcodes.com&X-Mailgun-Tag=test1&event=delivered&event-timestamp=1526298391.16&message-headers=[[\"X-Mailgun-Sending-Ip\", \"184.173.153.207\"], [\"X-Mailgun-Sid\", \"WyJlMjYwYSIsICI0NjQ1NjMxMThAcXEuY29tIiwgIjQzODY0NiJd\"], [\"List-Unsubscribe\", \"\"], [\"Received\", \"by luna.mailgun.net with SMTP X-Mailgun-List-Id=5544171, 8794346058393; Mon, 14 May 2018 11:46:29 +0000\"], [\"X-Mailgun-List-Id\", \"5544171\"], [\"X-Mailgun-List-Address\", \"info@dev.showcodes.com\"], [\"List-Id\", \"\"], [\"Received\", \"by luna.mailgun.net with HTTP; Mon, 14 May 2018 11:46:27 +0000\"], [\"Date\", \"Mon, 14 May 2018 11:46:27 +0000\"], [\"Sender\", \"postmaster@dev.showcodes.com\"], [\"X-Mailgun-Variables\", \"{\\\"my-custom-data\\\": \\\"{\\\\\\\"key\\\\\\\":\\\\\\\"value\\\\\\\"}\\\"}\"], [\"X-Mailgun-Tag\", \"test1\"], [\"From\", \"postmaster@dev.showcodes.com\"], [\"Subject\", \"Testqweasdzxc1\"], [\"Mime-Version\", \"1.0\"], [\"Content-Type\", [\"multipart/alternative\", {\"boundary\": \"12109fc0295a479385fcbed01f501455\"}]], [\"Message-Id\", \"<20180514114629.1.2CEFA1D27B4659C4@dev.showcodes.com>\"], [\"To\", \"yz <464563118@qq.com>\"]]&Message-Id=<20180514114629.1.2CEFA1D27B4659C4@dev.showcodes.com>&recipient=464563118@qq.com&my-custom-data={\"id\":\"123\"}&body-plain="; + try { + mailService.dealNotify(dd); + + } catch (Exception e) { + e.printStackTrace(); + } + } +} \ No newline at end of file From 7e21301e7d4fcd36fface79370c9e3197e36433c Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Tue, 15 May 2018 15:11:17 +0800 Subject: [PATCH 02/23] update --- pom.xml | 5 ----- .../signin/core/impls/SignInAccountServiceImpl.java | 13 +++++++++++-- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/pom.xml b/pom.xml index d43ae02c5..6c9ab7a3d 100644 --- a/pom.xml +++ b/pom.xml @@ -16,11 +16,6 @@ au.com.royalpay.payment tools - - cn.yixblog - yixblog-platform - 1.2.0 - au.com.royalpay.payment payment-core diff --git a/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/SignInAccountServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/SignInAccountServiceImpl.java index b085daed0..0435dfd8f 100644 --- a/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/SignInAccountServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/SignInAccountServiceImpl.java @@ -9,18 +9,19 @@ import au.com.royalpay.payment.manage.mappers.system.ManagerMapper; import au.com.royalpay.payment.manage.mappers.system.OrgMapper; import au.com.royalpay.payment.manage.merchants.core.ClientConfigService; import au.com.royalpay.payment.manage.merchants.core.ClientManager; -import au.com.royalpay.payment.manage.notice.core.MailService; import au.com.royalpay.payment.manage.signin.beans.ChangePwdBean; import au.com.royalpay.payment.manage.signin.beans.LoginInfo; import au.com.royalpay.payment.manage.signin.core.SignInAccountService; import au.com.royalpay.payment.manage.signin.core.SignInStatusManager; import au.com.royalpay.payment.manage.signin.events.ClientLoginEvent; import au.com.royalpay.payment.manage.signin.events.ManagerLoginEvent; +import au.com.royalpay.payment.manage.system.core.MailService; import au.com.royalpay.payment.tools.env.PlatformEnvironment; import au.com.royalpay.payment.tools.env.RequestEnvironment; import au.com.royalpay.payment.tools.exceptions.BadRequestException; import au.com.royalpay.payment.tools.exceptions.ForbiddenException; import au.com.royalpay.payment.tools.locale.LocaleSupport; +import au.com.royalpay.payment.tools.mail.SendMail; import au.com.royalpay.payment.tools.utils.PasswordUtils; import com.alibaba.fastjson.JSONObject; @@ -39,8 +40,10 @@ import org.thymeleaf.spring4.SpringTemplateEngine; import java.util.ArrayList; import java.util.HashMap; +import java.util.HashSet; import java.util.List; import java.util.Map; +import java.util.Set; import javax.annotation.Resource; @@ -308,7 +311,13 @@ public class SignInAccountServiceImpl implements SignInAccountService, Applicati new Thread(() -> { try { - mailService.sendEmail("Reset Password", contact_email, "", content); + SendMail sendMail = new SendMail(); + Set to = new HashSet<>(); + to.add(contact_email); + sendMail.setMailTos(to); + sendMail.setTitle("Reset Password"); + sendMail.setContent(content); + mailService.sendMail(sendMail); } catch (Exception ignored) { } }).start(); From a46cfe5444cb4f0bb8035562f07a604ca832651d Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Tue, 15 May 2018 16:37:17 +0800 Subject: [PATCH 03/23] modify mail send --- .../core/impls/ClientManagerImpl.java | 34 ++++++++++++++----- .../core/impls/SignInAccountServiceImpl.java | 4 +-- .../{MailService.java => MailGunService.java} | 2 +- ...rviceImpl.java => MailGunServiceImpl.java} | 4 +-- .../system/web/MailCallBackController.java | 4 +-- src/main/resources/application.properties | 2 ++ .../impls/CustomerImpressionImplTest.java | 26 ++++++++++---- ...lTest.java => MailGunServiceImplTest.java} | 6 ++-- 8 files changed, 57 insertions(+), 25 deletions(-) rename src/main/java/au/com/royalpay/payment/manage/system/core/{MailService.java => MailGunService.java} (88%) rename src/main/java/au/com/royalpay/payment/manage/system/core/impl/{MailServiceImpl.java => MailGunServiceImpl.java} (94%) rename src/test/java/au/com/royalpay/payment/manage/system/core/impl/{MailServiceImplTest.java => MailGunServiceImplTest.java} (94%) 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 f7a08274c..7ac00730b 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 @@ -69,6 +69,7 @@ import au.com.royalpay.payment.manage.signin.beans.TodoNotice; import au.com.royalpay.payment.manage.signin.core.ManagerTodoNoticeProvider; import au.com.royalpay.payment.manage.signin.core.SignInAccountService; import au.com.royalpay.payment.manage.system.core.ClientContractService; +import au.com.royalpay.payment.manage.system.core.MailGunService; import au.com.royalpay.payment.manage.tradelog.beans.TradeLogQuery; import au.com.royalpay.payment.tools.connections.attachment.core.AttachmentClient; import au.com.royalpay.payment.tools.connections.mpsupport.MpWechatApi; @@ -83,6 +84,7 @@ import au.com.royalpay.payment.tools.exceptions.NotFoundException; import au.com.royalpay.payment.tools.exceptions.ServerErrorException; import au.com.royalpay.payment.tools.exceptions.event.WechatExceptionEvent; import au.com.royalpay.payment.tools.locale.LocaleSupport; +import au.com.royalpay.payment.tools.mail.SendMail; import au.com.royalpay.payment.tools.merchants.beans.QRCodeConfig; import au.com.royalpay.payment.tools.merchants.beans.UpdateSurchargeDTO; import au.com.royalpay.payment.tools.merchants.core.MerchantInfoProvider; @@ -145,8 +147,10 @@ import java.net.URL; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; +import java.util.HashSet; import java.util.List; import java.util.Objects; +import java.util.Set; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; import java.util.zip.ZipEntry; @@ -260,6 +264,8 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid private ClientInfoCacheSupport clientInfoCacheSupport; @Resource private MongoTemplate mongoTemplate; + @Resource + private MailGunService mailGunService; private static final String SOURCE_AGREE_FILE = "source_agree_file"; private static final String CLIENT_BANK_FILE = "client_bank_file"; @@ -790,7 +796,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid if (StringUtils.isEmpty(mailTo)) { throw new EmailException("Client Contact Email is invalid"); } - final List emails = new ArrayList<>(); + final Set emails = new HashSet<>(); for (JSONObject bd : bds) { String email = bd.getString("email"); if (StringUtils.isNotEmpty(email)) { @@ -801,9 +807,15 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid @Override public void run() { try { - String emailId = mailService.sendEmail("Your RoyalPay Cross-border Payment has been set up", mailTo, - emails.isEmpty() ? "" : StringUtils.join(emails, ","), content); - clientModifySupport.processClientModify(new EmailModify(account, client.getString("client_moniker"), 3, emailId)); + SendMail sendMail = new SendMail(); + Set to = new HashSet<>(); + to.add(mailTo); + sendMail.setMailTos(to); + sendMail.setMailCcs(emails); + sendMail.setTitle("Your RoyalPay Cross-border Payment has been set up"); + sendMail.setContent(content); + JSONObject mailResult = mailGunService.sendMail(sendMail); + clientModifySupport.processClientModify(new EmailModify(account, client.getString("client_moniker"), 3, mailResult.getString("mail_id"))); } catch (Exception e) { clientModifySupport.processClientModify(new EmailModify(account, client.getString("client_moniker"), 0, null)); throw new EmailException("Email Sending Failed", e); @@ -837,7 +849,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid } List bds = clientBDMapper.listClientBDInfoAvailable(client.getIntValue("client_id"), new Date()); - final List emails = new ArrayList<>(); + final Set emails = new HashSet<>(); for (JSONObject bd : bds) { String email = bd.getString("email"); if (StringUtils.isNotEmpty(email)) { @@ -848,9 +860,15 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid @Override public void run() { try { - String emailId = mailService.sendEmail("Your Partner Account Has Been Authenticated Successfully", mailTo, - emails.isEmpty() ? "" : StringUtils.join(emails, ","), content); - clientModifySupport.processClientModify(new EmailModify(account, client.getString("client_moniker"), 3, emailId)); + SendMail sendMail = new SendMail(); + Set to = new HashSet<>(); + to.add(mailTo); + sendMail.setMailTos(to); + sendMail.setMailCcs(emails); + sendMail.setTitle("Your Partner Account Has Been Authenticated Successfully"); + sendMail.setContent(content); + JSONObject mailResult = mailGunService.sendMail(sendMail); + clientModifySupport.processClientModify(new EmailModify(account, client.getString("client_moniker"), 3, mailResult.getString("mail_id"))); } catch (Exception e) { throw new EmailException("Email Sending Failed", e); } diff --git a/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/SignInAccountServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/SignInAccountServiceImpl.java index 0435dfd8f..dd6da4053 100644 --- a/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/SignInAccountServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/SignInAccountServiceImpl.java @@ -15,7 +15,7 @@ import au.com.royalpay.payment.manage.signin.core.SignInAccountService; import au.com.royalpay.payment.manage.signin.core.SignInStatusManager; import au.com.royalpay.payment.manage.signin.events.ClientLoginEvent; import au.com.royalpay.payment.manage.signin.events.ManagerLoginEvent; -import au.com.royalpay.payment.manage.system.core.MailService; +import au.com.royalpay.payment.manage.system.core.MailGunService; import au.com.royalpay.payment.tools.env.PlatformEnvironment; import au.com.royalpay.payment.tools.env.RequestEnvironment; import au.com.royalpay.payment.tools.exceptions.BadRequestException; @@ -63,7 +63,7 @@ public class SignInAccountServiceImpl implements SignInAccountService, Applicati @Resource private ClientMapper clientMapper; @Resource - private MailService mailService; + private MailGunService mailService; @Resource private PermissionManager permissionManager; @Resource diff --git a/src/main/java/au/com/royalpay/payment/manage/system/core/MailService.java b/src/main/java/au/com/royalpay/payment/manage/system/core/MailGunService.java similarity index 88% rename from src/main/java/au/com/royalpay/payment/manage/system/core/MailService.java rename to src/main/java/au/com/royalpay/payment/manage/system/core/MailGunService.java index 542ec8854..984b80281 100644 --- a/src/main/java/au/com/royalpay/payment/manage/system/core/MailService.java +++ b/src/main/java/au/com/royalpay/payment/manage/system/core/MailGunService.java @@ -5,7 +5,7 @@ import au.com.royalpay.payment.tools.mail.SendMail; import com.alibaba.fastjson.JSONObject; -public interface MailService { +public interface MailGunService { void dealNotify(String nofityString) throws Exception; diff --git a/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImpl.java similarity index 94% rename from src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailServiceImpl.java rename to src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImpl.java index be96a9027..0390287f0 100644 --- a/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImpl.java @@ -1,7 +1,7 @@ package au.com.royalpay.payment.manage.system.core.impl; import au.com.royalpay.payment.manage.mappers.system.MailSendMapper; -import au.com.royalpay.payment.manage.system.core.MailService; +import au.com.royalpay.payment.manage.system.core.MailGunService; import au.com.royalpay.payment.tools.mail.MailGunClient; import au.com.royalpay.payment.tools.mail.SendMail; @@ -19,7 +19,7 @@ import java.util.Map; import javax.annotation.Resource; @Service -public class MailServiceImpl implements MailService { +public class MailGunServiceImpl implements MailGunService { Logger logger = LoggerFactory.getLogger(getClass()); @Resource diff --git a/src/main/java/au/com/royalpay/payment/manage/system/web/MailCallBackController.java b/src/main/java/au/com/royalpay/payment/manage/system/web/MailCallBackController.java index 250245963..45ea7ac90 100644 --- a/src/main/java/au/com/royalpay/payment/manage/system/web/MailCallBackController.java +++ b/src/main/java/au/com/royalpay/payment/manage/system/web/MailCallBackController.java @@ -1,6 +1,6 @@ package au.com.royalpay.payment.manage.system.web; -import au.com.royalpay.payment.manage.system.core.MailService; +import au.com.royalpay.payment.manage.system.core.MailGunService; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -14,7 +14,7 @@ import javax.annotation.Resource; public class MailCallBackController { @Resource - private MailService mailService; + private MailGunService mailService; @RequestMapping(value = "/callback", method = RequestMethod.POST) public void contractList(@RequestBody String content) throws Exception { diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index ace9ceb57..316d47f7d 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -100,3 +100,5 @@ app.ofei.md5-key=Khjx6wejblaJzmG0JBWFlPFKAUxhFIXQ app.ofei.pwd=aomi@8888 app.ofei.sp-code=A1407200 mail.mailgun.api_key=api:key-96fa3b5866ace125b8ec5a9d27e19353 +mail.mailgun.domain=dev.showcodes.com + diff --git a/src/test/java/au/com/royalpay/payment/manage/apps/core/impls/CustomerImpressionImplTest.java b/src/test/java/au/com/royalpay/payment/manage/apps/core/impls/CustomerImpressionImplTest.java index adf357c4e..4e3e7203e 100644 --- a/src/test/java/au/com/royalpay/payment/manage/apps/core/impls/CustomerImpressionImplTest.java +++ b/src/test/java/au/com/royalpay/payment/manage/apps/core/impls/CustomerImpressionImplTest.java @@ -34,7 +34,7 @@ import cn.yixblog.platform.http.HttpRequestResult; * Created by wangning on 05/01/2018. */ @SpringBootTest -@ActiveProfiles({ "proxy", "alipay", "wechat", "jd", "bestpay" }) +@ActiveProfiles({ "local", "alipay", "wechat", "jd", "bestpay" }) @RunWith(SpringRunner.class) public class CustomerImpressionImplTest { @Resource @@ -49,6 +49,7 @@ public class CustomerImpressionImplTest { @Resource private MailGunClient mailGunClient; + // @Test // public void redisQueue() { // BoundListOperations ops = stringRedisTemplate.boundListOps("customer_impression"); @@ -96,13 +97,9 @@ public class CustomerImpressionImplTest { @Test public void sendSimpleMessage() throws Exception { - String url = "https://api.mailgun.net/v3/dev.showcodes.com/messages"; + String url = "https://api.mailgun.net/v3/dev.showcodes.com/messages?from=postmaster@dev.showcodes.com&to=164851225@qq.com,1029811920@qq.com&subject=啊是记录&text=暗杀苏&v:my-custom-data={\"key\":\"value\"}"; + String asd = "王宁测试标题"; HttpRequestGenerator generator = new HttpRequestGenerator(url, RequestMethod.POST).addHeader("Authorization", getHeader()); - generator.initFileEntity().attachExternalParam("from", "postmaster@dev.showcodes.com").attachExternalParam("to", "info@dev.showcodes.com") - .attachExternalParam("v:my-custom-data","{\"key\":\"value\"}") - .attachExternalParam("subject", "阿克江啊啊艾克安居客逻辑").attachExternalParam("subscribed", "false") - .attachExternalParam("text", "扯大额卡加二胺二胺傲娇了阿姐拿进来") - .attachExternalParam("html", "

啊看见的那会计师你打卡机难爱的那是的拉屎加上就开始啦看见了

").attachExternalParam("o:tag", "test1"); HttpRequestResult res = null; try { @@ -163,6 +160,21 @@ public class CustomerImpressionImplTest { sendMail.setMailCcs(mailCCs); Set mailtos = new HashSet<>(); mailtos.add("1029811920@qq.com"); + mailtos.add("164851225@qq.com"); + mailtos.add("1@qq.com"); + mailtos.add("5@qq.com"); + mailtos.add("6@qq.com"); + mailtos.add("12@qq.com"); + mailtos.add("13@qq.com"); + mailtos.add("14@qq.com"); + mailtos.add("15@qq.com"); + mailtos.add("16@qq.com"); + mailtos.add("17@qq.com"); + mailtos.add("18@qq.com"); + mailtos.add("19@qq.com"); + mailtos.add("2@qq.com"); + mailtos.add("4@qq.com"); + mailtos.add("3@qq.com"); sendMail.setMailTos(mailtos); sendMail.setTitle("Final Test"); diff --git a/src/test/java/au/com/royalpay/payment/manage/system/core/impl/MailServiceImplTest.java b/src/test/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImplTest.java similarity index 94% rename from src/test/java/au/com/royalpay/payment/manage/system/core/impl/MailServiceImplTest.java rename to src/test/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImplTest.java index 2f423b10a..d929b6259 100644 --- a/src/test/java/au/com/royalpay/payment/manage/system/core/impl/MailServiceImplTest.java +++ b/src/test/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImplTest.java @@ -1,6 +1,6 @@ package au.com.royalpay.payment.manage.system.core.impl; -import au.com.royalpay.payment.manage.system.core.MailService; +import au.com.royalpay.payment.manage.system.core.MailGunService; import org.junit.Test; import org.junit.runner.RunWith; @@ -13,10 +13,10 @@ import javax.annotation.Resource; @SpringBootTest @ActiveProfiles({ "local", "alipay", "wechat", "jd", "bestpay" }) @RunWith(SpringRunner.class) -public class MailServiceImplTest { +public class MailGunServiceImplTest { @Resource - MailService mailService; + MailGunService mailService; @Test public void dealNotify() { String dd= "timestamp=1526298391&token=b7ad8dc0905c46b1c4853200941d30417b4d3f3695815dc729&signature=a3507be4d7ad2b48c4b57202eabd6f63b75abfacd974a9bc7773dc968a12c34e&X-Mailgun-Sid=WyJlMjYwYSIsICI0NjQ1NjMxMThAcXEuY29tIiwgIjQzODY0NiJd&domain=dev.showcodes.com&X-Mailgun-Tag=test1&event=delivered&event-timestamp=1526298391.16&message-headers=[[\"X-Mailgun-Sending-Ip\", \"184.173.153.207\"], [\"X-Mailgun-Sid\", \"WyJlMjYwYSIsICI0NjQ1NjMxMThAcXEuY29tIiwgIjQzODY0NiJd\"], [\"List-Unsubscribe\", \"\"], [\"Received\", \"by luna.mailgun.net with SMTP X-Mailgun-List-Id=5544171, 8794346058393; Mon, 14 May 2018 11:46:29 +0000\"], [\"X-Mailgun-List-Id\", \"5544171\"], [\"X-Mailgun-List-Address\", \"info@dev.showcodes.com\"], [\"List-Id\", \"\"], [\"Received\", \"by luna.mailgun.net with HTTP; Mon, 14 May 2018 11:46:27 +0000\"], [\"Date\", \"Mon, 14 May 2018 11:46:27 +0000\"], [\"Sender\", \"postmaster@dev.showcodes.com\"], [\"X-Mailgun-Variables\", \"{\\\"my-custom-data\\\": \\\"{\\\\\\\"key\\\\\\\":\\\\\\\"value\\\\\\\"}\\\"}\"], [\"X-Mailgun-Tag\", \"test1\"], [\"From\", \"postmaster@dev.showcodes.com\"], [\"Subject\", \"Testqweasdzxc1\"], [\"Mime-Version\", \"1.0\"], [\"Content-Type\", [\"multipart/alternative\", {\"boundary\": \"12109fc0295a479385fcbed01f501455\"}]], [\"Message-Id\", \"<20180514114629.1.2CEFA1D27B4659C4@dev.showcodes.com>\"], [\"To\", \"yz <464563118@qq.com>\"]]&Message-Id=<20180514114629.1.2CEFA1D27B4659C4@dev.showcodes.com>&recipient=464563118@qq.com&my-custom-data={\"id\":\"123\"}&body-plain="; From 13630616932624708a33202534f729d410980ccb Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Tue, 15 May 2018 16:37:43 +0800 Subject: [PATCH 04/23] update --- src/main/resources/application-local.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/application-local.properties b/src/main/resources/application-local.properties index f2f13acd0..91173a856 100644 --- a/src/main/resources/application-local.properties +++ b/src/main/resources/application-local.properties @@ -1,6 +1,6 @@ spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.schema-name=royalpay_production -spring.datasource.host=192.168.99.103:3306 +spring.datasource.host=192.168.0.49:3306 spring.datasource.url=jdbc:mysql://${spring.datasource.host}/${spring.datasource.schema-name}?useUnicode=true&characterEncoding=utf8&useSSL=false spring.datasource.username=root spring.datasource.password=root \ No newline at end of file From 74b685beb8542af9a9545ea941c97130b8a69f81 Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Tue, 15 May 2018 16:41:04 +0800 Subject: [PATCH 05/23] update --- .../payment/manage/system/core/impl/MailGunServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImpl.java index 0390287f0..fcdc08ed4 100644 --- a/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImpl.java @@ -31,7 +31,7 @@ public class MailGunServiceImpl implements MailGunService { @Override public void dealNotify(String nofityString) throws Exception { String dd = URLDecoder.decode(nofityString, "UTF-8"); - Map mailgunNotify = getQueryMap(nofityString); + Map mailgunNotify = getQueryMap(dd); String myData = mailgunNotify.get("my-custom-data"); String recipient = mailgunNotify.get("recipient"); if (StringUtils.isNotEmpty(myData) && StringUtils.isNotEmpty(recipient)) { From cfa1f5f6e0884fdc427c092b965ca3dbff88b9e3 Mon Sep 17 00:00:00 2001 From: yuan <1551130722@qq.com> Date: Tue, 15 May 2018 16:42:17 +0800 Subject: [PATCH 06/23] add~ --- .../core/impls/ClientManagerImpl.java | 74 +++++++++++++++++++ 1 file changed, 74 insertions(+) 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 7ac00730b..488aa2f79 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 @@ -107,6 +107,7 @@ import com.github.miemiedev.mybatis.paginator.domain.Order; import com.github.miemiedev.mybatis.paginator.domain.PageBounds; import com.github.miemiedev.mybatis.paginator.domain.PageList; +import org.apache.commons.codec.binary.Base64; import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.RandomStringUtils; @@ -144,6 +145,7 @@ import java.io.OutputStream; import java.math.BigDecimal; import java.net.URISyntaxException; import java.net.URL; +import java.nio.charset.Charset; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; @@ -578,6 +580,11 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid clientApplyMapper.updatePartnerApplication(apply); } } + try { + JSONObject res = addClientToMailList(partner); + }catch (Exception e){ + logger.error("邮件列表添加成员失败",e); + } return partner; } @@ -3335,4 +3342,71 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid checkOrgPermission(manager, client); return logClientSubMerchantIdMapper.listLogsByClientId(client.getInteger("client_id")); } + + public JSONObject addClientToMailList(JSONObject client){ + String createUrl = "https://api.mailgun.net/v3/lists/1551130722@sandbox08f2aafe29184b08b38322106c8bd4f5.mailgun.org/members"; + + JSONObject vars = new JSONObject(); + vars.put("client_moniker",client.getString("client_moniker")); + vars.put("short_name",client.getString("short_name")); + vars.put("bd_user_name",client.getString("bd_user_name")); + vars.put("company_phone",client.getString("company_phone")); + vars.put("description",client.getString("description")); + + HttpRequestGenerator generator = new HttpRequestGenerator(createUrl, RequestMethod.POST) + .addHeader("Authorization",getHeader()) + .addQueryString("subscribed","true") + .addQueryString("address",client.getString("contact_email")) + .addQueryString("name",client.getString("company_name")) + .addQueryString("description","merchant") + .addQueryString("vars",vars.toJSONString()); + HttpRequestResult res = null; + try { + res = generator.execute(); + } catch (URISyntaxException e) { + e.printStackTrace(); + } + try { + return res.getResponseContentJSONObj(); + } catch (IOException e) { + e.printStackTrace(); + } + return null; + } + + public JSONObject updateClientOfMailList(JSONObject newClient,JSONObject oldClient){ + String createUrl = "https://api.mailgun.net/v3/lists/1551130722@sandbox08f2aafe29184b08b38322106c8bd4f5.mailgun.org/members/"+oldClient.getString("contact_email"); + + JSONObject vars = new JSONObject(); + vars.put("client_moniker",newClient.getString("client_moniker")); + vars.put("short_name",newClient.getString("short_name")); + vars.put("bd_user_name",newClient.getString("bd_user_name")); + vars.put("company_phone",newClient.getString("company_phone")); + vars.put("description",newClient.getString("description")); + + HttpRequestGenerator generator = new HttpRequestGenerator(createUrl, RequestMethod.PUT).addHeader("Authorization",getHeader()) + .addQueryString("address",newClient.getString("contact_email")) + .addQueryString("name",newClient.getString("company_name")) + .addQueryString("vars",vars.toJSONString()); + HttpRequestResult res = null; + try { + res = generator.execute(); + } catch (URISyntaxException e) { + e.printStackTrace(); + } + try { + return res.getResponseContentJSONObj(); + } catch (IOException e) { + e.printStackTrace(); + } + + return null; + } + + private String getHeader() { + String auth = "api:key-17c2d9f2b569cfc0983320cfb22d3fdc"; + byte[] encodedAuth = Base64.encodeBase64(auth.getBytes(Charset.forName("UTF-8"))); + String authHeader = "Basic " + new String(encodedAuth); + return authHeader; + } } From 9126519dcfee4ddef1b4da9c81834ca750a35dff Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Tue, 15 May 2018 17:53:51 +0800 Subject: [PATCH 07/23] merge --- .../core/impls/ClientManagerImpl.java | 74 +------------------ .../manage/system/core/MailGunService.java | 4 + .../system/core/impl/MailGunServiceImpl.java | 29 ++++++++ 3 files changed, 37 insertions(+), 70 deletions(-) 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 488aa2f79..6cf91fc01 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 @@ -107,7 +107,6 @@ import com.github.miemiedev.mybatis.paginator.domain.Order; import com.github.miemiedev.mybatis.paginator.domain.PageBounds; import com.github.miemiedev.mybatis.paginator.domain.PageList; -import org.apache.commons.codec.binary.Base64; import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.RandomStringUtils; @@ -145,7 +144,6 @@ import java.io.OutputStream; import java.math.BigDecimal; import java.net.URISyntaxException; import java.net.URL; -import java.nio.charset.Charset; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; @@ -581,7 +579,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid } } try { - JSONObject res = addClientToMailList(partner); + mailGunService.addClientToMailList(partner); }catch (Exception e){ logger.error("邮件列表添加成员失败",e); } @@ -620,6 +618,9 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid } } clientMapper.update(updateInfo); + if(client.getString("contact_email").equals(updateInfo.getString("contact_email"))){ + mailGunService.updateClientOfMailList(updateInfo,client); + } clientInfoCacheSupport.clearClientCache(clientId); } @@ -3342,71 +3343,4 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid checkOrgPermission(manager, client); return logClientSubMerchantIdMapper.listLogsByClientId(client.getInteger("client_id")); } - - public JSONObject addClientToMailList(JSONObject client){ - String createUrl = "https://api.mailgun.net/v3/lists/1551130722@sandbox08f2aafe29184b08b38322106c8bd4f5.mailgun.org/members"; - - JSONObject vars = new JSONObject(); - vars.put("client_moniker",client.getString("client_moniker")); - vars.put("short_name",client.getString("short_name")); - vars.put("bd_user_name",client.getString("bd_user_name")); - vars.put("company_phone",client.getString("company_phone")); - vars.put("description",client.getString("description")); - - HttpRequestGenerator generator = new HttpRequestGenerator(createUrl, RequestMethod.POST) - .addHeader("Authorization",getHeader()) - .addQueryString("subscribed","true") - .addQueryString("address",client.getString("contact_email")) - .addQueryString("name",client.getString("company_name")) - .addQueryString("description","merchant") - .addQueryString("vars",vars.toJSONString()); - HttpRequestResult res = null; - try { - res = generator.execute(); - } catch (URISyntaxException e) { - e.printStackTrace(); - } - try { - return res.getResponseContentJSONObj(); - } catch (IOException e) { - e.printStackTrace(); - } - return null; - } - - public JSONObject updateClientOfMailList(JSONObject newClient,JSONObject oldClient){ - String createUrl = "https://api.mailgun.net/v3/lists/1551130722@sandbox08f2aafe29184b08b38322106c8bd4f5.mailgun.org/members/"+oldClient.getString("contact_email"); - - JSONObject vars = new JSONObject(); - vars.put("client_moniker",newClient.getString("client_moniker")); - vars.put("short_name",newClient.getString("short_name")); - vars.put("bd_user_name",newClient.getString("bd_user_name")); - vars.put("company_phone",newClient.getString("company_phone")); - vars.put("description",newClient.getString("description")); - - HttpRequestGenerator generator = new HttpRequestGenerator(createUrl, RequestMethod.PUT).addHeader("Authorization",getHeader()) - .addQueryString("address",newClient.getString("contact_email")) - .addQueryString("name",newClient.getString("company_name")) - .addQueryString("vars",vars.toJSONString()); - HttpRequestResult res = null; - try { - res = generator.execute(); - } catch (URISyntaxException e) { - e.printStackTrace(); - } - try { - return res.getResponseContentJSONObj(); - } catch (IOException e) { - e.printStackTrace(); - } - - return null; - } - - private String getHeader() { - String auth = "api:key-17c2d9f2b569cfc0983320cfb22d3fdc"; - byte[] encodedAuth = Base64.encodeBase64(auth.getBytes(Charset.forName("UTF-8"))); - String authHeader = "Basic " + new String(encodedAuth); - return authHeader; - } } diff --git a/src/main/java/au/com/royalpay/payment/manage/system/core/MailGunService.java b/src/main/java/au/com/royalpay/payment/manage/system/core/MailGunService.java index 984b80281..27f03809f 100644 --- a/src/main/java/au/com/royalpay/payment/manage/system/core/MailGunService.java +++ b/src/main/java/au/com/royalpay/payment/manage/system/core/MailGunService.java @@ -10,4 +10,8 @@ public interface MailGunService { void dealNotify(String nofityString) throws Exception; JSONObject sendMail(SendMail sendMail); + + JSONObject addClientToMailList(JSONObject client); + + JSONObject updateClientOfMailList(JSONObject newClient,JSONObject oldClient); } diff --git a/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImpl.java index fcdc08ed4..93d8fdd82 100644 --- a/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImpl.java @@ -52,6 +52,35 @@ public class MailGunServiceImpl implements MailGunService { return mailGunClient.sendMail(sendMail); } + @Override + public JSONObject addClientToMailList(JSONObject client) { + JSONObject result = null; + try { + JSONObject var = new JSONObject(); + var.put("client_moniker", client.getString("client_moniker")); + var.put("short_name", client.getString("short_name")); + result = mailGunClient.addListMember(client.getString("contact_email"),"merchants",client.getString("contact_person"),var); + }catch (Exception ignore){ + logger.info("add Mail List Failed email:"+client.getString("contact_email")+" client_moniker:"+client.getString("client_moniker")); + } + return result; + } + + @Override + public JSONObject updateClientOfMailList(JSONObject newClient, JSONObject oldClient) { + JSONObject result= null; + try { + JSONObject var = new JSONObject(); + var.put("client_moniker", newClient.getString("client_moniker")); + var.put("short_name", newClient.getString("short_name")); + result = mailGunClient.updateClientOfMailList(newClient.getString("contact_email"),"merchants",newClient.getString("contact_person"),oldClient.getString("contact_email"),var); + }catch (Exception ignore){ + logger.info("Modify Mail List Failed oldEmail:"+oldClient.getString("contact_email")+" client_moniker:"+newClient.getString("client_moniker") + " newEmail:"+newClient.getString("contact_email")); + } + return result; + } + + public Map getQueryMap(String query) { String[] params = query.split("&"); Map map = new HashMap<>(); From b34e6b8f3c6b67f12f57c1d4db52882f33a6579b Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Tue, 15 May 2018 18:25:28 +0800 Subject: [PATCH 08/23] update --- .../manage/merchants/core/impls/ClientManagerImpl.java | 2 ++ .../signin/core/impls/SignInAccountServiceImpl.java | 7 ++----- .../manage/system/core/impl/MailGunServiceImpl.java | 9 +++++++-- src/main/resources/application.properties | 2 ++ .../apps/core/impls/CustomerImpressionImplTest.java | 1 + 5 files changed, 14 insertions(+), 7 deletions(-) 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 6cf91fc01..c878d5739 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 @@ -818,6 +818,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid SendMail sendMail = new SendMail(); Set to = new HashSet<>(); to.add(mailTo); + sendMail.setFrom("postmaster@dev.showcodes.com"); sendMail.setMailTos(to); sendMail.setMailCcs(emails); sendMail.setTitle("Your RoyalPay Cross-border Payment has been set up"); @@ -872,6 +873,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid Set to = new HashSet<>(); to.add(mailTo); sendMail.setMailTos(to); + sendMail.setFrom("postmaster@dev.showcodes.com"); sendMail.setMailCcs(emails); sendMail.setTitle("Your Partner Account Has Been Authenticated Successfully"); sendMail.setContent(content); diff --git a/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/SignInAccountServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/SignInAccountServiceImpl.java index dd6da4053..e1431d1c7 100644 --- a/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/SignInAccountServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/SignInAccountServiceImpl.java @@ -309,18 +309,14 @@ public class SignInAccountServiceImpl implements SignInAccountService, Applicati // final String content = VelocityEngineUtils.mergeTemplateIntoString(null, "mail/reset_password.vm", // "utf-8", map); - new Thread(() -> { - try { SendMail sendMail = new SendMail(); Set to = new HashSet<>(); to.add(contact_email); sendMail.setMailTos(to); + sendMail.setFrom("postmaster@dev.showcodes.com"); sendMail.setTitle("Reset Password"); sendMail.setContent(content); mailService.sendMail(sendMail); - } catch (Exception ignored) { - } - }).start(); return contact_email; @@ -372,4 +368,5 @@ public class SignInAccountServiceImpl implements SignInAccountService, Applicati account.put("is_password_expired", 0); clientAccountMapper.update(account); } + } diff --git a/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImpl.java index 93d8fdd82..cc100462d 100644 --- a/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImpl.java @@ -10,6 +10,7 @@ import com.alibaba.fastjson.JSONObject; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import java.net.URLDecoder; @@ -28,6 +29,10 @@ public class MailGunServiceImpl implements MailGunService { @Resource private MailGunClient mailGunClient; + @Value("${mail.mailgun.default.merchantlist}") + private String mailListDefault; + + @Override public void dealNotify(String nofityString) throws Exception { String dd = URLDecoder.decode(nofityString, "UTF-8"); @@ -59,7 +64,7 @@ public class MailGunServiceImpl implements MailGunService { JSONObject var = new JSONObject(); var.put("client_moniker", client.getString("client_moniker")); var.put("short_name", client.getString("short_name")); - result = mailGunClient.addListMember(client.getString("contact_email"),"merchants",client.getString("contact_person"),var); + result = mailGunClient.addListMember(client.getString("contact_email"),mailListDefault,client.getString("contact_person"),var); }catch (Exception ignore){ logger.info("add Mail List Failed email:"+client.getString("contact_email")+" client_moniker:"+client.getString("client_moniker")); } @@ -73,7 +78,7 @@ public class MailGunServiceImpl implements MailGunService { JSONObject var = new JSONObject(); var.put("client_moniker", newClient.getString("client_moniker")); var.put("short_name", newClient.getString("short_name")); - result = mailGunClient.updateClientOfMailList(newClient.getString("contact_email"),"merchants",newClient.getString("contact_person"),oldClient.getString("contact_email"),var); + result = mailGunClient.updateClientOfMailList(newClient.getString("contact_email"),mailListDefault,newClient.getString("contact_person"),oldClient.getString("contact_email"),var); }catch (Exception ignore){ logger.info("Modify Mail List Failed oldEmail:"+oldClient.getString("contact_email")+" client_moniker:"+newClient.getString("client_moniker") + " newEmail:"+newClient.getString("contact_email")); } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 316d47f7d..56339c351 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -101,4 +101,6 @@ app.ofei.pwd=aomi@8888 app.ofei.sp-code=A1407200 mail.mailgun.api_key=api:key-96fa3b5866ace125b8ec5a9d27e19353 mail.mailgun.domain=dev.showcodes.com +mail.mailgun.default.merchantlist=info@dev.showcodes.com + diff --git a/src/test/java/au/com/royalpay/payment/manage/apps/core/impls/CustomerImpressionImplTest.java b/src/test/java/au/com/royalpay/payment/manage/apps/core/impls/CustomerImpressionImplTest.java index 4e3e7203e..a8f47cd04 100644 --- a/src/test/java/au/com/royalpay/payment/manage/apps/core/impls/CustomerImpressionImplTest.java +++ b/src/test/java/au/com/royalpay/payment/manage/apps/core/impls/CustomerImpressionImplTest.java @@ -154,6 +154,7 @@ public class CustomerImpressionImplTest { @Test public void sendSimpleMessages() throws Exception { SendMail sendMail = new SendMail(); + sendMail.setFrom("postmaster@dev.showcodes.com"); sendMail.setContent("

Hi kira

"); Set mailCCs = new HashSet<>(); mailCCs.add("164851225@qq.com"); From f32e2205fbd5d2882847e0496fdba2891dd9648a Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Tue, 15 May 2018 19:36:29 +0800 Subject: [PATCH 09/23] update --- .../manage/mappers/system/MailSendMapper.java | 5 +++ .../manage/merchants/core/ClientManager.java | 2 ++ .../core/impls/ClientManagerImpl.java | 34 +++++++++++++++++++ .../system/core/impl/MailGunServiceImpl.java | 4 +++ .../manage/task/PartnerInitEmailChecker.java | 1 + 5 files changed, 46 insertions(+) diff --git a/src/main/java/au/com/royalpay/payment/manage/mappers/system/MailSendMapper.java b/src/main/java/au/com/royalpay/payment/manage/mappers/system/MailSendMapper.java index 1f2151837..5d98a5880 100644 --- a/src/main/java/au/com/royalpay/payment/manage/mappers/system/MailSendMapper.java +++ b/src/main/java/au/com/royalpay/payment/manage/mappers/system/MailSendMapper.java @@ -2,6 +2,8 @@ package au.com.royalpay.payment.manage.mappers.system; import com.alibaba.fastjson.JSONObject; +import java.util.List; + import cn.yixblog.support.mybatis.autosql.annotations.AutoMapper; import cn.yixblog.support.mybatis.autosql.annotations.AutoSql; import cn.yixblog.support.mybatis.autosql.annotations.SqlType; @@ -16,4 +18,7 @@ public interface MailSendMapper { @AutoSql(type = SqlType.UPDATE) void update(JSONObject record); + + @AutoSql(type = SqlType.SELECT) + JSONObject find(String emailId, String contact_email); } 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 dd3a36ba7..a9e1b0313 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 @@ -71,6 +71,8 @@ public interface ClientManager { void checkEmailStatus(); + void newCheckEmailStatus(); + @Transactional void switchPermission(JSONObject manager, String clientMoniker, String permissionKey, boolean allow); 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 c878d5739..cdce87701 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 @@ -29,6 +29,7 @@ import au.com.royalpay.payment.manage.mappers.system.ClientMapper; import au.com.royalpay.payment.manage.mappers.system.ClientRateMapper; import au.com.royalpay.payment.manage.mappers.system.ClientsContractMapper; import au.com.royalpay.payment.manage.mappers.system.CommoditiesMapper; +import au.com.royalpay.payment.manage.mappers.system.MailSendMapper; import au.com.royalpay.payment.manage.mappers.system.ManagerMapper; import au.com.royalpay.payment.manage.mappers.system.OrgMapper; import au.com.royalpay.payment.manage.mappers.system.SysWxMerchantApplyMapper; @@ -266,6 +267,8 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid private MongoTemplate mongoTemplate; @Resource private MailGunService mailGunService; + @Resource + private MailSendMapper mailSendMapper; private static final String SOURCE_AGREE_FILE = "source_agree_file"; private static final String CLIENT_BANK_FILE = "client_bank_file"; @@ -935,6 +938,37 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid } } + @Override + public void newCheckEmailStatus() { + List clients = clientMapper.listClientsWithEmailNotVerify(); + for (JSONObject client : clients) { + try { + String emailId = client.getString("approve_email_id"); + JSONObject status = mailSendMapper.find(emailId,client.getString("contact_email")); + if (status!=null) { + int statusNo = status.getIntValue("status"); + logger.debug("get mail status:" + emailId + "--" + statusNo); + int mailStatus = 3; + switch (statusNo) { + case 1: + mailStatus = 1; + break; + case 2: + mailStatus = 2; + break; + } + updateClientApproveEmailStatus(mailStatus, null, client.getString("client_moniker")); + } else { + logger.debug("get mail status:" + emailId + "-- none"); + // updateClientApproveEmailStatus(client.getIntValue("client_id"), 0); + } + + } catch (Exception e) { + logger.error("check email status failed", e); + } + } + } + @Override public void switchPermission(JSONObject manager, String clientMoniker, String permissionKey, boolean allow) { JSONObject client = getClientInfoByMoniker(clientMoniker); diff --git a/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImpl.java index cc100462d..f326e209f 100644 --- a/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImpl.java @@ -1,5 +1,6 @@ package au.com.royalpay.payment.manage.system.core.impl; +import au.com.royalpay.payment.manage.mappers.system.ClientMapper; import au.com.royalpay.payment.manage.mappers.system.MailSendMapper; import au.com.royalpay.payment.manage.system.core.MailGunService; import au.com.royalpay.payment.tools.mail.MailGunClient; @@ -29,6 +30,9 @@ public class MailGunServiceImpl implements MailGunService { @Resource private MailGunClient mailGunClient; + @Resource + private ClientMapper clientMapper; + @Value("${mail.mailgun.default.merchantlist}") private String mailListDefault; diff --git a/src/main/java/au/com/royalpay/payment/manage/task/PartnerInitEmailChecker.java b/src/main/java/au/com/royalpay/payment/manage/task/PartnerInitEmailChecker.java index fd0acb9c6..60906f85f 100644 --- a/src/main/java/au/com/royalpay/payment/manage/task/PartnerInitEmailChecker.java +++ b/src/main/java/au/com/royalpay/payment/manage/task/PartnerInitEmailChecker.java @@ -22,6 +22,7 @@ public class PartnerInitEmailChecker { public void checkEmailStatus(){ if (PlatformEnvironment.getEnv().taskEnabled()) { clientManager.checkEmailStatus(); + clientManager.newCheckEmailStatus(); } } } From 2b2b5563d4a099d0488e8331132f1a077d15886d Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Wed, 16 May 2018 12:05:31 +0800 Subject: [PATCH 10/23] update --- .../notice/core/impls/MailServiceImp.java | 13 +++- .../notice/core/impls/NoticeManageImpl.java | 25 +++---- .../manage/system/core/MailGunService.java | 7 ++ .../system/core/impl/MailGunServiceImpl.java | 71 +++++++++++++++---- 4 files changed, 83 insertions(+), 33 deletions(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/notice/core/impls/MailServiceImp.java b/src/main/java/au/com/royalpay/payment/manage/notice/core/impls/MailServiceImp.java index 7605dcf26..7bf017d05 100644 --- a/src/main/java/au/com/royalpay/payment/manage/notice/core/impls/MailServiceImp.java +++ b/src/main/java/au/com/royalpay/payment/manage/notice/core/impls/MailServiceImp.java @@ -3,15 +3,13 @@ package au.com.royalpay.payment.manage.notice.core.impls; import au.com.royalpay.payment.manage.notice.beans.NoticeBean; import au.com.royalpay.payment.manage.notice.core.MailService; import au.com.royalpay.payment.tools.exceptions.ServerErrorException; -import cn.yixblog.platform.http.HttpRequestGenerator; -import cn.yixblog.platform.http.HttpRequestResult; + import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import org.apache.commons.codec.digest.DigestUtils; import org.apache.commons.lang3.RandomStringUtils; - import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; @@ -27,6 +25,9 @@ import java.net.URISyntaxException; import java.util.ArrayList; import java.util.List; +import cn.yixblog.platform.http.HttpRequestGenerator; +import cn.yixblog.platform.http.HttpRequestResult; + /** * Created by yishuqian on 18/01/2017. */ @@ -97,6 +98,12 @@ public class MailServiceImp implements MailService { noticeBean.setSenderAddress("info@royalpay.com.au"); noticeBean.setPassword("Vaba6439"); String postUrl = mailHost + "/mail?" + generateMailSignParam(); + + + + + + HttpRequestResult result = new HttpRequestGenerator(postUrl, RequestMethod.POST).setJSONEntity(noticeBean).execute(); if (result.isSuccess()) { String mail_id = result.getResponseContentJSONObj().getString("mail_id"); diff --git a/src/main/java/au/com/royalpay/payment/manage/notice/core/impls/NoticeManageImpl.java b/src/main/java/au/com/royalpay/payment/manage/notice/core/impls/NoticeManageImpl.java index 372e414ee..341611d72 100644 --- a/src/main/java/au/com/royalpay/payment/manage/notice/core/impls/NoticeManageImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/notice/core/impls/NoticeManageImpl.java @@ -10,6 +10,7 @@ import au.com.royalpay.payment.manage.notice.beans.NoticeInfo; import au.com.royalpay.payment.manage.notice.beans.NoticeQuery; import au.com.royalpay.payment.manage.notice.core.MailService; import au.com.royalpay.payment.manage.notice.core.NoticeManage; +import au.com.royalpay.payment.manage.system.core.MailGunService; import au.com.royalpay.payment.tools.exceptions.ForbiddenException; import au.com.royalpay.payment.tools.utils.PageListUtils; @@ -29,7 +30,9 @@ import java.io.IOException; import java.net.URISyntaxException; import java.util.ArrayList; import java.util.Date; +import java.util.HashSet; import java.util.List; +import java.util.Set; import javax.annotation.Resource; @@ -50,6 +53,8 @@ public class NoticeManageImpl implements NoticeManage { @Resource private MailService mailService; @Resource + private MailGunService mailGunService; + @Resource private RetailAppService retailAppService; @Resource private NotifyErrorLogMapper notifyErrorLogMapper; @@ -156,19 +161,13 @@ public class NoticeManageImpl implements NoticeManage { if (info.getStatus() != null && info.getSend_clients() != null) { if (info.getStatus().equals("1") && noticeInfo.getString("status").equals("0") && !info.getSend_clients().isEmpty()) { String client_monikers []=info.getSend_clients().split(","); - List mailto = new ArrayList<>(); + Set mailto = new HashSet<>(); ArrayList mailboxs = new ArrayList<>(); for (String clientMoniker : client_monikers) { JSONObject client = clientManager.getClientInfoByMoniker(clientMoniker); - JSONObject c = new JSONObject(); - c.put("create_time", date); - c.put("notice_id", noticeId); - c.put("client_id", client.getIntValue("client_id")); - noticePartnerMapper.save(c); String contact_email = client.getString("contact_email"); if (contact_email!=null && !mailboxs.contains(contact_email)){ - c.put("mailto",contact_email); - mailto.add(c); + mailto.add(contact_email); mailboxs.add(contact_email); } } @@ -177,17 +176,13 @@ public class NoticeManageImpl implements NoticeManage { if (info.isIs_tomail_cc_stockholder()){ String stockholder_mails_mailto [] = stockholder_mails.trim().split(","); for (String stockholder_mailto:stockholder_mails_mailto){ - JSONObject stockholder = new JSONObject(); - stockholder.put("mailto",stockholder_mailto); - stockholder.put("client_id",0); - mailto.add(stockholder); + mailto.add(stockholder_mailto); } } try { logger.info(noticeId+"|"+info.getTitle()+"|"+mailto); - - String mail_id = mailService.sendEmail(noticeId,info.getTitle(),mailto,info.getContent()); - notice.put("mail_id",mail_id); + JSONObject mailResult = mailGunService.sendEmail(noticeId,info.getTitle(),mailto,info.getContent()); + notice.put("mail_id",mailResult.getString("mail_id")); noticeManageMapper.updateNotice(notice); } catch (URISyntaxException | IOException e) { e.printStackTrace(); diff --git a/src/main/java/au/com/royalpay/payment/manage/system/core/MailGunService.java b/src/main/java/au/com/royalpay/payment/manage/system/core/MailGunService.java index 27f03809f..d5e6af1a8 100644 --- a/src/main/java/au/com/royalpay/payment/manage/system/core/MailGunService.java +++ b/src/main/java/au/com/royalpay/payment/manage/system/core/MailGunService.java @@ -5,6 +5,10 @@ import au.com.royalpay.payment.tools.mail.SendMail; import com.alibaba.fastjson.JSONObject; +import java.io.IOException; +import java.net.URISyntaxException; +import java.util.Set; + public interface MailGunService { void dealNotify(String nofityString) throws Exception; @@ -14,4 +18,7 @@ public interface MailGunService { JSONObject addClientToMailList(JSONObject client); JSONObject updateClientOfMailList(JSONObject newClient,JSONObject oldClient); + + JSONObject sendEmail(String notice_id, String title, Set mailTo, String content) throws URISyntaxException, IOException ; + } diff --git a/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImpl.java index f326e209f..b6ef1b9f0 100644 --- a/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImpl.java @@ -1,22 +1,31 @@ package au.com.royalpay.payment.manage.system.core.impl; -import au.com.royalpay.payment.manage.mappers.system.ClientMapper; import au.com.royalpay.payment.manage.mappers.system.MailSendMapper; import au.com.royalpay.payment.manage.system.core.MailGunService; +import au.com.royalpay.payment.tools.connections.attachment.core.AttachmentClient; import au.com.royalpay.payment.tools.mail.MailGunClient; import au.com.royalpay.payment.tools.mail.SendMail; import com.alibaba.fastjson.JSONObject; import org.apache.commons.lang3.StringUtils; +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.nodes.Element; +import org.jsoup.select.Elements; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; +import java.io.IOException; +import java.net.URISyntaxException; import java.net.URLDecoder; +import java.util.ArrayList; import java.util.HashMap; +import java.util.List; import java.util.Map; +import java.util.Set; import javax.annotation.Resource; @@ -30,12 +39,11 @@ public class MailGunServiceImpl implements MailGunService { @Resource private MailGunClient mailGunClient; - @Resource - private ClientMapper clientMapper; - @Value("${mail.mailgun.default.merchantlist}") private String mailListDefault; + @Resource + private AttachmentClient attachmentClient; @Override public void dealNotify(String nofityString) throws Exception { @@ -68,34 +76,67 @@ public class MailGunServiceImpl implements MailGunService { JSONObject var = new JSONObject(); var.put("client_moniker", client.getString("client_moniker")); var.put("short_name", client.getString("short_name")); - result = mailGunClient.addListMember(client.getString("contact_email"),mailListDefault,client.getString("contact_person"),var); - }catch (Exception ignore){ - logger.info("add Mail List Failed email:"+client.getString("contact_email")+" client_moniker:"+client.getString("client_moniker")); + result = mailGunClient.addListMember(client.getString("contact_email"), mailListDefault, client.getString("contact_person"), var); + } catch (Exception ignore) { + logger.info("add Mail List Failed email:" + client.getString("contact_email") + " client_moniker:" + client.getString("client_moniker")); } - return result; + return result; } @Override public JSONObject updateClientOfMailList(JSONObject newClient, JSONObject oldClient) { - JSONObject result= null; + JSONObject result = null; try { JSONObject var = new JSONObject(); var.put("client_moniker", newClient.getString("client_moniker")); var.put("short_name", newClient.getString("short_name")); - result = mailGunClient.updateClientOfMailList(newClient.getString("contact_email"),mailListDefault,newClient.getString("contact_person"),oldClient.getString("contact_email"),var); - }catch (Exception ignore){ - logger.info("Modify Mail List Failed oldEmail:"+oldClient.getString("contact_email")+" client_moniker:"+newClient.getString("client_moniker") + " newEmail:"+newClient.getString("contact_email")); + result = mailGunClient.updateClientOfMailList(newClient.getString("contact_email"), mailListDefault, newClient.getString("contact_person"), + oldClient.getString("contact_email"), var); + } catch (Exception ignore) { + logger.info("Modify Mail List Failed oldEmail:" + oldClient.getString("contact_email") + " client_moniker:" + newClient.getString("client_moniker") + + " newEmail:" + newClient.getString("contact_email")); } - return result; + return result; } + @Override + public JSONObject sendEmail(String notice_id, String title, Set mailTo, String content) throws URISyntaxException, IOException { + Document doc = Jsoup.parse(content); + Elements links = doc.select("a[href]"); + List files = new ArrayList<>(); + for (Element link : links) { + String linkHref = link.attr("href"); + String linkText = link.text(); + Element e = link.previousElementSibling(); + if (e != null && "img".equalsIgnoreCase(e.tagName())) { + e.remove(); + } + if (linkHref.contains("mailto")) { + continue; + } + JSONObject file = new JSONObject(); + file.put("name", linkText); + file.put("byteArr", attachmentClient.getFileByUrl(linkHref)); + files.add(file); + } + + SendMail sendMail = new SendMail(); + sendMail.setFrom("postmaster@dev.showcodes.com"); + sendMail.setTitle(title); + sendMail.setContent(doc.outerHtml()); + sendMail.setNotice_id(notice_id); + sendMail.setMailTos(mailTo); + sendMail.setAttachFiles(files); + + return mailGunClient.sendMail(sendMail); + } public Map getQueryMap(String query) { String[] params = query.split("&"); Map map = new HashMap<>(); for (String param : params) { - String [] tmpArr= param.split("="); - if(tmpArr.length<2){ + String[] tmpArr = param.split("="); + if (tmpArr.length < 2) { continue; } map.put(tmpArr[0], tmpArr[1]); From 44087dd5d1c4171efa8a629b9978549373a5f24a Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Wed, 16 May 2018 14:00:52 +0800 Subject: [PATCH 11/23] update --- .../manage/system/core/MailGunService.java | 2 ++ .../system/core/impl/MailGunServiceImpl.java | 21 +++++++++++++++++++ .../system/web/MailCallBackController.java | 8 ++++++- 3 files changed, 30 insertions(+), 1 deletion(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/system/core/MailGunService.java b/src/main/java/au/com/royalpay/payment/manage/system/core/MailGunService.java index d5e6af1a8..8e888c0e8 100644 --- a/src/main/java/au/com/royalpay/payment/manage/system/core/MailGunService.java +++ b/src/main/java/au/com/royalpay/payment/manage/system/core/MailGunService.java @@ -13,6 +13,8 @@ public interface MailGunService { void dealNotify(String nofityString) throws Exception; + void dealDroppedNotify(String content) throws Exception; + JSONObject sendMail(SendMail sendMail); JSONObject addClientToMailList(JSONObject client); diff --git a/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImpl.java index b6ef1b9f0..f2c35b16c 100644 --- a/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImpl.java @@ -64,6 +64,25 @@ public class MailGunServiceImpl implements MailGunService { } } + @Override + public void dealDroppedNotify(String content) throws Exception { + String dd = URLDecoder.decode(content, "UTF-8"); + Map mailgunNotify = getQueryMap(dd); + String myData = mailgunNotify.get("my-custom-data"); + String recipient = mailgunNotify.get("recipient"); + if (StringUtils.isNotEmpty(myData) && StringUtils.isNotEmpty(recipient)) { + JSONObject tmpJSONObject = JSONObject.parseObject(myData); + String[] mailAddresses = recipient.split(","); + for (String mailAddress : mailAddresses) { + JSONObject record = new JSONObject(); + record.put("id", tmpJSONObject.getString("id")); + record.put("mail_address", mailAddress); + record.put("status", 2); + mailSendMapper.update(record); + } + } + } + @Override public JSONObject sendMail(SendMail sendMail) { return mailGunClient.sendMail(sendMail); @@ -131,6 +150,8 @@ public class MailGunServiceImpl implements MailGunService { return mailGunClient.sendMail(sendMail); } + + public Map getQueryMap(String query) { String[] params = query.split("&"); Map map = new HashMap<>(); diff --git a/src/main/java/au/com/royalpay/payment/manage/system/web/MailCallBackController.java b/src/main/java/au/com/royalpay/payment/manage/system/web/MailCallBackController.java index 45ea7ac90..cc4f3e55f 100644 --- a/src/main/java/au/com/royalpay/payment/manage/system/web/MailCallBackController.java +++ b/src/main/java/au/com/royalpay/payment/manage/system/web/MailCallBackController.java @@ -17,8 +17,14 @@ public class MailCallBackController { private MailGunService mailService; @RequestMapping(value = "/callback", method = RequestMethod.POST) - public void contractList(@RequestBody String content) throws Exception { + public void dealSuccessNptify(@RequestBody String content) throws Exception { mailService.dealNotify(content); } + + @RequestMapping(value = "/callback/dropped", method = RequestMethod.POST) + public void contractList(@RequestBody String content) throws Exception { + mailService.dealDroppedNotify(content); + } + } \ No newline at end of file From 7c0da6d5cf5180245ac452558051e5e5aa54d172 Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Wed, 16 May 2018 17:27:48 +0800 Subject: [PATCH 12/23] update --- src/main/resources/application.properties | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 56339c351..40e4d5181 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -100,6 +100,7 @@ app.ofei.md5-key=Khjx6wejblaJzmG0JBWFlPFKAUxhFIXQ app.ofei.pwd=aomi@8888 app.ofei.sp-code=A1407200 mail.mailgun.api_key=api:key-96fa3b5866ace125b8ec5a9d27e19353 +mail.mailgun.public_key=api:pubkey-e6af28b973f992d3ddf011a723a5db02 mail.mailgun.domain=dev.showcodes.com mail.mailgun.default.merchantlist=info@dev.showcodes.com From 58b12d66b36da9f7aed2a5bd76c2e81ff54ff554 Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Fri, 18 May 2018 15:50:54 +0800 Subject: [PATCH 13/23] modify mail gun properties --- .../core/impls/ClientManagerImpl.java | 4 ++-- .../core/impls/SignInAccountServiceImpl.java | 2 +- .../system/core/impl/MailGunServiceImpl.java | 2 +- src/main/resources/application.properties | 9 +++++---- .../impls/CustomerImpressionImplTest.java | 20 +++---------------- .../core/impl/MailGunServiceImplTest.java | 2 +- 6 files changed, 13 insertions(+), 26 deletions(-) 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 cdce87701..dfc624bb8 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 @@ -821,7 +821,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid SendMail sendMail = new SendMail(); Set to = new HashSet<>(); to.add(mailTo); - sendMail.setFrom("postmaster@dev.showcodes.com"); + sendMail.setFrom("postmaster@mail.royalpay.com.au"); sendMail.setMailTos(to); sendMail.setMailCcs(emails); sendMail.setTitle("Your RoyalPay Cross-border Payment has been set up"); @@ -876,7 +876,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid Set to = new HashSet<>(); to.add(mailTo); sendMail.setMailTos(to); - sendMail.setFrom("postmaster@dev.showcodes.com"); + sendMail.setFrom("postmaster@mail.royalpay.com.au"); sendMail.setMailCcs(emails); sendMail.setTitle("Your Partner Account Has Been Authenticated Successfully"); sendMail.setContent(content); diff --git a/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/SignInAccountServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/SignInAccountServiceImpl.java index e1431d1c7..87ca399e5 100644 --- a/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/SignInAccountServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/SignInAccountServiceImpl.java @@ -313,7 +313,7 @@ public class SignInAccountServiceImpl implements SignInAccountService, Applicati Set to = new HashSet<>(); to.add(contact_email); sendMail.setMailTos(to); - sendMail.setFrom("postmaster@dev.showcodes.com"); + sendMail.setFrom("postmaster@mail.royalpay.com.au"); sendMail.setTitle("Reset Password"); sendMail.setContent(content); mailService.sendMail(sendMail); diff --git a/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImpl.java index f2c35b16c..c13282a16 100644 --- a/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImpl.java @@ -140,7 +140,7 @@ public class MailGunServiceImpl implements MailGunService { } SendMail sendMail = new SendMail(); - sendMail.setFrom("postmaster@dev.showcodes.com"); + sendMail.setFrom("postmaster@mail.royalpay.com.au"); sendMail.setTitle(title); sendMail.setContent(doc.outerHtml()); sendMail.setNotice_id(notice_id); diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 40e4d5181..ebb06aff7 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -99,9 +99,10 @@ app.foreign-currency=AUD app.ofei.md5-key=Khjx6wejblaJzmG0JBWFlPFKAUxhFIXQ app.ofei.pwd=aomi@8888 app.ofei.sp-code=A1407200 -mail.mailgun.api_key=api:key-96fa3b5866ace125b8ec5a9d27e19353 -mail.mailgun.public_key=api:pubkey-e6af28b973f992d3ddf011a723a5db02 -mail.mailgun.domain=dev.showcodes.com -mail.mailgun.default.merchantlist=info@dev.showcodes.com + +mail.mailgun.api_key=api:key-2e67b891a1a7974bf3a40ea440d5a77f +mail.mailgun.public_key=api:pubkey-1aaaffc2662ba1b400c409d3e974ba7e +mail.mailgun.domain=mail.royalpay.com.au +mail.mailgun.default.merchantlist=info@mail.royalpay.com.au diff --git a/src/test/java/au/com/royalpay/payment/manage/apps/core/impls/CustomerImpressionImplTest.java b/src/test/java/au/com/royalpay/payment/manage/apps/core/impls/CustomerImpressionImplTest.java index a8f47cd04..9de6610e1 100644 --- a/src/test/java/au/com/royalpay/payment/manage/apps/core/impls/CustomerImpressionImplTest.java +++ b/src/test/java/au/com/royalpay/payment/manage/apps/core/impls/CustomerImpressionImplTest.java @@ -97,7 +97,7 @@ public class CustomerImpressionImplTest { @Test public void sendSimpleMessage() throws Exception { - String url = "https://api.mailgun.net/v3/dev.showcodes.com/messages?from=postmaster@dev.showcodes.com&to=164851225@qq.com,1029811920@qq.com&subject=啊是记录&text=暗杀苏&v:my-custom-data={\"key\":\"value\"}"; + String url = "https://api.mailgun.net/v3/dev.showcodes.com/messages?from=postmaster@mail.royalpay.com.au&to=164851225@qq.com,1029811920@qq.com&subject=啊是记录&text=暗杀苏&v:my-custom-data={\"key\":\"value\"}"; String asd = "王宁测试标题"; HttpRequestGenerator generator = new HttpRequestGenerator(url, RequestMethod.POST).addHeader("Authorization", getHeader()); @@ -154,28 +154,14 @@ public class CustomerImpressionImplTest { @Test public void sendSimpleMessages() throws Exception { SendMail sendMail = new SendMail(); - sendMail.setFrom("postmaster@dev.showcodes.com"); + sendMail.setFrom("postmaster@mail.royalpay.com.au"); sendMail.setContent("

Hi kira

"); Set mailCCs = new HashSet<>(); - mailCCs.add("164851225@qq.com"); + mailCCs.add("asd1159111@163.com"); sendMail.setMailCcs(mailCCs); Set mailtos = new HashSet<>(); mailtos.add("1029811920@qq.com"); mailtos.add("164851225@qq.com"); - mailtos.add("1@qq.com"); - mailtos.add("5@qq.com"); - mailtos.add("6@qq.com"); - mailtos.add("12@qq.com"); - mailtos.add("13@qq.com"); - mailtos.add("14@qq.com"); - mailtos.add("15@qq.com"); - mailtos.add("16@qq.com"); - mailtos.add("17@qq.com"); - mailtos.add("18@qq.com"); - mailtos.add("19@qq.com"); - mailtos.add("2@qq.com"); - mailtos.add("4@qq.com"); - mailtos.add("3@qq.com"); sendMail.setMailTos(mailtos); sendMail.setTitle("Final Test"); diff --git a/src/test/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImplTest.java b/src/test/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImplTest.java index d929b6259..6cc02386f 100644 --- a/src/test/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImplTest.java +++ b/src/test/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImplTest.java @@ -19,7 +19,7 @@ public class MailGunServiceImplTest { MailGunService mailService; @Test public void dealNotify() { - String dd= "timestamp=1526298391&token=b7ad8dc0905c46b1c4853200941d30417b4d3f3695815dc729&signature=a3507be4d7ad2b48c4b57202eabd6f63b75abfacd974a9bc7773dc968a12c34e&X-Mailgun-Sid=WyJlMjYwYSIsICI0NjQ1NjMxMThAcXEuY29tIiwgIjQzODY0NiJd&domain=dev.showcodes.com&X-Mailgun-Tag=test1&event=delivered&event-timestamp=1526298391.16&message-headers=[[\"X-Mailgun-Sending-Ip\", \"184.173.153.207\"], [\"X-Mailgun-Sid\", \"WyJlMjYwYSIsICI0NjQ1NjMxMThAcXEuY29tIiwgIjQzODY0NiJd\"], [\"List-Unsubscribe\", \"\"], [\"Received\", \"by luna.mailgun.net with SMTP X-Mailgun-List-Id=5544171, 8794346058393; Mon, 14 May 2018 11:46:29 +0000\"], [\"X-Mailgun-List-Id\", \"5544171\"], [\"X-Mailgun-List-Address\", \"info@dev.showcodes.com\"], [\"List-Id\", \"\"], [\"Received\", \"by luna.mailgun.net with HTTP; Mon, 14 May 2018 11:46:27 +0000\"], [\"Date\", \"Mon, 14 May 2018 11:46:27 +0000\"], [\"Sender\", \"postmaster@dev.showcodes.com\"], [\"X-Mailgun-Variables\", \"{\\\"my-custom-data\\\": \\\"{\\\\\\\"key\\\\\\\":\\\\\\\"value\\\\\\\"}\\\"}\"], [\"X-Mailgun-Tag\", \"test1\"], [\"From\", \"postmaster@dev.showcodes.com\"], [\"Subject\", \"Testqweasdzxc1\"], [\"Mime-Version\", \"1.0\"], [\"Content-Type\", [\"multipart/alternative\", {\"boundary\": \"12109fc0295a479385fcbed01f501455\"}]], [\"Message-Id\", \"<20180514114629.1.2CEFA1D27B4659C4@dev.showcodes.com>\"], [\"To\", \"yz <464563118@qq.com>\"]]&Message-Id=<20180514114629.1.2CEFA1D27B4659C4@dev.showcodes.com>&recipient=464563118@qq.com&my-custom-data={\"id\":\"123\"}&body-plain="; + String dd= "timestamp=1526298391&token=b7ad8dc0905c46b1c4853200941d30417b4d3f3695815dc729&signature=a3507be4d7ad2b48c4b57202eabd6f63b75abfacd974a9bc7773dc968a12c34e&X-Mailgun-Sid=WyJlMjYwYSIsICI0NjQ1NjMxMThAcXEuY29tIiwgIjQzODY0NiJd&domain=dev.showcodes.com&X-Mailgun-Tag=test1&event=delivered&event-timestamp=1526298391.16&message-headers=[[\"X-Mailgun-Sending-Ip\", \"184.173.153.207\"], [\"X-Mailgun-Sid\", \"WyJlMjYwYSIsICI0NjQ1NjMxMThAcXEuY29tIiwgIjQzODY0NiJd\"], [\"List-Unsubscribe\", \"\"], [\"Received\", \"by luna.mailgun.net with SMTP X-Mailgun-List-Id=5544171, 8794346058393; Mon, 14 May 2018 11:46:29 +0000\"], [\"X-Mailgun-List-Id\", \"5544171\"], [\"X-Mailgun-List-Address\", \"info@dev.showcodes.com\"], [\"List-Id\", \"\"], [\"Received\", \"by luna.mailgun.net with HTTP; Mon, 14 May 2018 11:46:27 +0000\"], [\"Date\", \"Mon, 14 May 2018 11:46:27 +0000\"], [\"Sender\", \"postmaster@mail.royalpay.com.au\"], [\"X-Mailgun-Variables\", \"{\\\"my-custom-data\\\": \\\"{\\\\\\\"key\\\\\\\":\\\\\\\"value\\\\\\\"}\\\"}\"], [\"X-Mailgun-Tag\", \"test1\"], [\"From\", \"postmaster@mail.royalpay.com.au\"], [\"Subject\", \"Testqweasdzxc1\"], [\"Mime-Version\", \"1.0\"], [\"Content-Type\", [\"multipart/alternative\", {\"boundary\": \"12109fc0295a479385fcbed01f501455\"}]], [\"Message-Id\", \"<20180514114629.1.2CEFA1D27B4659C4@dev.showcodes.com>\"], [\"To\", \"yz <464563118@qq.com>\"]]&Message-Id=<20180514114629.1.2CEFA1D27B4659C4@dev.showcodes.com>&recipient=464563118@qq.com&my-custom-data={\"id\":\"123\"}&body-plain="; try { mailService.dealNotify(dd); From da05f901ca034c4fa619b186eb76e369875336ac Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Mon, 21 May 2018 15:54:38 +0800 Subject: [PATCH 14/23] qrcode --- .../merchants/core/impls/ClientManagerImpl.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) 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 f7a08274c..2c9e1c07d 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 @@ -1559,8 +1559,8 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid @Override public String getQrCodeBoard(JSONObject client, QRCodeConfig config,JSONObject account,String plantform) { // JSONObject org = orgMapper.findOne(client.getIntValue("org_id")); - return merchantInfoProvider.getQrCodeBoard(client, config); -// return merchantInfoProvider.getQrCodeBoard(client, config,account,plantform); +// return merchantInfoProvider.getQrCodeBoard(client, config); + return merchantInfoProvider.getQrCodeBoard(client, config,account,plantform); } @Override @@ -1584,8 +1584,8 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid qrboardConfig.put("brandw", "600"); qrboardConfig.put("brandh", "200"); String type = qrboardConfig.getString("type"); -// QRBoard board = QRBoardProvider.getQRBoard(type, qrboardConfig, client, config,mongoTemplate,manager,plantform); - QRBoard board = QRBoardProvider.getQRBoard(type, qrboardConfig, client, config); + QRBoard board = QRBoardProvider.getQRBoard(type, qrboardConfig, client, config,mongoTemplate,manager,plantform); +// QRBoard board = QRBoardProvider.getQRBoard(type, qrboardConfig, client, config); board.drawBoardImage(ous); } catch (Exception e) { throw new ServerErrorException("QR board config not set for current organize", e); @@ -1605,8 +1605,8 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid JSONObject qrboardConfig = JSON.parseObject(qrBoardConfigString); String type = qrboardConfig.getString("type"); -// QRBoard board = QRBoardProvider.getQRBoard(type, qrboardConfig, client, config,mongoTemplate,manager,plantform); - QRBoard board = QRBoardProvider.getQRBoard(type, qrboardConfig, client, config); + QRBoard board = QRBoardProvider.getQRBoard(type, qrboardConfig, client, config,mongoTemplate,manager,plantform); +// QRBoard board = QRBoardProvider.getQRBoard(type, qrboardConfig, client, config); board.drawBoardImage(ous); } catch (Exception e) { throw new ServerErrorException("QR board config not set for current organize", e); From c2d64ca19a8bcb9d9ce9a3ec16e1ed481f597889 Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Mon, 21 May 2018 17:14:43 +0800 Subject: [PATCH 15/23] qrcode --- src/main/resources/application.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index ebb06aff7..ba2f00316 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -103,6 +103,6 @@ app.ofei.sp-code=A1407200 mail.mailgun.api_key=api:key-2e67b891a1a7974bf3a40ea440d5a77f mail.mailgun.public_key=api:pubkey-1aaaffc2662ba1b400c409d3e974ba7e mail.mailgun.domain=mail.royalpay.com.au -mail.mailgun.default.merchantlist=info@mail.royalpay.com.au +mail.mailgun.default.merchantlist=merchants@mail.royalpay.com.au From 128eddeb284464fc6fc3e5c0d18a921125ccdd55 Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Tue, 22 May 2018 10:15:34 +0800 Subject: [PATCH 16/23] update --- .../settlement/core/impls/ManualSettleSupportImpl.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/settlement/core/impls/ManualSettleSupportImpl.java b/src/main/java/au/com/royalpay/payment/manage/settlement/core/impls/ManualSettleSupportImpl.java index bcaf9412a..d5461a384 100644 --- a/src/main/java/au/com/royalpay/payment/manage/settlement/core/impls/ManualSettleSupportImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/settlement/core/impls/ManualSettleSupportImpl.java @@ -12,18 +12,21 @@ import au.com.royalpay.payment.tools.locale.LocaleSupport; import au.com.royalpay.payment.tools.merchants.core.MerchantInfoProvider; import au.com.royalpay.payment.tools.permission.enums.PartnerRole; import au.com.royalpay.payment.tools.utils.CurrencyAmountUtils; + import com.alibaba.fastjson.JSONObject; + import org.apache.commons.lang3.time.DateFormatUtils; import org.apache.commons.lang3.time.DateUtils; import org.springframework.stereotype.Service; -import javax.annotation.Resource; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.List; +import javax.annotation.Resource; + /** * Create by yixian at 2018-03-20 17:44 */ @@ -73,7 +76,7 @@ public class ManualSettleSupportImpl implements ManualSettleSupport { @Override public JSONObject findCurrentSettle(int clientId, boolean includingUnsettleData) { - JSONObject client = merchantInfoProvider.getClientInfo(clientId); + JSONObject client = merchantInfoProvider.getClientInfoWithConfig(clientId); if (!client.getBooleanValue("manual_settle")) { throw new ForbiddenException("Manual Settlement Not Enabled"); } From b801aba02d6c89d3d64dacc26b8e9e6109633d56 Mon Sep 17 00:00:00 2001 From: "eason.qian" Date: Tue, 22 May 2018 17:41:57 +0800 Subject: [PATCH 17/23] mailgun --- .../merchants/core/impls/ClientManagerImpl.java | 16 ++++++++++------ .../core/impls/ManualSettleSupportImpl.java | 2 +- .../core/impls/SignInAccountServiceImpl.java | 4 +++- .../system/core/impl/MailGunServiceImpl.java | 6 +++++- .../manage/task/PartnerInitEmailChecker.java | 3 +-- src/main/resources/application.properties | 2 +- 6 files changed, 21 insertions(+), 12 deletions(-) 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 6cdc7b2fc..c50d0d099 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 @@ -276,6 +276,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid private static final String CLIENT_AGREE_FILE = "client_agree_file"; private static final String CLIENT_COMPANY_FILE = "client_company_file"; private static final String CLIENT_APPLY_FILE = "client_apply_file"; + private static final List tags = new ArrayList<>(); @Value("${app.agreetemplate.classic.path}") private String agreetemplatePdfPath; @@ -818,6 +819,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid @Override public void run() { try { + tags.add("account"); SendMail sendMail = new SendMail(); Set to = new HashSet<>(); to.add(mailTo); @@ -826,6 +828,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid sendMail.setMailCcs(emails); sendMail.setTitle("Your RoyalPay Cross-border Payment has been set up"); sendMail.setContent(content); + sendMail.setTags(tags); JSONObject mailResult = mailGunService.sendMail(sendMail); clientModifySupport.processClientModify(new EmailModify(account, client.getString("client_moniker"), 3, mailResult.getString("mail_id"))); } catch (Exception e) { @@ -880,6 +883,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid sendMail.setMailCcs(emails); sendMail.setTitle("Your Partner Account Has Been Authenticated Successfully"); sendMail.setContent(content); + sendMail.setTags(tags); JSONObject mailResult = mailGunService.sendMail(sendMail); clientModifySupport.processClientModify(new EmailModify(account, client.getString("client_moniker"), 3, mailResult.getString("mail_id"))); } catch (Exception e) { @@ -1621,8 +1625,8 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid @Override public String getQrCodeBoard(JSONObject client, QRCodeConfig config,JSONObject account,String plantform) { // JSONObject org = orgMapper.findOne(client.getIntValue("org_id")); -// return merchantInfoProvider.getQrCodeBoard(client, config); - return merchantInfoProvider.getQrCodeBoard(client, config,account,plantform); + return merchantInfoProvider.getQrCodeBoard(client, config); +// return merchantInfoProvider.getQrCodeBoard(client, config,account,plantform); } @Override @@ -1646,8 +1650,8 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid qrboardConfig.put("brandw", "600"); qrboardConfig.put("brandh", "200"); String type = qrboardConfig.getString("type"); - QRBoard board = QRBoardProvider.getQRBoard(type, qrboardConfig, client, config,mongoTemplate,manager,plantform); -// QRBoard board = QRBoardProvider.getQRBoard(type, qrboardConfig, client, config); +// QRBoard board = QRBoardProvider.getQRBoard(type, qrboardConfig, client, config,mongoTemplate,manager,plantform); + QRBoard board = QRBoardProvider.getQRBoard(type, qrboardConfig, client, config); board.drawBoardImage(ous); } catch (Exception e) { throw new ServerErrorException("QR board config not set for current organize", e); @@ -1667,8 +1671,8 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid JSONObject qrboardConfig = JSON.parseObject(qrBoardConfigString); String type = qrboardConfig.getString("type"); - QRBoard board = QRBoardProvider.getQRBoard(type, qrboardConfig, client, config,mongoTemplate,manager,plantform); -// QRBoard board = QRBoardProvider.getQRBoard(type, qrboardConfig, client, config); +// QRBoard board = QRBoardProvider.getQRBoard(type, qrboardConfig, client, config,mongoTemplate,manager,plantform); + QRBoard board = QRBoardProvider.getQRBoard(type, qrboardConfig, client, config); board.drawBoardImage(ous); } catch (Exception e) { throw new ServerErrorException("QR board config not set for current organize", e); diff --git a/src/main/java/au/com/royalpay/payment/manage/settlement/core/impls/ManualSettleSupportImpl.java b/src/main/java/au/com/royalpay/payment/manage/settlement/core/impls/ManualSettleSupportImpl.java index d5461a384..77942c37a 100644 --- a/src/main/java/au/com/royalpay/payment/manage/settlement/core/impls/ManualSettleSupportImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/settlement/core/impls/ManualSettleSupportImpl.java @@ -76,7 +76,7 @@ public class ManualSettleSupportImpl implements ManualSettleSupport { @Override public JSONObject findCurrentSettle(int clientId, boolean includingUnsettleData) { - JSONObject client = merchantInfoProvider.getClientInfoWithConfig(clientId); + JSONObject client = merchantInfoProvider.getClientInfo(clientId); if (!client.getBooleanValue("manual_settle")) { throw new ForbiddenException("Manual Settlement Not Enabled"); } diff --git a/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/SignInAccountServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/SignInAccountServiceImpl.java index 87ca399e5..d43cd90a9 100644 --- a/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/SignInAccountServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/SignInAccountServiceImpl.java @@ -75,7 +75,7 @@ public class SignInAccountServiceImpl implements SignInAccountService, Applicati @Resource private ClientConfigService clientConfigService; private ApplicationEventPublisher publisher; - + private static final List tags = new ArrayList<>(); @Override @Cacheable(value = ":login:managers:", key = "''+#accountId") public JSONObject getManager(String accountId) { @@ -285,6 +285,7 @@ public class SignInAccountServiceImpl implements SignInAccountService, Applicati @Override public String ForgetPassword(String client_moniker) throws Exception { + tags.add("account"); JSONObject client = clientMapper.findClientByMoniker(client_moniker); if (client != null) { final String contact_email = client.getString("contact_email"); @@ -316,6 +317,7 @@ public class SignInAccountServiceImpl implements SignInAccountService, Applicati sendMail.setFrom("postmaster@mail.royalpay.com.au"); sendMail.setTitle("Reset Password"); sendMail.setContent(content); + sendMail.setTags(tags); mailService.sendMail(sendMail); return contact_email; diff --git a/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImpl.java index c13282a16..0b32290c3 100644 --- a/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImpl.java @@ -45,6 +45,9 @@ public class MailGunServiceImpl implements MailGunService { @Resource private AttachmentClient attachmentClient; + private static final List tags = new ArrayList<>(); + + @Override public void dealNotify(String nofityString) throws Exception { String dd = URLDecoder.decode(nofityString, "UTF-8"); @@ -120,6 +123,7 @@ public class MailGunServiceImpl implements MailGunService { @Override public JSONObject sendEmail(String notice_id, String title, Set mailTo, String content) throws URISyntaxException, IOException { + tags.add("notice"); Document doc = Jsoup.parse(content); Elements links = doc.select("a[href]"); List files = new ArrayList<>(); @@ -146,7 +150,7 @@ public class MailGunServiceImpl implements MailGunService { sendMail.setNotice_id(notice_id); sendMail.setMailTos(mailTo); sendMail.setAttachFiles(files); - + sendMail.setTags(tags); return mailGunClient.sendMail(sendMail); } diff --git a/src/main/java/au/com/royalpay/payment/manage/task/PartnerInitEmailChecker.java b/src/main/java/au/com/royalpay/payment/manage/task/PartnerInitEmailChecker.java index 57ea198ee..4f19c375c 100644 --- a/src/main/java/au/com/royalpay/payment/manage/task/PartnerInitEmailChecker.java +++ b/src/main/java/au/com/royalpay/payment/manage/task/PartnerInitEmailChecker.java @@ -26,8 +26,7 @@ public class PartnerInitEmailChecker { public void checkPartnerInitEmail() { if (PlatformEnvironment.getEnv().taskEnabled()) { synchronizedScheduler.executeProcess("manage_task:checkPartnerInitEmail", 120_000, - () -> clientManager.checkEmailStatus()); -// clientManager.newCheckEmailStatus(); + () -> clientManager.newCheckEmailStatus()); } } } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index ba2f00316..bc53561d1 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,6 +1,6 @@ server.port=5000 -spring.profiles.active=local,alipay,bestpay,jd,wechat +spring.profiles.active=dev,alipay,bestpay,jd,wechat env.company=RoyalPay From 32a317c3442889ca008b2f199bbf81fd4816b6c5 Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Tue, 22 May 2018 17:48:23 +0800 Subject: [PATCH 18/23] update --- .../payment/manage/system/core/impl/MailGunServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImpl.java index 0b32290c3..4276cbdc2 100644 --- a/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImpl.java @@ -98,7 +98,7 @@ public class MailGunServiceImpl implements MailGunService { JSONObject var = new JSONObject(); var.put("client_moniker", client.getString("client_moniker")); var.put("short_name", client.getString("short_name")); - result = mailGunClient.addListMember(client.getString("contact_email"), mailListDefault, client.getString("contact_person"), var); + result = mailGunClient.addListMember(client.getString("contact_email"), mailListDefault, client.getString("contact_person"),"", var); } catch (Exception ignore) { logger.info("add Mail List Failed email:" + client.getString("contact_email") + " client_moniker:" + client.getString("client_moniker")); } From f24084254c6d2b2f06b98478883847bff2b7c530 Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Tue, 22 May 2018 18:17:24 +0800 Subject: [PATCH 19/23] add log --- .../payment/manage/system/web/MailCallBackController.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/java/au/com/royalpay/payment/manage/system/web/MailCallBackController.java b/src/main/java/au/com/royalpay/payment/manage/system/web/MailCallBackController.java index cc4f3e55f..a03af2428 100644 --- a/src/main/java/au/com/royalpay/payment/manage/system/web/MailCallBackController.java +++ b/src/main/java/au/com/royalpay/payment/manage/system/web/MailCallBackController.java @@ -2,6 +2,8 @@ package au.com.royalpay.payment.manage.system.web; import au.com.royalpay.payment.manage.system.core.MailGunService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @@ -13,6 +15,7 @@ import javax.annotation.Resource; @RequestMapping(value = "/mailgun") public class MailCallBackController { + private Logger logger = LoggerFactory.getLogger(getClass()); @Resource private MailGunService mailService; @@ -24,6 +27,7 @@ public class MailCallBackController { @RequestMapping(value = "/callback/dropped", method = RequestMethod.POST) public void contractList(@RequestBody String content) throws Exception { + logger.info("kira"+content); mailService.dealDroppedNotify(content); } From 57b3a77fbd986cc42e61e1b3e569ed7d438c0258 Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Tue, 22 May 2018 18:50:18 +0800 Subject: [PATCH 20/23] update --- src/db/modify.sql | 1 + .../manage/merchants/core/impls/ClientManagerImpl.java | 4 ++-- .../manage/signin/core/impls/SignInAccountServiceImpl.java | 2 +- .../payment/manage/system/core/impl/MailGunServiceImpl.java | 2 +- .../manage/apps/core/impls/CustomerImpressionImplTest.java | 4 ++-- 5 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/db/modify.sql b/src/db/modify.sql index e87a6e3cf..12073aaad 100644 --- a/src/db/modify.sql +++ b/src/db/modify.sql @@ -497,6 +497,7 @@ ALTER TABLE `act_red_packets_customer` ADD COLUMN `rule_max_num_limit` tinyint(1 CREATE TABLE `sys_mail_send` ( `id` int(11) NOT NULL, `mail_address` varchar(100) NOT NULL COMMENT '邮箱地址', + `cc_mail_address` varchar(100) NOT NULL COMMENT '邮箱地址', `message_id` varchar(60) NOT NULL COMMENT 'Mailgun Message id', `status` int(9) NOT NULL DEFAULT 0, `create_time` datetime not null DEFAULT now(), 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 c50d0d099..e49727080 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 @@ -823,7 +823,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid SendMail sendMail = new SendMail(); Set to = new HashSet<>(); to.add(mailTo); - sendMail.setFrom("postmaster@mail.royalpay.com.au"); + sendMail.setFrom("info@mail.royalpay.com.au"); sendMail.setMailTos(to); sendMail.setMailCcs(emails); sendMail.setTitle("Your RoyalPay Cross-border Payment has been set up"); @@ -879,7 +879,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid Set to = new HashSet<>(); to.add(mailTo); sendMail.setMailTos(to); - sendMail.setFrom("postmaster@mail.royalpay.com.au"); + sendMail.setFrom("info@mail.royalpay.com.au"); sendMail.setMailCcs(emails); sendMail.setTitle("Your Partner Account Has Been Authenticated Successfully"); sendMail.setContent(content); diff --git a/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/SignInAccountServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/SignInAccountServiceImpl.java index d43cd90a9..e7cc6501e 100644 --- a/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/SignInAccountServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/SignInAccountServiceImpl.java @@ -314,7 +314,7 @@ public class SignInAccountServiceImpl implements SignInAccountService, Applicati Set to = new HashSet<>(); to.add(contact_email); sendMail.setMailTos(to); - sendMail.setFrom("postmaster@mail.royalpay.com.au"); + sendMail.setFrom("info@mail.royalpay.com.au"); sendMail.setTitle("Reset Password"); sendMail.setContent(content); sendMail.setTags(tags); diff --git a/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImpl.java index 4276cbdc2..ce60f0703 100644 --- a/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImpl.java @@ -144,7 +144,7 @@ public class MailGunServiceImpl implements MailGunService { } SendMail sendMail = new SendMail(); - sendMail.setFrom("postmaster@mail.royalpay.com.au"); + sendMail.setFrom("info@mail.royalpay.com.au"); sendMail.setTitle(title); sendMail.setContent(doc.outerHtml()); sendMail.setNotice_id(notice_id); diff --git a/src/test/java/au/com/royalpay/payment/manage/apps/core/impls/CustomerImpressionImplTest.java b/src/test/java/au/com/royalpay/payment/manage/apps/core/impls/CustomerImpressionImplTest.java index 9de6610e1..4c9146935 100644 --- a/src/test/java/au/com/royalpay/payment/manage/apps/core/impls/CustomerImpressionImplTest.java +++ b/src/test/java/au/com/royalpay/payment/manage/apps/core/impls/CustomerImpressionImplTest.java @@ -154,13 +154,13 @@ public class CustomerImpressionImplTest { @Test public void sendSimpleMessages() throws Exception { SendMail sendMail = new SendMail(); - sendMail.setFrom("postmaster@mail.royalpay.com.au"); + sendMail.setFrom("info@mail.royalpay.com.au"); sendMail.setContent("

Hi kira

"); Set mailCCs = new HashSet<>(); mailCCs.add("asd1159111@163.com"); sendMail.setMailCcs(mailCCs); Set mailtos = new HashSet<>(); - mailtos.add("1029811920@qq.com"); + mailtos.add("eason.qian@royalpay.com.au"); mailtos.add("164851225@qq.com"); sendMail.setMailTos(mailtos); sendMail.setTitle("Final Test"); From 4dd95c3cf5158e16ac2096ab3c0c7bf6505bf48f Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Tue, 22 May 2018 18:57:16 +0800 Subject: [PATCH 21/23] fix --- .../manage/merchants/core/impls/ClientManagerImpl.java | 7 ++++++- .../manage/system/core/impl/MailGunServiceImpl.java | 4 +--- 2 files changed, 7 insertions(+), 4 deletions(-) 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 e49727080..6f68efaf2 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 @@ -157,6 +157,7 @@ import java.util.stream.Collectors; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; +import javax.annotation.PostConstruct; import javax.annotation.Resource; import javax.imageio.ImageIO; import javax.servlet.ServletOutputStream; @@ -286,6 +287,11 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid @Resource private MpWechatApiProvider mpWechatApiProvider; + + @PostConstruct + public void init(){ + tags.add("account"); + } @Override public JSONObject getSysRateConfig() { String rateConfig = sysConfigManager.getSysConfig().getString("sys_rates"); @@ -819,7 +825,6 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid @Override public void run() { try { - tags.add("account"); SendMail sendMail = new SendMail(); Set to = new HashSet<>(); to.add(mailTo); diff --git a/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImpl.java index ce60f0703..0676117cb 100644 --- a/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/system/core/impl/MailGunServiceImpl.java @@ -45,9 +45,6 @@ public class MailGunServiceImpl implements MailGunService { @Resource private AttachmentClient attachmentClient; - private static final List tags = new ArrayList<>(); - - @Override public void dealNotify(String nofityString) throws Exception { String dd = URLDecoder.decode(nofityString, "UTF-8"); @@ -123,6 +120,7 @@ public class MailGunServiceImpl implements MailGunService { @Override public JSONObject sendEmail(String notice_id, String title, Set mailTo, String content) throws URISyntaxException, IOException { + List tags = new ArrayList<>(); tags.add("notice"); Document doc = Jsoup.parse(content); Elements links = doc.select("a[href]"); From 55375af2edecc240136c3f7621a9408d9044dd29 Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Tue, 22 May 2018 19:15:33 +0800 Subject: [PATCH 22/23] fix --- .../signin/core/impls/SignInAccountServiceImpl.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/SignInAccountServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/SignInAccountServiceImpl.java index e7cc6501e..fd25de569 100644 --- a/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/SignInAccountServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/SignInAccountServiceImpl.java @@ -45,6 +45,7 @@ import java.util.List; import java.util.Map; import java.util.Set; +import javax.annotation.PostConstruct; import javax.annotation.Resource; /** @@ -76,6 +77,12 @@ public class SignInAccountServiceImpl implements SignInAccountService, Applicati private ClientConfigService clientConfigService; private ApplicationEventPublisher publisher; private static final List tags = new ArrayList<>(); + + + @PostConstruct + public void init(){ + tags.add("account"); + } @Override @Cacheable(value = ":login:managers:", key = "''+#accountId") public JSONObject getManager(String accountId) { @@ -285,7 +292,6 @@ public class SignInAccountServiceImpl implements SignInAccountService, Applicati @Override public String ForgetPassword(String client_moniker) throws Exception { - tags.add("account"); JSONObject client = clientMapper.findClientByMoniker(client_moniker); if (client != null) { final String contact_email = client.getString("contact_email"); From 11cf6b5819a7b1d647ce1cbe4179f5b75cf70ede Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Tue, 22 May 2018 19:44:46 +0800 Subject: [PATCH 23/23] update --- .../manage/merchants/core/impls/ClientManagerImpl.java | 3 +++ .../manage/system/web/MailCallBackController.java | 9 ++++++--- src/main/ui/static/risk/templates/risk_history.html | 2 +- 3 files changed, 10 insertions(+), 4 deletions(-) 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 6f68efaf2..00c29e2c3 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 @@ -736,6 +736,9 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid } private void initAdminUserAndSendEmail(JSONObject manager, String clientMoniker, JSONObject client) { + if(StringUtils.isEmpty(client.getString("sub_merchant_id"))){ + throw new BadRequestException("Sub Merchant ID Can't be null "); + } String username = clientMoniker + client.getString("sub_merchant_id"); boolean duplicated = true; String pwd = RandomStringUtils.random(8, true, true); diff --git a/src/main/java/au/com/royalpay/payment/manage/system/web/MailCallBackController.java b/src/main/java/au/com/royalpay/payment/manage/system/web/MailCallBackController.java index a03af2428..0452a7c8e 100644 --- a/src/main/java/au/com/royalpay/payment/manage/system/web/MailCallBackController.java +++ b/src/main/java/au/com/royalpay/payment/manage/system/web/MailCallBackController.java @@ -10,6 +10,8 @@ import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; @RestController @RequestMapping(value = "/mailgun") @@ -26,9 +28,10 @@ public class MailCallBackController { @RequestMapping(value = "/callback/dropped", method = RequestMethod.POST) - public void contractList(@RequestBody String content) throws Exception { - logger.info("kira"+content); - mailService.dealDroppedNotify(content); + public void contractList(HttpServletRequest req, HttpServletResponse res) throws Exception { + logger.info("kira"+req.getRequestURL().toString()); +// logger.info("kira"+content); +// mailService.dealDroppedNotify(content); } } \ No newline at end of file diff --git a/src/main/ui/static/risk/templates/risk_history.html b/src/main/ui/static/risk/templates/risk_history.html index baa2e7916..d076acb63 100644 --- a/src/main/ui/static/risk/templates/risk_history.html +++ b/src/main/ui/static/risk/templates/risk_history.html @@ -31,7 +31,7 @@ Client Moniker Create Time - Waring Time + Expire Time Risk Types Status Risk Counts