From 60667991c703e38d96fd34d0ae93c07afb6a6e76 Mon Sep 17 00:00:00 2001 From: sxu <602087911@qq.com> Date: Wed, 7 May 2025 17:18:10 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=89=E5=BE=BD=E7=9C=81=E5=85=AC=E5=8F=B8?= =?UTF-8?q?=E7=9F=AD=E4=BF=A1=E5=B9=B3=E5=8F=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bonus/common/core/utils/sms/SmsUtils.java | 113 +++++++++--------- .../common/security/service/SmsService.java | 112 ++++++++--------- .../service/impl/SysUserServiceImpl.java | 8 +- 3 files changed, 114 insertions(+), 119 deletions(-) diff --git a/bonus-common/bonus-common-core/src/main/java/com/bonus/common/core/utils/sms/SmsUtils.java b/bonus-common/bonus-common-core/src/main/java/com/bonus/common/core/utils/sms/SmsUtils.java index c64692c..c417528 100644 --- a/bonus-common/bonus-common-core/src/main/java/com/bonus/common/core/utils/sms/SmsUtils.java +++ b/bonus-common/bonus-common-core/src/main/java/com/bonus/common/core/utils/sms/SmsUtils.java @@ -1,59 +1,54 @@ -//package com.bonus.common.core.utils.sms; -// -//import cn.hutool.json.JSONObject; -//import com.ah.sbd.SmsTool; -//import com.ah.sbd.utils.param.BatchSmsByContentParam; -//import com.ah.sbd.utils.param.SmsParam; -//import com.alibaba.fastjson2.JSON; -//import com.bonus.common.core.utils.StringUtils; -//import com.bonus.common.core.utils.encryption.Sm4Utils; -//import com.bonus.common.core.utils.http.HttpRequestHelper; -//import org.springframework.util.CollectionUtils; -// -//import java.net.URLEncoder; -//import java.util.HashMap; -//import java.util.List; -//import java.util.Map; -// -//public class SmsUtils { -// // 安徽省公司短信平台key -// public static final String ANHUI_COMPANY_SMS_KEY = "Wq1FZobZC5iJIAGKWh6gpKUmdGKBOQq7koHmx+Vg49g/dSjSFlw+2qRQmMmyXvJT"; -// /** -// * 发送短信验证码 -// * -// * @param mobile 发信发送的目的号码.多个号码之间用半角逗号隔开 -// * @param content 短信的内容,内容需要UTF-8编码 -// * @param sendTime 为空表示立即发送,定时发送格式:20101024090810 -// * @return 是否发送成功 -// */ -// public static String smsToken(String mobile, String content, String sendTime) { -// Map headers = new HashMap<>(); -// Map mapJson = new HashMap<>(6); -// mapJson.put("ddtkey", SmsConfig.DDT_KEY); -// mapJson.put("secretkey", SmsConfig.SECRET_KEY); -// mapJson.put("mobile", mobile); -// mapJson.put("content", SmsConfig.SMS_SIGNATURE + content); -// mapJson.put("sendTime", sendTime); -// mapJson.put("extno", ""); -// -// // 将mapJson转换为URL查询参数格式 -// StringBuilder urlBuilder = new StringBuilder(SmsConfig.SMS_TOKEN + "?"); -// for (Map.Entry entry : mapJson.entrySet()) { -// try { -// String encodedKey = URLEncoder.encode(entry.getKey(), "UTF-8"); -// String encodedValue = URLEncoder.encode(entry.getValue().toString(), "UTF-8"); -// urlBuilder.append(encodedKey).append("=").append(encodedValue).append("&"); -// } catch (Exception e) { -// e.printStackTrace(); -// return null; -// } -// } -// // 移除最后一个&符号 -// urlBuilder.setLength(urlBuilder.length() - 1); -// String urlWithParams = urlBuilder.toString(); -// -// String json = JSON.toJSONString(mapJson); -// return HttpRequestHelper.postJson(SmsConfig.DOMAIN, urlWithParams, json, headers); -// } -// -//} +package com.bonus.common.core.utils.sms; + +import cn.hutool.json.JSONObject; +import com.alibaba.fastjson2.JSON; +import com.bonus.common.core.utils.StringUtils; +import com.bonus.common.core.utils.encryption.Sm4Utils; +import com.bonus.common.core.utils.http.HttpRequestHelper; +import org.springframework.util.CollectionUtils; + +import java.net.URLEncoder; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class SmsUtils { + /** + * 发送短信验证码 + * + * @param mobile 发信发送的目的号码.多个号码之间用半角逗号隔开 + * @param content 短信的内容,内容需要UTF-8编码 + * @param sendTime 为空表示立即发送,定时发送格式:20101024090810 + * @return 是否发送成功 + */ + public static String smsToken(String mobile, String content, String sendTime) { + Map headers = new HashMap<>(); + Map mapJson = new HashMap<>(6); + mapJson.put("ddtkey", SmsConfig.DDT_KEY); + mapJson.put("secretkey", SmsConfig.SECRET_KEY); + mapJson.put("mobile", mobile); + mapJson.put("content", SmsConfig.SMS_SIGNATURE + content); + mapJson.put("sendTime", sendTime); + mapJson.put("extno", ""); + + // 将mapJson转换为URL查询参数格式 + StringBuilder urlBuilder = new StringBuilder(SmsConfig.SMS_TOKEN + "?"); + for (Map.Entry entry : mapJson.entrySet()) { + try { + String encodedKey = URLEncoder.encode(entry.getKey(), "UTF-8"); + String encodedValue = URLEncoder.encode(entry.getValue().toString(), "UTF-8"); + urlBuilder.append(encodedKey).append("=").append(encodedValue).append("&"); + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + // 移除最后一个&符号 + urlBuilder.setLength(urlBuilder.length() - 1); + String urlWithParams = urlBuilder.toString(); + + String json = JSON.toJSONString(mapJson); + return HttpRequestHelper.postJson(SmsConfig.DOMAIN, urlWithParams, json, headers); + } + +} diff --git a/bonus-common/bonus-common-security/src/main/java/com/bonus/common/security/service/SmsService.java b/bonus-common/bonus-common-security/src/main/java/com/bonus/common/security/service/SmsService.java index f950841..a53e5ca 100644 --- a/bonus-common/bonus-common-security/src/main/java/com/bonus/common/security/service/SmsService.java +++ b/bonus-common/bonus-common-security/src/main/java/com/bonus/common/security/service/SmsService.java @@ -1,56 +1,56 @@ -//package com.bonus.common.security.service; -// -//import com.bonus.common.core.constant.CacheConstants; -//import com.bonus.common.core.exception.CaptchaException; -//import com.bonus.common.core.utils.StringUtils; -//import com.bonus.common.core.utils.VerificationCodeUtils; -//import com.bonus.common.core.utils.sms.SmsUtils; -//import com.bonus.common.redis.service.RedisService; -//import com.bonus.common.security.config.VerificationCodeConfig; -//import lombok.extern.slf4j.Slf4j; -//import org.springframework.stereotype.Component; -// -//import javax.annotation.Resource; -//import java.util.Arrays; -//import java.util.concurrent.TimeUnit; -// -//import static com.bonus.common.core.utils.VerificationCodeUtils.CodeType.NUMERIC; -// -///** -// * @author bonus -// */ -//@Component -//@Slf4j -//public class SmsService { -// @Resource -// private VerificationCodeConfig verificationCodeConfig; -// @Resource -// private RedisService redisService; -// -// /** -// * 生成手机验证码 -// * -// * @return AjaxResult -// * @throws CaptchaException 自定义captcha 异常 -// */ -// public void sendSimplePhone(String to) { -// if (StringUtils.isEmpty(to)) { -// throw new CaptchaException("手机号不能为空"); -// } -// String code = VerificationCodeUtils.generateVerificationCode(NUMERIC); -// String str = verificationCodeConfig.getContent().replace("", code); -// str = str.replace("