From 07d5402ae294dc99fbde2fb2746db003fe9f92ac Mon Sep 17 00:00:00 2001 From: kira <164851225@qq.com> Date: Wed, 1 Aug 2018 18:53:48 +0800 Subject: [PATCH] modify sms sender --- .../impls/SimpleClientApplyServiceImpl.java | 11 +- .../core/impls/ClientManagerImpl.java | 141 +++++++++--------- .../payment/manage/support/sms/SmsSender.java | 33 ++++ 3 files changed, 105 insertions(+), 80 deletions(-) create mode 100644 src/main/java/au/com/royalpay/payment/manage/support/sms/SmsSender.java diff --git a/src/main/java/au/com/royalpay/payment/manage/application/core/impls/SimpleClientApplyServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/application/core/impls/SimpleClientApplyServiceImpl.java index f09561c4f..9de202ba9 100644 --- a/src/main/java/au/com/royalpay/payment/manage/application/core/impls/SimpleClientApplyServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/application/core/impls/SimpleClientApplyServiceImpl.java @@ -15,6 +15,7 @@ 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.LoginInfo; import au.com.royalpay.payment.manage.signin.core.SignInAccountService; +import au.com.royalpay.payment.manage.support.sms.SmsSender; import au.com.royalpay.payment.manage.system.core.MailGunService; import au.com.royalpay.payment.tools.env.PlatformEnvironment; import au.com.royalpay.payment.tools.env.SysConfigManager; @@ -60,10 +61,6 @@ import cn.yixblog.platform.http.HttpRequestResult; @Service public class SimpleClientApplyServiceImpl implements SimpleClientApplyService { - @Value("${royalpay.sms.appid:1400094878}") - private int appId; - @Value("${royalpay.sms.appkey:43390d81e20c5191c278fbf4cd275be2}") - private String appKey; @Resource private MpPaymentApi mpPaymentApi; @Resource @@ -94,9 +91,10 @@ public class SimpleClientApplyServiceImpl implements SimpleClientApplyService { private ClientConfigMapper clientConfigMapper; private ThreadPoolExecutor pool = new ThreadPoolExecutor(1, 10, 5, TimeUnit.SECONDS, new LinkedBlockingQueue()); + @Resource + private SmsSender smsSender; @Resource private StringRedisTemplate stringRedisTemplate; - private SmsSingleSender sender = null; private final int REGISTER_CLIENT_TEMPLID = 126978; private final String REGISTER_CLIENT_PREFIX = "REGISTER_CLIENT"; private final String REGISTER_CLIENT_PROCESS_PREFIX = "REGISTER_CLIENT_PROCESS"; @@ -106,7 +104,6 @@ public class SimpleClientApplyServiceImpl implements SimpleClientApplyService { @PostConstruct public void init() { tags.add("account"); - sender = new SmsSingleSender(appId, appKey); } @Override @@ -143,7 +140,7 @@ public class SimpleClientApplyServiceImpl implements SimpleClientApplyService { String expireMin = "3"; param.add(expireMin); try { - sender.sendWithParam(nationCode.trim(), phoneNumber, REGISTER_CLIENT_TEMPLID, param, "RoyalPay", "", ""); + smsSender.getSender().sendWithParam(nationCode.trim(), phoneNumber, REGISTER_CLIENT_TEMPLID, param, "RoyalPay", "", ""); } catch (Exception e) { e.printStackTrace(); throw new ServerErrorException("Phone number is wrong Please try again"); 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 030ebdcae..d7d1bf3eb 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 @@ -1,5 +1,69 @@ package au.com.royalpay.payment.manage.merchants.core.impls; +import static au.com.royalpay.payment.manage.permission.utils.OrgCheckUtils.checkOrgPermission; + +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.net.URISyntaxException; +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; +import java.util.zip.ZipOutputStream; + +import javax.annotation.PostConstruct; +import javax.annotation.Resource; +import javax.imageio.ImageIO; +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletResponse; + +import org.apache.commons.io.IOUtils; +import org.apache.commons.lang3.ArrayUtils; +import org.apache.commons.lang3.RandomStringUtils; +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.time.DateFormatUtils; +import org.apache.commons.lang3.time.DateUtils; +import org.dom4j.Element; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.cache.annotation.CacheEvict; +import org.springframework.cache.annotation.Cacheable; +import org.springframework.context.ApplicationEventPublisher; +import org.springframework.context.ApplicationEventPublisherAware; +import org.springframework.context.MessageSource; +import org.springframework.data.redis.core.StringRedisTemplate; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.ui.Model; +import org.springframework.util.Assert; +import org.springframework.util.CollectionUtils; +import org.springframework.web.bind.annotation.RequestMethod; +import org.thymeleaf.context.Context; +import org.thymeleaf.spring4.SpringTemplateEngine; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +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 au.com.royalpay.payment.channels.wechat.config.WeChatPayConfig; import au.com.royalpay.payment.channels.wechat.config.WechatPayEnvironment; import au.com.royalpay.payment.channels.wechat.runtime.MpPaymentApi; @@ -77,6 +141,7 @@ import au.com.royalpay.payment.manage.notice.core.MailService; 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.support.sms.SmsSender; 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; @@ -109,74 +174,9 @@ import au.com.royalpay.payment.tools.utils.QRCodeUtils; import au.com.royalpay.payment.tools.utils.TimeZoneUtils; import au.com.royalpay.payment.tools.websocket.notify.PartnerPageEvent; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -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 com.github.qcloudsms.SmsSingleSender; - -import org.apache.commons.io.IOUtils; -import org.apache.commons.lang3.ArrayUtils; -import org.apache.commons.lang3.RandomStringUtils; -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.lang3.time.DateFormatUtils; -import org.apache.commons.lang3.time.DateUtils; -import org.dom4j.Element; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.cache.annotation.CacheEvict; -import org.springframework.cache.annotation.Cacheable; -import org.springframework.context.ApplicationEventPublisher; -import org.springframework.context.ApplicationEventPublisherAware; -import org.springframework.context.MessageSource; -import org.springframework.data.redis.core.StringRedisTemplate; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.ui.Model; -import org.springframework.util.Assert; -import org.springframework.util.CollectionUtils; -import org.springframework.web.bind.annotation.RequestMethod; -import org.thymeleaf.context.Context; -import org.thymeleaf.spring4.SpringTemplateEngine; - -import java.awt.*; -import java.awt.image.BufferedImage; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.math.BigDecimal; -import java.math.RoundingMode; -import java.net.URISyntaxException; -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; -import java.util.zip.ZipOutputStream; - -import javax.annotation.PostConstruct; -import javax.annotation.Resource; -import javax.imageio.ImageIO; -import javax.servlet.ServletOutputStream; -import javax.servlet.http.HttpServletResponse; - import cn.yixblog.platform.http.HttpRequestGenerator; import cn.yixblog.platform.http.HttpRequestResult; -import static au.com.royalpay.payment.manage.permission.utils.OrgCheckUtils.checkOrgPermission; - /** * partner manage Created by yixian on 2016-06-28. */ @@ -294,7 +294,8 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid private PermissionClientModuleMapper permissionClientModuleMapper; @Resource private PermissionPartnerManagerImpl permissionPartnerManagerImpl; - + @Resource + private SmsSender smsSender; private static final String SOURCE_AGREE_FILE = "source_agree_file"; private static final String CLIENT_BANK_FILE = "client_bank_file"; private static final String CLIENT_ID_FILE = "client_id_file"; @@ -308,21 +309,15 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid @Value("${app.agreetemplate.aggregate.path}") private String aggregateAgreetemplatePdfPath; - @Value("${royalpay.sms.appid:1400094878}") - private static int appId; - @Value("${royalpay.sms.appkey:43390d81e20c5191c278fbf4cd275be2}") - private static String appKey; @Resource private MpWechatApiProvider mpWechatApiProvider; private final int REFUSE_CLIENT_TEMPLID = 166108; - private SmsSingleSender sender = null; @PostConstruct public void init() { tags.add("account"); - sender = new SmsSingleSender(1400094878, "43390d81e20c5191c278fbf4cd275be2"); } @Override @@ -3066,7 +3061,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid ArrayList param = new ArrayList<>(); param.add(refuse_remark); try { - sender.sendWithParam("61", contact_phone.replace("+61", ""), REFUSE_CLIENT_TEMPLID, param, "RoyalPay", "", ""); + smsSender.getSender().sendWithParam("61", contact_phone.replace("+61", ""), REFUSE_CLIENT_TEMPLID, param, "RoyalPay", "", ""); } catch (Exception ignore) { throw new ServerErrorException("Phone number is wrong :" + contact_phone); } diff --git a/src/main/java/au/com/royalpay/payment/manage/support/sms/SmsSender.java b/src/main/java/au/com/royalpay/payment/manage/support/sms/SmsSender.java new file mode 100644 index 000000000..8373b5a63 --- /dev/null +++ b/src/main/java/au/com/royalpay/payment/manage/support/sms/SmsSender.java @@ -0,0 +1,33 @@ +package au.com.royalpay.payment.manage.support.sms; + +import com.github.qcloudsms.SmsSingleSender; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; + +/** + * @author kira + * @date 2018/8/1 + */ +@Component +public class SmsSender { + + @Value("${royalpay.sms.appid:1400094878}") + private int appId; + @Value("${royalpay.sms.appkey:43390d81e20c5191c278fbf4cd275be2}") + private String appKey; + + private SmsSingleSender sender = null; + + @PostConstruct + public void init() { + sender = new SmsSingleSender(appId, appKey); + } + + public SmsSingleSender getSender(){ + return sender; + } + +}