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);
            }
        }

  • 相关阅读:
    ASP.NET批量下载服务器端指定目录文件
    在腾讯云(windows)上搭建node.js服务器
    让站点支持MarkDown语法~(转)
    7-21 JSLINT格式规范工具 Bootstrap组件图标用font-size设置
    JS中的常量
    HTML基础篇(标签和属性整--已剔除不被浏览器支持的部分)
    7-20 jquery遍历节点,bootstrap模态框绑定事件和解绑,mock.js,model.urlroot,id,打基础
    Bootstrap3 多个模态对话框无法显示的问题
    JS题目合集---新技术层出不穷,打好基础才是上策~
    react,react native,webpack,ES6,node.js----------今天上午学了一下node.js
  • 原文地址:https://www.cnblogs.com/yousen/p/4627266.html
Copyright © 2011-2022 走看看