SmsController.java 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. package com.ruoyi.demo.controller;
  2. import com.ruoyi.common.core.domain.R;
  3. import com.ruoyi.common.utils.spring.SpringUtils;
  4. import com.ruoyi.sms.config.properties.SmsProperties;
  5. import com.ruoyi.sms.core.SmsTemplate;
  6. import io.swagger.annotations.Api;
  7. import io.swagger.annotations.ApiOperation;
  8. import io.swagger.annotations.ApiParam;
  9. import lombok.RequiredArgsConstructor;
  10. import org.springframework.validation.annotation.Validated;
  11. import org.springframework.web.bind.annotation.GetMapping;
  12. import org.springframework.web.bind.annotation.RequestMapping;
  13. import org.springframework.web.bind.annotation.RestController;
  14. import java.util.HashMap;
  15. import java.util.Map;
  16. /**
  17. * 短信演示案例
  18. * 请先阅读文档 否则无法使用
  19. *
  20. * @author Lion Li
  21. * @version 4.2.0
  22. */
  23. @Validated
  24. @Api(value = "短信演示案例", tags = {"短信演示案例"})
  25. @RequiredArgsConstructor
  26. @RestController
  27. @RequestMapping("/demo/sms")
  28. public class SmsController {
  29. private final SmsProperties smsProperties;
  30. // private final SmsTemplate smsTemplate; // 可以使用spring注入
  31. // private final AliyunSmsTemplate smsTemplate; // 也可以注入某个厂家的模板工具
  32. @ApiOperation("发送短信Aliyun")
  33. @GetMapping("/sendAliyun")
  34. public R<Object> sendAliyun(@ApiParam("电话号") String phones,
  35. @ApiParam("模板ID") String templateId) {
  36. if (!smsProperties.getEnabled()) {
  37. return R.fail("当前系统没有开启短信功能!");
  38. }
  39. if (!SpringUtils.containsBean("aliyunSmsTemplate")) {
  40. return R.fail("阿里云依赖未引入!");
  41. }
  42. SmsTemplate smsTemplate = SpringUtils.getBean(SmsTemplate.class);
  43. Map<String, String> map = new HashMap<>(1);
  44. map.put("code", "1234");
  45. Object send = smsTemplate.send(phones, templateId, map);
  46. return R.ok(send);
  47. }
  48. @ApiOperation("发送短信Tencent")
  49. @GetMapping("/sendTencent")
  50. public R<Object> sendTencent(@ApiParam("电话号") String phones,
  51. @ApiParam("模板ID") String templateId) {
  52. if (!smsProperties.getEnabled()) {
  53. return R.fail("当前系统没有开启短信功能!");
  54. }
  55. if (!SpringUtils.containsBean("tencentSmsTemplate")) {
  56. return R.fail("腾讯云依赖未引入!");
  57. }
  58. SmsTemplate smsTemplate = SpringUtils.getBean(SmsTemplate.class);
  59. Map<String, String> map = new HashMap<>(1);
  60. // map.put("2", "测试测试");
  61. map.put("1", "1234");
  62. Object send = smsTemplate.send(phones, templateId, map);
  63. return R.ok(send);
  64. }
  65. }