From 60edd6148b128a755e61dd2c163d5eea3311e189 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期五, 09 六月 2023 10:25:05 +0800 Subject: [PATCH] update 优化 !pr367 完成 sms4j 集成 --- ruoyi-admin/src/main/resources/application-prod.yml | 33 ++++++++++++---- ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/SmsController.java | 23 ++--------- ruoyi-common/ruoyi-common-sms/pom.xml | 11 +++-- ruoyi-modules/ruoyi-demo/pom.xml | 10 ----- ruoyi-admin/src/main/java/org/dromara/web/controller/CaptchaController.java | 9 ++-- ruoyi-admin/src/main/resources/application-dev.yml | 21 ++++++++-- 6 files changed, 57 insertions(+), 50 deletions(-) diff --git a/ruoyi-admin/src/main/java/org/dromara/web/controller/CaptchaController.java b/ruoyi-admin/src/main/java/org/dromara/web/controller/CaptchaController.java index 3977e30..8abada6 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/controller/CaptchaController.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/controller/CaptchaController.java @@ -17,6 +17,7 @@ import org.dromara.common.sms.config.properties.SmsProperties; import org.dromara.common.web.config.properties.CaptchaProperties; import org.dromara.common.web.enums.CaptchaType; +import org.dromara.sms4j.api.SmsBlend; import org.dromara.sms4j.api.entity.SmsResponse; import org.dromara.sms4j.core.factory.SmsFactory; import org.dromara.sms4j.provider.enumerate.SupplierType; @@ -57,17 +58,15 @@ */ @GetMapping("/resource/sms/code") public R<Void> smsCode(@NotBlank(message = "{user.phonenumber.not.blank}") String phonenumber) { - if (!smsProperties.getEnabled()) { - return R.fail("褰撳墠绯荤粺娌℃湁寮�鍚煭淇″姛鑳斤紒"); - } String key = GlobalConstants.CAPTCHA_CODE_KEY + phonenumber; String code = RandomUtil.randomNumbers(4); RedisUtils.setCacheObject(key, code, Duration.ofMinutes(Constants.CAPTCHA_EXPIRATION)); // 楠岃瘉鐮佹ā鏉縤d 鑷澶勭悊 (鏌ユ暟鎹簱鎴栧啓姝诲潎鍙�) - String templateId = "SMS_460945446"; + String templateId = ""; LinkedHashMap<String, String> map = new LinkedHashMap<>(1); map.put("code", code); - SmsResponse smsResponse = SmsFactory.createSmsBlend(SupplierType.ALIBABA).sendMessage(phonenumber, templateId, map); + SmsBlend smsBlend = SmsFactory.createSmsBlend(SupplierType.ALIBABA); + SmsResponse smsResponse = smsBlend.sendMessage(phonenumber, templateId, map); if (!"OK".equals(smsResponse.getCode())) { log.error("楠岃瘉鐮佺煭淇″彂閫佸紓甯� => {}", smsResponse); return R.fail(smsResponse.getMessage()); diff --git a/ruoyi-admin/src/main/resources/application-dev.yml b/ruoyi-admin/src/main/resources/application-dev.yml index f3dda8f..5adc8ae 100644 --- a/ruoyi-admin/src/main/resources/application-dev.yml +++ b/ruoyi-admin/src/main/resources/application-dev.yml @@ -158,16 +158,29 @@ # Socket杩炴帴瓒呮椂鍊硷紝鍗曚綅姣锛岀己鐪佸�间笉瓒呮椂 connectionTimeout: 0 ---- # sms 鐭俊 https://wind.kim/doc/start/springboot.html +--- # sms 鐭俊 鏀寔 闃块噷浜� 鑵捐浜� 浜戠墖 绛夌瓑鍚勫紡鍚勬牱鐨勭煭淇℃湇鍔″晢 +# https://wind.kim/doc/start 鏂囨。鍦板潃 鍚勪釜鍘傚晢鍙悓鏃朵娇鐢� sms: - enabled: true # 闃块噷浜� dysmsapi.aliyuncs.com alibaba: + #璇锋眰鍦板潃 榛樿涓� dysmsapi.aliyuncs.com 濡傛棤鐗规畩鏀瑰彉鍙互涓嶇敤璁剧疆 + requestUrl: dysmsapi.aliyuncs.com #闃块噷浜戠殑accessKey accessKeyId: xxxxxxx #闃块噷浜戠殑accessKeySecret accessKeySecret: xxxxxxx #鐭俊绛惧悕 signature: 娴嬭瘯 - #璇锋眰鍦板潃 榛樿涓篸ysmsapi.aliyuncs.com 濡傛棤鐗规畩鏀瑰彉鍙互涓嶇敤璁剧疆 - requestUrl: dysmsapi.aliyuncs.com + tencent: + #璇锋眰鍦板潃榛樿涓� sms.tencentcloudapi.com 濡傛棤鐗规畩鏀瑰彉鍙笉鐢ㄨ缃� + requestUrl: sms.tencentcloudapi.com + #鑵捐浜戠殑accessKey + accessKeyId: xxxxxxx + #鑵捐浜戠殑accessKeySecret + accessKeySecret: xxxxxxx + #鐭俊绛惧悕 + signature: 娴嬭瘯 + #鐭俊sdkAppId + sdkAppId: appid + #鍦板煙淇℃伅榛樿涓� ap-guangzhou 濡傛棤鐗规畩鏀瑰彉鍙笉鐢ㄨ缃� + territory: ap-guangzhou diff --git a/ruoyi-admin/src/main/resources/application-prod.yml b/ruoyi-admin/src/main/resources/application-prod.yml index e760823..4b29d1c 100644 --- a/ruoyi-admin/src/main/resources/application-prod.yml +++ b/ruoyi-admin/src/main/resources/application-prod.yml @@ -161,14 +161,29 @@ # Socket杩炴帴瓒呮椂鍊硷紝鍗曚綅姣锛岀己鐪佸�间笉瓒呮椂 connectionTimeout: 0 ---- # sms 鐭俊 +--- # sms 鐭俊 鏀寔 闃块噷浜� 鑵捐浜� 浜戠墖 绛夌瓑鍚勫紡鍚勬牱鐨勭煭淇℃湇鍔″晢 +# https://wind.kim/doc/start 鏂囨。鍦板潃 鍚勪釜鍘傚晢鍙悓鏃朵娇鐢� sms: - enabled: false # 闃块噷浜� dysmsapi.aliyuncs.com - # 鑵捐浜� sms.tencentcloudapi.com - endpoint: "dysmsapi.aliyuncs.com" - accessKeyId: xxxxxxx - accessKeySecret: xxxxxx - signName: 娴嬭瘯 - # 鑵捐涓撶敤 - sdkAppId: + alibaba: + #璇锋眰鍦板潃 榛樿涓� dysmsapi.aliyuncs.com 濡傛棤鐗规畩鏀瑰彉鍙互涓嶇敤璁剧疆 + requestUrl: dysmsapi.aliyuncs.com + #闃块噷浜戠殑accessKey + accessKeyId: xxxxxxx + #闃块噷浜戠殑accessKeySecret + accessKeySecret: xxxxxxx + #鐭俊绛惧悕 + signature: 娴嬭瘯 + tencent: + #璇锋眰鍦板潃榛樿涓� sms.tencentcloudapi.com 濡傛棤鐗规畩鏀瑰彉鍙笉鐢ㄨ缃� + requestUrl: sms.tencentcloudapi.com + #鑵捐浜戠殑accessKey + accessKeyId: xxxxxxx + #鑵捐浜戠殑accessKeySecret + accessKeySecret: xxxxxxx + #鐭俊绛惧悕 + signature: 娴嬭瘯 + #鐭俊sdkAppId + sdkAppId: appid + #鍦板煙淇℃伅榛樿涓� ap-guangzhou 濡傛棤鐗规畩鏀瑰彉鍙笉鐢ㄨ缃� + territory: ap-guangzhou diff --git a/ruoyi-common/ruoyi-common-sms/pom.xml b/ruoyi-common/ruoyi-common-sms/pom.xml index 45b4256..c50f222 100644 --- a/ruoyi-common/ruoyi-common-sms/pom.xml +++ b/ruoyi-common/ruoyi-common-sms/pom.xml @@ -16,14 +16,17 @@ </description> <dependencies> - <dependency> - <groupId>org.dromara</groupId> - <artifactId>ruoyi-common-json</artifactId> - </dependency> <dependency> <groupId>org.dromara.sms4j</groupId> <artifactId>sms4j-spring-boot-starter</artifactId> + <exclusions> + <!-- 鎺掗櫎浜笢鐭俊鍐呭瓨鍦ㄧ殑fastjson绛夊緟浣滆�呭悗缁慨澶� --> + <exclusion> + <groupId>com.alibaba</groupId> + <artifactId>fastjson</artifactId> + </exclusion> + </exclusions> </dependency> </dependencies> diff --git a/ruoyi-modules/ruoyi-demo/pom.xml b/ruoyi-modules/ruoyi-demo/pom.xml index 09bf0bf..4fd43bc 100644 --- a/ruoyi-modules/ruoyi-demo/pom.xml +++ b/ruoyi-modules/ruoyi-demo/pom.xml @@ -97,16 +97,6 @@ <groupId>org.dromara</groupId> <artifactId>ruoyi-common-websocket</artifactId> </dependency> - <!-- 鐭俊 鐢ㄥ摢涓鍏ュ摢涓緷璧� --> -<!-- <dependency>--> -<!-- <groupId>com.aliyun</groupId>--> -<!-- <artifactId>dysmsapi20170525</artifactId>--> -<!-- </dependency>--> - -<!-- <dependency>--> -<!-- <groupId>com.tencentcloudapi</groupId>--> -<!-- <artifactId>tencentcloud-sdk-java-sms</artifactId>--> -<!-- </dependency>--> </dependencies> diff --git a/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/SmsController.java b/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/SmsController.java index bd16bd6..048b514 100644 --- a/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/SmsController.java +++ b/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/SmsController.java @@ -4,6 +4,7 @@ import org.dromara.common.core.domain.R; import org.dromara.common.core.utils.SpringUtils; import org.dromara.common.sms.config.properties.SmsProperties; +import org.dromara.sms4j.api.SmsBlend; import org.dromara.sms4j.api.entity.SmsResponse; import org.dromara.sms4j.core.factory.SmsFactory; import org.dromara.sms4j.provider.enumerate.SupplierType; @@ -27,10 +28,6 @@ @RequestMapping("/demo/sms") public class SmsController { - private final SmsProperties smsProperties; -// private final SmsTemplate smsTemplate; // 鍙互浣跨敤spring娉ㄥ叆 -// private final AliyunSmsTemplate smsTemplate; // 涔熷彲浠ユ敞鍏ユ煇涓巶瀹剁殑妯℃澘宸ュ叿 - /** * 鍙戦�佺煭淇liyun * @@ -39,15 +36,10 @@ */ @GetMapping("/sendAliyun") public R<Object> sendAliyun(String phones, String templateId) { - if (!smsProperties.getEnabled()) { - return R.fail("褰撳墠绯荤粺娌℃湁寮�鍚煭淇″姛鑳斤紒"); - } - if (!SpringUtils.containsBean("aliyunSmsTemplate")) { - return R.fail("闃块噷浜戜緷璧栨湭寮曞叆锛�"); - } LinkedHashMap<String, String> map = new LinkedHashMap<>(1); map.put("code", "1234"); - SmsResponse smsResponse = SmsFactory.createSmsBlend(SupplierType.ALIBABA).sendMessage(phones, templateId, map); + SmsBlend smsBlend = SmsFactory.createSmsBlend(SupplierType.ALIBABA); + SmsResponse smsResponse = smsBlend.sendMessage(phones, templateId, map); return R.ok(smsResponse); } @@ -59,16 +51,11 @@ */ @GetMapping("/sendTencent") public R<Object> sendTencent(String phones, String templateId) { - if (!smsProperties.getEnabled()) { - return R.fail("褰撳墠绯荤粺娌℃湁寮�鍚煭淇″姛鑳斤紒"); - } - if (!SpringUtils.containsBean("tencentSmsTemplate")) { - return R.fail("鑵捐浜戜緷璧栨湭寮曞叆锛�"); - } LinkedHashMap<String, String> map = new LinkedHashMap<>(1); // map.put("2", "娴嬭瘯娴嬭瘯"); map.put("1", "1234"); - SmsResponse smsResponse = SmsFactory.createSmsBlend(SupplierType.TENCENT).sendMessage(phones, templateId, map); + SmsBlend smsBlend = SmsFactory.createSmsBlend(SupplierType.TENCENT); + SmsResponse smsResponse = smsBlend.sendMessage(phones, templateId, map); return R.ok(smsResponse); } -- Gitblit v1.9.3