zoukankan      html  css  js  c++  java
  • 短信接口

    @Component
    public class SMSConnectorImpl implements SMSConnector {
        final static Logger logger = LoggerFactory
                .getLogger(SMSConnectorImpl.class);

        RestTemplate restTemplate;

        @Value("${sms.url}")
        private String smsUrl;

        @Value("${sms.accountid}")
        private String smsAccountid;

        @Value("${sms.password}")
        private String smsPassword;

        @Value("${sms.code}")
        private String smsCode;

        private String message;

        public SMSConnectorImpl() {
            restTemplate = new RestTemplate();
            setConfig();
        }

        public boolean sendVerifyCode(String phone, String verifyCode) {
            boolean result = false;
            this.message = "account=" + smsAccountid + "&pwd=" + smsPassword
                    + "&product=" + smsCode + "&mobile=$phone"
                    + "&message=邻食验证码:$verifycode" + ",请在5分钟内按页面提示完成验证码校验【邻食】";
            String sendMessage = message.replace("$phone", phone).replace(
                    "$verifycode", verifyCode);

            logger.info(sendMessage);

            Map<String, Object> urlVariables = new HashMap<String, Object>();
            String response = restTemplate.postForObject(smsUrl, sendMessage,
                    String.class, urlVariables);

            logger.info(response);

            if (response != null && response.contains("200,"))
                return true;

            return result;
        }

        private void setConfig() {
            ClientHttpRequestInterceptor acceptHeader = new AcceptHeaderHttpRequestInterceptor();
            List<ClientHttpRequestInterceptor> list = new ArrayList<ClientHttpRequestInterceptor>();
            list.add(acceptHeader);
            restTemplate.setInterceptors(list);
            StringHttpMessageConverter stringHttpMessageConverter = new StringHttpMessageConverter(
                    Charset.forName("GBK"));
            restTemplate.getMessageConverters().set(1, stringHttpMessageConverter);
        }

        class AcceptHeaderHttpRequestInterceptor implements
                ClientHttpRequestInterceptor {
            @Override
            public ClientHttpResponse intercept(HttpRequest request, byte[] body,
                    ClientHttpRequestExecution execution) throws IOException {
                HttpRequestWrapper requestWrapper = new HttpRequestWrapper(request);
                // List<MediaType> list = new ArrayList<MediaType>();
                requestWrapper.getHeaders().setContentType(
                        MediaType.APPLICATION_FORM_URLENCODED);
                requestWrapper.getHeaders().set("Accept-Charset", "utf-8");
                return execution.execute(requestWrapper, body);
            }
        }

  • 相关阅读:
    Oracle的序列、视图、索引和表空间
    MySQL存储过程
    MySQL触发器
    MySQL索引和视图
    完整性约束
    Mybatis的核心对象及运行流程
    Mybatis中配置连接池
    IDEA中创建Maven工程整合Mybatis
    Idea中创建JavaWeb工程
    实现整数集合的并、交、差运算
  • 原文地址:https://www.cnblogs.com/yousen/p/4627266.html
Copyright © 2011-2022 走看看