From ce14b5e9fb0ac17e7e41996620ccb48b73375788 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期六, 07 五月 2022 15:10:58 +0800
Subject: [PATCH] fix 修复 关闭短信功能 找不到bean异常问题

---
 ruoyi-sms/src/main/java/com/ruoyi/sms/config/SmsConfig.java                      |    3 ++-
 ruoyi-demo/src/main/java/com/ruoyi/demo/controller/SmsController.java            |   13 ++++++++++++-
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java |    2 +-
 3 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java
index 8feaca9..aa55c92 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java
@@ -45,7 +45,6 @@
 
     private final CaptchaProperties captchaProperties;
     private final SmsProperties smsProperties;
-    private final SmsTemplate smsTemplate;
     private final ISysConfigService configService;
 
     /**
@@ -66,6 +65,7 @@
         String templateId = "";
         Map<String, String> map = new HashMap<>(1);
         map.put("code", code);
+        SmsTemplate smsTemplate = SpringUtils.getBean(SmsTemplate.class);
         SmsResult result = smsTemplate.send(phonenumber, templateId, map);
         if (!result.isSuccess()) {
             log.error("楠岃瘉鐮佺煭淇″彂閫佸紓甯� => {}", result);
diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/SmsController.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/SmsController.java
index 51472de2..8331445 100644
--- a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/SmsController.java
+++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/SmsController.java
@@ -1,6 +1,8 @@
 package com.ruoyi.demo.controller;
 
 import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.utils.spring.SpringUtils;
+import com.ruoyi.sms.config.properties.SmsProperties;
 import com.ruoyi.sms.core.SmsTemplate;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -27,12 +29,17 @@
 @RequestMapping("/demo/sms")
 public class SmsController {
 
-    private final SmsTemplate smsTemplate;
+    private final SmsProperties smsProperties;
+//    private final SmsTemplate smsTemplate; // 鍙互浣跨敤spring娉ㄥ叆
 
     @ApiOperation("鍙戦�佺煭淇liyun")
     @GetMapping("/sendAliyun")
     public R<Object> sendAliyun(@ApiParam("鐢佃瘽鍙�") String phones,
                                      @ApiParam("妯℃澘ID") String templateId) {
+        if (smsProperties.getEnabled()) {
+            R.fail("褰撳墠绯荤粺娌℃湁寮�鍚煭淇″姛鑳斤紒");
+        }
+        SmsTemplate smsTemplate = SpringUtils.getBean(SmsTemplate.class);
         Map<String, String> map = new HashMap<>(1);
         map.put("code", "1234");
         Object send = smsTemplate.send(phones, templateId, map);
@@ -43,6 +50,10 @@
     @GetMapping("/sendTencent")
     public R<Object> sendTencent(@ApiParam("鐢佃瘽鍙�") String phones,
                                              @ApiParam("妯℃澘ID") String templateId) {
+        if (smsProperties.getEnabled()) {
+            R.fail("褰撳墠绯荤粺娌℃湁寮�鍚煭淇″姛鑳斤紒");
+        }
+        SmsTemplate smsTemplate = SpringUtils.getBean(SmsTemplate.class);
         Map<String, String> map = new HashMap<>(1);
 //        map.put("2", "娴嬭瘯娴嬭瘯");
         map.put("1", "1234");
diff --git a/ruoyi-sms/src/main/java/com/ruoyi/sms/config/SmsConfig.java b/ruoyi-sms/src/main/java/com/ruoyi/sms/config/SmsConfig.java
index abc4bb9..753773e 100644
--- a/ruoyi-sms/src/main/java/com/ruoyi/sms/config/SmsConfig.java
+++ b/ruoyi-sms/src/main/java/com/ruoyi/sms/config/SmsConfig.java
@@ -16,10 +16,10 @@
  * @version 4.2.0
  */
 @Configuration
-@ConditionalOnProperty(value = "sms.enabled", havingValue = "true")
 public class SmsConfig {
 
     @Configuration
+    @ConditionalOnProperty(value = "sms.enabled", havingValue = "true")
     @ConditionalOnClass(com.aliyun.dysmsapi20170525.Client.class)
     static class AliyunSmsConfig {
 
@@ -31,6 +31,7 @@
     }
 
     @Configuration
+    @ConditionalOnProperty(value = "sms.enabled", havingValue = "true")
     @ConditionalOnClass(com.tencentcloudapi.sms.v20190711.SmsClient.class)
     static class TencentSmsConfig {
 

--
Gitblit v1.9.3