123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- package kd.cosmic.jkjt.common.util;
- import kd.cosmic.jkjt.common.util.Result;
- import kd.fi.bcm.formplugin.dimension.batchimp.helper.ImportResultEntry;
- import org.apache.http.HttpResponse;
- import org.apache.http.client.HttpClient;
- import org.apache.http.client.entity.UrlEncodedFormEntity;
- import org.apache.http.client.methods.HttpPost;
- import org.apache.http.impl.client.HttpClients;
- import org.apache.http.message.BasicNameValuePair;
- import org.apache.http.util.EntityUtils;
- import java.util.ArrayList;
- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
- /**
- * @author wangqiang
- * @create 2022-08-22 17:53
- */
- public class SmsService {
- private final HttpClient httpClient;
- private String url = "http://sms.api.ums86.com:8899/sms/Api/Send.do";
- private String spCode = "243649";
- private String loginName = "jx_jr";
- private String password = "jxjkyxt8638";
- public SmsService() {
- this.httpClient = HttpClients.createDefault();
- }
- public Result sendSMS(String smsId, String number, String msg) {
- String filter = filter(msg);
- number = number.replace("|", ",");
- try {
- send(filter, number);
- } catch (Exception e) {
- return Result.error(500, "发送短信出现异常!");
- }
- return Result.success();
- }
- public Result sendSMS(String number, String msg) {
- number = number.replace("|", ",");
- try {
- send("您的验证码为" + msg, number);
- } catch (Exception e) {
- return Result.error(500, "发送短信出现异常!");
- }
- return Result.success();
- }
- public void send(String message, String numbers) throws Exception {
- ArrayList parameterList = new ArrayList();
- parameterList.add(new BasicNameValuePair("SpCode", this.spCode));
- parameterList.add(new BasicNameValuePair("LoginName", this.loginName));
- parameterList.add(new BasicNameValuePair("Password", this.password));
- parameterList.add(new BasicNameValuePair("MessageContent", message));
- parameterList.add(new BasicNameValuePair("UserNumber", numbers));
- parameterList.add(new BasicNameValuePair("SerialNumber", String.valueOf(System.currentTimeMillis())));
- UrlEncodedFormEntity urlEncodedFormEntity = new UrlEncodedFormEntity(parameterList, "GBK");
- HttpPost httpPost = new HttpPost(this.url);
- httpPost.setHeader("Content-Type", "application/x-www-form-urlencoded;charset=gbk");
- httpPost.setEntity(urlEncodedFormEntity);
- HttpResponse response = this.httpClient.execute(httpPost);
- String responseStr = EntityUtils.toString(response.getEntity(), "GBK");
- if (response.getStatusLine().getStatusCode() != 200) {
- throw new Exception("状态码非200");
- }
- if (responseStr.charAt(7) != '0')
- throw new Exception("短信发送失败," + responseStr);
- }
- private String filter(String content) {
- Pattern compile = Pattern.compile("E-cology短信随机验证码:(?<captcha>.*),请登录后及时修改!");
- Matcher matcher = compile.matcher(content);
- if (!(matcher.find())) {
- return content;
- }
- String captcha = matcher.group("captcha");
- return "您的验证码为" + captcha;
- }
- public String getUrl() {
- return this.url;
- }
- public void setUrl(String url) {
- this.url = url;
- }
- public String getSpCode() {
- return this.spCode;
- }
- public void setSpCode(String spCode) {
- this.spCode = spCode;
- }
- public String getLoginName() {
- return this.loginName;
- }
- public void setLoginName(String loginName) {
- this.loginName = loginName;
- }
- public String getPassword() {
- return this.password;
- }
- public void setPassword(String password) {
- this.password = password;
- }
- }
|