当前位置: 首页> 健康> 养生 > 徐州网站开发设计平台_襄阳seo技术_天津网站seo设计_免费搭建自己的网站

徐州网站开发设计平台_襄阳seo技术_天津网站seo设计_免费搭建自己的网站

时间:2025/7/11 9:24:52来源:https://blog.csdn.net/usa_washington/article/details/144216465 浏览次数:0次
徐州网站开发设计平台_襄阳seo技术_天津网站seo设计_免费搭建自己的网站

阿里云开通三网106短信

①、在阿里云市场搜索“短信”,开通三网短信,并可以查看其中的请求示例(java PHP^)

并在个人中心的管理控制台中查到,获取其中的AppKey AppCode
在这里插入图片描述
在这里插入图片描述

②、接口开发
在这里插入图片描述

service-user模块中依赖spring-boot-stater-data-redis(配置文件中连接redis的信息)
cmmon-utils模块中依赖httpclient,httpcore,commons.lang,jetty-util

@RestController
@RequestMapping("api/user/sms")
public class SmsController{@Autowiredprivate SmsService smsService;@GetMapping(value="/sendCode/{phone}")public Result sendValidateCode(@PathVariable String phone){smsService.sendValidateCode(phone);return Reuslt.build(null,ResultCodeEnum.SUCCESS);}
}
@Service
public class SmsServiceImpl implements SmsService{@Autowiredprivate RedisTemplate<String,String> redisTemplate;@Overridepublic void sendCode(String phone){//生成验证码(通过common.lang工具生成4位验证码)String code = RandomStringUtils.randomNumeric(4);//将验证码放到redis,并设置过期时间redisTemplate.opsForValue().set(phone,code,5,TimeUnit.MINUTES);//向手机号发送短信验证码sendMessage(phone,code);}private void sendMessage(String phone,String code){String host = "https://dfsns.market.alicloudapi.com";String path = "/data/send_sms";String method = "POST";String appcode = "开通阿里云短信服务时的code";Map<String,String> headers = new HashMap<>();headers.put("Authorization","APPCODE" + appcode);headers.put("Content-Type","application/x-www-form-urlencoded";charset-UTF-8);Map<String,String> querys = new HashMap<>();Map<String,String> bodys = new HashMap<>();bodys.put("content","code:"+code);bodys.put("template_id","CST-ptdie100");bodys.put("phone_number",phone);try{//通过HttpUtils工具类进行短信的发送HttpResponse response = HttpUtils.doPost(host,path,method,headers,querys,body);System.out.println(response.toString())}catch(Exception e){e.printStackTrace()}}
}

HttpUtils工具类及其依赖,从github中aliyun下载

public class HttpUtils{public static HttpRespose doGet(String host,String path,String method,Map<String,String> headers,Map<String,String> querys) throws Exception{HttpClient httpClient = wrapClient(host);HttpGet request = new HttpGet(buildUrl(host,path,querys));for(Map.Entry<String,String> e:headers.entrySet){request.addHeader(e.getKey(),e.getValue());}return httpClient.execute(request);}public static HttpResponse doPost(String host,String path,String method,Map<String,String> headers,Map<String,String> querys,Map<String,String> bodys)throws Exception{HttpClient httpClient = wrapClient(host);HttpPost request = new HttpPost(buildUrl(host,path,querys));for(Map.Entry<String,String> e:headers.entrySet()){request.addHeader(e.getKey(),e.getValue());}}
}

====================================================================

①、依赖

<dependency><groupId>com.github.qcloudsms</groupId><artifactId>qcloudsms</artifactId><version>1.0.6</version>
</dependency>

②、

public interface SmsService {/*** 发送还款短信通知* @param mobile 还款人手机号* @param date 日期* @param amount 应还金额*/void sendRepaymentNotify(String mobile, String date, BigDecimal amount);
}
@Service
@Slf4j
public class QCloudSmsServiceImpl implements SmsService{@Value("${sms.qcloud.appId}")private int appId;@Value("${sms.qcloud.appKey}")private String appKey;@Value("{sms.qcloud.templateId}")private int templateId;@Value("{sms.qcloud.sign}")private String sign;@Overridepublic void sendRepaymentNotify(String mobile, String date, BigDecimal amount){log.info("给手机号{},发送还款提醒:{},金额:{}",mobile,date,amount);SmsSingleSender ssender = new SmsSingleSender(appId, appKey);//qcloudsms-1.0.6try{ssender.sendWithParam("86", mobile,templateId, new String[]{date, amount.toString()}, sign, "", "");}catch(Exception ex){log.error("发送失败:{}",ex .getMessage());}}
}

③、业务服务调用

@Override
public void sendRepaymentNotify(String date){//1.查询到期的还款计划List<RepaymentPlan> repaymentPlanList = selectDueRepayment(date);//2.遍历还款计划repaymentPlanList.forEach(repaymentPlan -> {//3.得到还款人的信息RestResponse<BorrowerDTO> consumerReponse = consumerApiAgent.getBorrowerMobile(repaymentPlan.getConsumerId());//4.得到还款人的手机号String mobile = consumerReponse.getResult().getMobile();//5.发送还款短信smsService.sendRepaymentNotify(mobile,date,repaymentPlan.getAmount());});
}
关键字:徐州网站开发设计平台_襄阳seo技术_天津网站seo设计_免费搭建自己的网站

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: