123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- package com.caimei365.tools.utils;
- import com.alibaba.fastjson.JSONObject;
- import org.springframework.beans.factory.annotation.Value;
- import java.io.BufferedReader;
- import java.io.InputStreamReader;
- import java.io.OutputStream;
- import java.net.HttpURLConnection;
- import java.net.URL;
- import java.nio.charset.StandardCharsets;
- import java.util.ArrayList;
- import java.util.List;
- /**
- * 短信工具类
- * 创蓝云智短信平台:https://zz.253.com/control/login
- *
- * @author : Charles
- * @date : 2021/6/17
- */
- public class SmsUtil {
- /** key */
- private static final String ACCOUNT = "account";
- private static final String PASSWORD = "password";
- /** 通知短信 账户 */
- private static final String ACCOUNT_NOTICE = "N2532063";
- private static final String PASSWORD_NOTICE = "jzVvYmuP4D7f1b";
- /** 验证码短信 账户 */
- private static final String ACCOUNT_YZM = "YZM6372171";
- private static final String PASSWORD_YZM = "1L8ZaIEW7fa3ca";
- /** 营销短信 账户 */
- private static final String ACCOUNT_ADS = "M1666161";
- private static final String PASSWORD_ADS = "TO3xSGvEUk6ddc";
- /** 请求地址 */
- private static final String SMS_URL = "http://smssh1.253.com/msg/send/json";
- private static String prof;
- @Value("${caimei.coreDomain}")
- public void setProf(String profs){
- prof=profs;
- };
- private SmsUtil(){}
- /**
- * 发送短信
- *
- * @param type 短信类型:1通知短信,2验证码短信,3营销短信
- * @param mobile 手机号
- * @param content 短信内容
- */
- public static String sendSms(Integer type, String mobile, String content){
- JSONObject params = new JSONObject();
- if (null != type && 2 == type) {
- // 验证码短信
- params.put(ACCOUNT, ACCOUNT_YZM);
- params.put(PASSWORD, PASSWORD_YZM);
- } else if (null != type && 3 == type) {
- // 营销短信
- params.put(ACCOUNT, ACCOUNT_ADS);
- params.put(PASSWORD, PASSWORD_ADS);
- } else {
- // 通知短信
- params.put(ACCOUNT, ACCOUNT_NOTICE);
- params.put(PASSWORD, PASSWORD_NOTICE);
- }
- // 手机号
- params.put("phone", mobile);
- // 短信内容
- params.put("msg", content);
- // 是否需要状态报告
- params.put("report", "true");
- String requestContent = params.toString();
- URL url;
- try {
- List<String> list = new ArrayList<>();
- list.add("15917362709");
- list.add("15814011616");
- list.add("13100721916");
- list.add("15113936829");
- list.add("15827317748");
- list.add("18476937515");
- if (prof.contains("core.caimei365.com") || list.contains(mobile)) {
- url = new URL(SMS_URL);
- HttpURLConnection connection = (HttpURLConnection) url.openConnection();
- connection.setRequestMethod("POST");
- connection.setConnectTimeout(10000);
- connection.setReadTimeout(10000);
- // 发送POST请求必须设置如下两行
- connection.setDoOutput(true);
- connection.setDoInput(true);
- connection.setRequestProperty("Charset", "UTF-8");
- connection.setRequestProperty("Content-Type", "application/json");
- connection.connect();
- OutputStream os=connection.getOutputStream();
- os.write(requestContent.getBytes(StandardCharsets.UTF_8));
- os.flush();
- StringBuilder sb = new StringBuilder();
- int httpRspCode = connection.getResponseCode();
- if (httpRspCode == HttpURLConnection.HTTP_OK) {
- // 开始获取数据
- BufferedReader br = new BufferedReader(
- new InputStreamReader(connection.getInputStream(), StandardCharsets.UTF_8));
- String line;
- while ((line = br.readLine()) != null) {
- sb.append(line);
- }
- br.close();
- return sb.toString();
- }
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- return null;
- }
- }
|