From 19b96e1b86b3ffd8a75de1bcf95bcbce85fb36e8 Mon Sep 17 00:00:00 2001 From: lidongdong <1459917685@qq.com> Date: 星期三, 23 十一月 2022 18:21:32 +0800 Subject: [PATCH] 其他附件管理列表接口新增 创建人字段 --- 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