From 1fb23cbeeaaeda0a66cf8fe8977c3f5915743cc7 Mon Sep 17 00:00:00 2001 From: fengjin <1435304038@qq.com> Date: 星期五, 21 十月 2022 15:13:10 +0800 Subject: [PATCH] Merge branch 'zigonggao_dev' into huacheng_test --- flower_city/src/main/java/com/dg/core/util/SmsUtil.java | 116 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 115 insertions(+), 1 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 52e41cd..5f439db 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 @@ -38,7 +38,12 @@ @Resource RedisTemplate<String, Object> redisTemplate; - // 发送短信 + /** + * 发送短信登录验证码 + * + * @param tel + * 电话 + */ public ResultData<Object> sendSms(String tel) { //cn-hangzhou 是阿里定义的签名固定值。填写阿里云申请短信签名的key和secret值 DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", aliyunConfig.getKey(), aliyunConfig.getScrect()); @@ -83,6 +88,14 @@ return ResultData.error("短信发送失败"); } + /** + * 发送工单超时短信 + * + * @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()); @@ -124,4 +137,105 @@ } 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