From 3cec1267d1387e613034522b8b313be066e516ed Mon Sep 17 00:00:00 2001 From: hly <2783385703@qq.com> Date: Tue, 12 Aug 2025 17:12:31 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/service/impl/AppletLoginServiceImpl.java | 47 +++++++++++++--------- .../org/jeecg/common/sms/config/SmsConfig.java | 41 ++++--------------- .../org/jeecg/common/sms/service/SmsService.java | 1 - .../src/main/resources/application-dev.yml | 1 + 4 files changed, 38 insertions(+), 52 deletions(-) diff --git a/module-common/src/main/java/org/jeecg/api/service/impl/AppletLoginServiceImpl.java b/module-common/src/main/java/org/jeecg/api/service/impl/AppletLoginServiceImpl.java index 3beef69..8c1a161 100644 --- a/module-common/src/main/java/org/jeecg/api/service/impl/AppletLoginServiceImpl.java +++ b/module-common/src/main/java/org/jeecg/api/service/impl/AppletLoginServiceImpl.java @@ -10,6 +10,7 @@ import org.jeecg.api.untils.HttpConf; import org.jeecg.common.api.vo.Result; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.exception.JeecgBootException; +import org.jeecg.common.sms.config.SmsConfig; import org.jeecg.common.sms.entity.SmsResponse; import org.jeecg.common.sms.service.SmsService; import org.jeecg.common.system.util.JwtUtil; @@ -19,6 +20,7 @@ import org.jeecg.modules.commonConfig.entity.CommonConfig; import org.jeecg.modules.commonConfig.service.ICommonConfigService; import org.jeecg.modules.hanHaiMember.entity.HanHaiMember; import org.jeecg.modules.hanHaiMember.service.IHanHaiMemberService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -59,6 +61,10 @@ public class AppletLoginServiceImpl implements AppletLoginService { //配置信息 @Resource private ICommonConfigService commonConfigService; + + @Autowired + private SmsConfig smsConfig; + // 验证码相关常量 private static final String SMS_CODE_PREFIX = "SMS_CODE:"; @@ -241,24 +247,28 @@ public class AppletLoginServiceImpl implements AppletLoginService { return Result.error("验证码不能为空"); } -// String cacheKey = SMS_CODE_PREFIX + phone; -// String cachedCode = (String) redisUtil.get(cacheKey); -// -// if (StringUtils.isBlank(cachedCode)) { -// return Result.error("验证码已过期,请重新获取"); -// } -// -// if (!code.equals(cachedCode)) { -// return Result.error("验证码错误"); -// } -// -// // 验证码正确,删除缓存中的验证码 -// redisUtil.del(cacheKey); - - HanHaiMember member = memberService.lambdaQuery().eq(HanHaiMember::getPhone, phone).one(); - if("Y".equals(register) && member == null){ + String cacheKey = SMS_CODE_PREFIX + phone; + String cachedCode = (String) redisUtil.get(cacheKey); + + if (StringUtils.isBlank(cachedCode)) { + return Result.error("验证码已过期,请重新获取"); + } - }else if (member == null) {// 判断用户是否存在 + if (!code.equals(cachedCode)) { + return Result.error("验证码错误"); + } + + // 验证码正确,删除缓存中的验证码 + redisUtil.del(cacheKey); + + List list = memberService.lambdaQuery() + .eq(HanHaiMember::getPhone, phone).list(); + HanHaiMember member = list.size() > 0 ? list.get(0) : null; +// if("Y".equals(register) && member == null){ +// // TODO 进行注册 +// +// }else + if (member == null) {// 判断用户是否存在 throw new JeecgBootException("电话号码不存在:"+phone); } // 生成token返回给小程序端 @@ -292,7 +302,8 @@ public class AppletLoginServiceImpl implements AppletLoginService { String verifyCode = generateVerifyCode(); // 构建短信内容 - String content = String.format("您的验证码是:%s,%d分钟内有效,请勿泄露给他人。", + String content = String.format("%s您的验证码是:%s,%d分钟内有效,请勿泄露给他人。", + smsConfig.getCompanyName(), verifyCode, SMS_CODE_EXPIRE_TIME / 60); // 发送短信 diff --git a/module-common/src/main/java/org/jeecg/common/sms/config/SmsConfig.java b/module-common/src/main/java/org/jeecg/common/sms/config/SmsConfig.java index 54b2378..d0970bc 100644 --- a/module-common/src/main/java/org/jeecg/common/sms/config/SmsConfig.java +++ b/module-common/src/main/java/org/jeecg/common/sms/config/SmsConfig.java @@ -1,5 +1,6 @@ package org.jeecg.common.sms.config; +import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; @@ -8,8 +9,14 @@ import org.springframework.stereotype.Component; */ @Component @ConfigurationProperties(prefix = "sms") +@Data public class SmsConfig { - + + /** + * 公司名称 + */ + private String companyName; + /** * 用户名 */ @@ -29,36 +36,4 @@ public class SmsConfig { * API地址 */ private String apiUrl; - - public String getUserName() { - return userName; - } - - public void setUserName(String userName) { - this.userName = userName; - } - - public String getClientPassword() { - return clientPassword; - } - - public void setClientPassword(String clientPassword) { - this.clientPassword = clientPassword; - } - - public String getInterfacePassword() { - return interfacePassword; - } - - public void setInterfacePassword(String interfacePassword) { - this.interfacePassword = interfacePassword; - } - - public String getApiUrl() { - return apiUrl; - } - - public void setApiUrl(String apiUrl) { - this.apiUrl = apiUrl; - } } \ No newline at end of file diff --git a/module-common/src/main/java/org/jeecg/common/sms/service/SmsService.java b/module-common/src/main/java/org/jeecg/common/sms/service/SmsService.java index 3276d9f..6a9a48b 100644 --- a/module-common/src/main/java/org/jeecg/common/sms/service/SmsService.java +++ b/module-common/src/main/java/org/jeecg/common/sms/service/SmsService.java @@ -92,7 +92,6 @@ public class SmsService { logger.info("短信发送完成,响应:{}", responseJson); return response; - } catch (IOException e) { logger.error("短信发送网络异常", e); SmsResponse errorResponse = new SmsResponse(); diff --git a/module-system/src/main/resources/application-dev.yml b/module-system/src/main/resources/application-dev.yml index f48a67f..7e14d43 100644 --- a/module-system/src/main/resources/application-dev.yml +++ b/module-system/src/main/resources/application-dev.yml @@ -343,6 +343,7 @@ wechat: ##配置短信服务 sms: # 短信服务配置 + companyName: 【长沙新愿信息科技】 userName: csxinyuan interfacePassword: pGUKjsiVkaNF apiUrl: http://agent.izjun.com:8001/sms/api/sendMessageOne