From 6f30b5c886cd05081d6250eb0506816fb2ac80ec Mon Sep 17 00:00:00 2001
From: lidongdong <1459917685@qq.com>
Date: 星期二, 22 十一月 2022 14:11:30 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/huacheng_test' into huacheng_test
---
flower_city/src/main/java/com/dg/core/util/SmsUtil.java | 211 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 209 insertions(+), 2 deletions(-)
diff --git a/flower_city/src/main/java/com/dg/core/util/SmsUtil.java b/flower_city/src/main/java/com/dg/core/util/SmsUtil.java
index 6016b63..4f29fa5 100644
--- a/flower_city/src/main/java/com/dg/core/util/SmsUtil.java
+++ b/flower_city/src/main/java/com/dg/core/util/SmsUtil.java
@@ -1,5 +1,6 @@
package com.dg.core.util;
+import com.alibaba.fastjson.JSONObject;
import com.aliyuncs.CommonRequest;
import com.aliyuncs.CommonResponse;
import com.aliyuncs.DefaultAcsClient;
@@ -11,6 +12,9 @@
import com.dg.core.ResultData;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
+import com.squareup.okhttp.OkHttpClient;
+import com.squareup.okhttp.Request;
+import com.squareup.okhttp.Response;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -18,7 +22,9 @@
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
+import java.io.IOException;
import java.util.HashMap;
+import java.util.Map;
import java.util.Random;
import java.util.concurrent.TimeUnit;
@@ -38,7 +44,18 @@
@Resource
RedisTemplate<String, Object> redisTemplate;
- // 发送短信
+ private String LoginName="DSCJKCSZH";
+
+ private String Pwd="dx@2020";
+
+ private String FeeType="2";
+
+ /**
+ * 发送短信登录验证码
+ *
+ * @param tel
+ * 电话
+ */
public ResultData<Object> sendSms(String tel) {
//cn-hangzhou 是阿里定义的签名固定值。填写阿里云申请短信签名的key和secret值
DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", aliyunConfig.getKey(), aliyunConfig.getScrect());
@@ -53,7 +70,7 @@
// 接收人电话
request.putQueryParameter("PhoneNumbers", tel);
// 短信签名
- request.putQueryParameter("SignName", aliyunConfig.getSignName());
+ request.putQueryParameter("SignName", "集慧科技");
// 短信模板
request.putQueryParameter("TemplateCode", aliyunConfig.getTemplateCode());
Random rd = new Random();
@@ -82,4 +99,194 @@
}
return ResultData.error("短信发送失败");
}
+
+ /**
+ * 发送短信登录验证码(电信平台)
+ *
+ * @param tel
+ * 电话
+ */
+
+ public ResultData sendSmsNew(String tel) {
+ String url =
+ "https://dxsdk.028lk.com:8082/Api/SendSms?"+"LoginName="+LoginName+"&Pwd="+Pwd+"&FeeType="+FeeType+"&Mobile="+tel+"&Content=";
+ Random rd = new Random();
+ // int code = rd.nextInt(900000) + 100000;测试账号模板验证码数值固定等有正式账号才能进行随机数
+ int code=181326;
+ String content="验证码:"+code+",您正在进行注册操作,验证码5分钟内有效,请勿向他人泄露。";
+ url=url+content;
+ OkHttpClient client = new OkHttpClient();
+ Response response;
+ //解密数据
+ String rsa = null;
+ Request request = new Request.Builder()
+ .url(url)
+ .get()
+ .addHeader("Content-Type", "application/x-www-form-urlencoded")
+ .build();
+ try {
+ response = client.newCall(request).execute();
+ redisTemplate.opsForValue().set(tel, code + "", 5, TimeUnit.MINUTES);
+// rsa = response.body().string().split("|")[0];
+ rsa = response.message();
+ if (!rsa.equals("OK")){
+ return ResultData.success("短信发送失败");
+ }
+ } catch (IOException e) {
+ e.printStackTrace();
+ return ResultData.success("短信发送失败");
+ }
+ return ResultData.success("短信发送成功");
+ }
+
+ /**
+ * 发送工单超时短信
+ *
+ * @param tel
+ * 电话
+ * @param name
+ * 工单名
+ */
+ public ResultData<Object> sendSmsOvertime(String tel,String name) {
+ //cn-hangzhou 是阿里定义的签名固定值。填写阿里云申请短信签名的key和secret值
+ DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", aliyunConfig.getKey(), aliyunConfig.getScrect());
+ /*阿里云提供的短信发送api的近期的相关代码,代码以最新的阿里api提供为准*/
+ IAcsClient client = new DefaultAcsClient(profile);
+ CommonRequest request = new CommonRequest();
+ request.setSysMethod(MethodType.POST);
+ request.setSysDomain("dysmsapi.aliyuncs.com");
+ request.setSysVersion("2017-05-25");
+ request.setSysAction("SendSms");
+ request.putQueryParameter("RegionId", "cn-hangzhou");
+ // 接收人电话
+ request.putQueryParameter("PhoneNumbers", tel);
+ // 短信签名
+ request.putQueryParameter("SignName", "集慧科技");
+ // 短信模板
+ request.putQueryParameter("TemplateCode", aliyunConfig.getTemplateCodeOvertime());
+ Random rd = new Random();
+ // 短信内容
+ request.putQueryParameter("TemplateParam", "{name:'" + name + "'}");
+ // 获取短信发送的响应结果
+ try {
+ CommonResponse rs = client.getCommonResponse(request);
+ LOGGER.debug(rs.getData().toString());
+ // 把json格式的字符串装换成java的map的数据类型
+ ObjectMapper mapper = new ObjectMapper();
+ try {
+ HashMap<String, Object> m = mapper.readValue(rs.getData().toString(), HashMap.class);
+ if (m.get("Message").equals("OK")) {
+ return ResultData.success("短信发送成功!");
+ }
+ } catch (JsonProcessingException e) {
+ e.printStackTrace();
+ return ResultData.error("短信发送失败");
+ }
+ } catch (ClientException e) {
+ e.printStackTrace();
+ return ResultData.error("短信发送失败");
+ }
+ return ResultData.error("短信发送失败");
+ }
+
+ /**
+ * 发送工单完成短信
+ *
+ * @param tel
+ * 电话
+ * @param name
+ * 工单名
+ */
+ public ResultData<Object> sendSmsComplete(String tel,String name) {
+ //cn-hangzhou 是阿里定义的签名固定值。填写阿里云申请短信签名的key和secret值
+ DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", aliyunConfig.getKey(), aliyunConfig.getScrect());
+ /*阿里云提供的短信发送api的近期的相关代码,代码以最新的阿里api提供为准*/
+ IAcsClient client = new DefaultAcsClient(profile);
+ CommonRequest request = new CommonRequest();
+ request.setSysMethod(MethodType.POST);
+ request.setSysDomain("dysmsapi.aliyuncs.com");
+ request.setSysVersion("2017-05-25");
+ request.setSysAction("SendSms");
+ request.putQueryParameter("RegionId", "cn-hangzhou");
+ // 接收人电话
+ request.putQueryParameter("PhoneNumbers", tel);
+ // 短信签名
+ request.putQueryParameter("SignName", "集慧科技");
+ // 短信模板
+ request.putQueryParameter("TemplateCode", aliyunConfig.getTemplateCodeComplete());
+ Random rd = new Random();
+ // 短信内容
+ request.putQueryParameter("TemplateParam", "{name:'" + name + "'}");
+ // 获取短信发送的响应结果
+ try {
+ CommonResponse rs = client.getCommonResponse(request);
+ LOGGER.debug(rs.getData().toString());
+ // 把json格式的字符串装换成java的map的数据类型
+ ObjectMapper mapper = new ObjectMapper();
+ try {
+ HashMap<String, Object> m = mapper.readValue(rs.getData().toString(), HashMap.class);
+ if (m.get("Message").equals("OK")) {
+ return ResultData.success("短信发送成功!");
+ }
+ } catch (JsonProcessingException e) {
+ e.printStackTrace();
+ return ResultData.error("短信发送失败");
+ }
+ } catch (ClientException e) {
+ e.printStackTrace();
+ return ResultData.error("短信发送失败");
+ }
+ return ResultData.error("短信发送失败");
+ }
+
+
+ /**
+ * 发送工单提交短信
+ *
+ * @param tel
+ * 电话
+ * @param name
+ * 工单名
+ */
+ public ResultData<Object> sendSmsSubmit(String tel,String name) {
+ //cn-hangzhou 是阿里定义的签名固定值。填写阿里云申请短信签名的key和secret值
+ DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", aliyunConfig.getKey(), aliyunConfig.getScrect());
+ /*阿里云提供的短信发送api的近期的相关代码,代码以最新的阿里api提供为准*/
+ IAcsClient client = new DefaultAcsClient(profile);
+ CommonRequest request = new CommonRequest();
+ request.setSysMethod(MethodType.POST);
+ request.setSysDomain("dysmsapi.aliyuncs.com");
+ request.setSysVersion("2017-05-25");
+ request.setSysAction("SendSms");
+ request.putQueryParameter("RegionId", "cn-hangzhou");
+ // 接收人电话
+ request.putQueryParameter("PhoneNumbers", tel);
+ // 短信签名
+ request.putQueryParameter("SignName", "集慧科技");
+ // 短信模板
+ request.putQueryParameter("TemplateCode", aliyunConfig.getTemplateCodeSubmit());
+ Random rd = new Random();
+ // 短信内容
+ request.putQueryParameter("TemplateParam", "{name:'" + name + "'}");
+ // 获取短信发送的响应结果
+ try {
+ CommonResponse rs = client.getCommonResponse(request);
+ LOGGER.debug(rs.getData().toString());
+ // 把json格式的字符串装换成java的map的数据类型
+ ObjectMapper mapper = new ObjectMapper();
+ try {
+ HashMap<String, Object> m = mapper.readValue(rs.getData().toString(), HashMap.class);
+ if (m.get("Message").equals("OK")) {
+ return ResultData.success("短信发送成功!");
+ }
+ } catch (JsonProcessingException e) {
+ e.printStackTrace();
+ return ResultData.error("短信发送失败");
+ }
+ } catch (ClientException e) {
+ e.printStackTrace();
+ return ResultData.error("短信发送失败");
+ }
+ return ResultData.error("短信发送失败");
+ }
}
\ No newline at end of file
--
Gitblit v1.7.1