From 0e12e4ab45db6768a0f45d8952f78b0ae9190723 Mon Sep 17 00:00:00 2001 From: ZQN <364596817@qq.com> Date: 星期一, 19 五月 2025 16:09:01 +0800 Subject: [PATCH] 手机号登录,去掉短信验证。脱敏 --- project-framework/src/main/java/com/project/framework/web/service/SysLoginService.java | 67 +++++++++++++++++++++++---------- 1 files changed, 46 insertions(+), 21 deletions(-) diff --git a/project-framework/src/main/java/com/project/framework/web/service/SysLoginService.java b/project-framework/src/main/java/com/project/framework/web/service/SysLoginService.java index 8cb0c51..e622e67 100644 --- a/project-framework/src/main/java/com/project/framework/web/service/SysLoginService.java +++ b/project-framework/src/main/java/com/project/framework/web/service/SysLoginService.java @@ -21,7 +21,6 @@ import com.project.common.exception.user.CaptchaException; import com.project.common.exception.user.CaptchaExpireException; import com.project.common.exception.user.UserPasswordNotMatchException; -import com.project.common.sms.YPSmsApi; import com.project.common.utils.DateUtils; import com.project.common.utils.MessageUtils; import com.project.common.utils.ServletUtils; @@ -34,6 +33,7 @@ import com.project.system.mapper.SysUserMapper; import com.project.system.service.ISysConfigService; import com.project.system.service.ISysUserService; +import com.project.system.sms.YPSmsApi; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.security.authentication.AuthenticationManager; @@ -61,6 +61,7 @@ private final ISysUserService userService; private final SysUserMapper userMapper; private final ISysConfigService configService; + private final YPSmsApi smsApi; /** @@ -114,6 +115,26 @@ return tokenService.createToken(loginUser); } + /** + * 鏂版敞鍐岃幏鍙栭獙璇佺爜 + * @param phone 鎵嬫満 + * @return 楠岃瘉鐮� + */ + public Boolean getVerifyCodeNew(String phone) { + // 鐢熸垚4浣嶉殢鏈烘暟 + String code = ""; + Random ran = new Random(); + int randomNum = ran.nextInt(10000); + code = String.format("%04d", randomNum); + log.info("鎵嬫満鍙凤細"+phone+"->楠岃瘉鐮侊細"+code); + boolean send = sendYp(phone, code); + if (send){ + redisCache.setCacheObject(getCacheKey(phone), code, Constants.PHONE_EXPIRATION, TimeUnit.MINUTES); + return true; + } + redisCache.setCacheObject(getCacheKey(phone), code, Constants.PHONE_EXPIRATION, TimeUnit.MINUTES); + return false; + } /** * 鑾峰彇楠岃瘉鐮� @@ -126,23 +147,18 @@ if (user==null){ throw new BaseException("鎮ㄦ墜鏈哄彿灏氭湭娉ㄥ唽锛�"); } - // 鐢熸垚4浣嶉殢鏈烘暟 - String code = ""; - Random ran = new Random(); - int randomNum = ran.nextInt(10000); - code = String.format("%04d", randomNum); - log.info("鎵嬫満鍙凤細"+phone+"->楠岃瘉鐮侊細"+code); -// boolean send = sendAl(phone, code); -// if (send){ -// redisCache.setCacheObject(getCacheKey(phone), code, Constants.PHONE_EXPIRATION, TimeUnit.MINUTES); -// return true; -// } - redisCache.setCacheObject(getCacheKey(phone), code, Constants.PHONE_EXPIRATION, TimeUnit.MINUTES); - return false; + return getVerifyCodeNew(phone); } - private boolean sendYp(String phone, String code ){ - String result = YPSmsApi.sendSms(phone, StringUtils.format(YPSmsApi.CODE_TMP, code, Constants.PHONE_EXPIRATION)); + /** + * 浜戠墖楠岃瘉鐮� + * @param phone 鎵嬫満 + * @param code 楠岃瘉鐮� + * @return 缁撴灉 + */ + private boolean sendYp(String phone, String code) + { + String result = smsApi.sendSms(phone, StringUtils.format(YPSmsApi.CODE_TMP, code, Constants.PHONE_EXPIRATION)); if (result.contains("\"code\":0,\"msg\":\"OK\"")){ log.info("鍙戦�佹垚鍔� ->楠岃瘉鐮侊細"+code); return true; @@ -150,7 +166,14 @@ return false; } - private boolean sendAl(String phone, String code ){ + /** + * 闃块噷楠岃瘉鐮� + * @param phone 鎵嬫満 + * @param code 楠岃瘉鐮� + * @return 缁撴灉 + */ + private boolean sendAl(String phone, String code ) + { DefaultProfile profile = DefaultProfile.getProfile("cn-beijing", AliyunSmsConstants.SMS_APPID, AliyunSmsConstants.SMS_SECRET); IAcsClient client = new DefaultAcsClient(profile); CommonRequest request = new CommonRequest(); @@ -183,10 +206,10 @@ public String phoneLogin(UserPhoneLoginBo bo) { String phone = bo.getPhone(); - Boolean verified = verifyPhone(phone, bo.getCode()); - if (!verified){ - throw new BaseException("鎵嬫満鍙烽獙璇佺爜鏍¢獙澶辫触锛�"); - } +// Boolean verified = verifyPhone(phone, bo.getCode()); +// if (!verified){ +// throw new BaseException("鎵嬫満鍙烽獙璇佺爜鏍¢獙澶辫触锛�"); +// } SysUser user = null; if ("01".equals(bo.getUserType())){ user = userMapper.selectOne(new LambdaQueryWrapper<SysUser>() @@ -277,4 +300,6 @@ return verify; } + + } -- Gitblit v1.9.1