From 36ac4f06555ecf46521038b58aff35e5dc24e24f Mon Sep 17 00:00:00 2001 From: luodangjia <luodangjia> Date: 星期一, 20 一月 2025 18:55:58 +0800 Subject: [PATCH] 1 --- ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java | 72 +++++++++++++++++++++++++++++++----- 1 files changed, 62 insertions(+), 10 deletions(-) diff --git a/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java b/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java index ffd79e1..b237eba 100644 --- a/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java +++ b/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java @@ -1,5 +1,12 @@ package com.ruoyi.auth.service; +import com.ruoyi.common.core.exception.CaptchaException; +import com.ruoyi.common.security.annotation.RequiresPermissions; +import com.ruoyi.company.api.RemoteCompanyUserService; +import com.ruoyi.company.api.domain.User; +import com.ruoyi.company.api.model.RegisterUser; +import lombok.RequiredArgsConstructor; +import org.jacoco.agent.rt.internal_43f5073.core.internal.flow.IFrame; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import com.ruoyi.common.core.constant.CacheConstants; @@ -19,25 +26,25 @@ import com.ruoyi.system.api.domain.SysUser; import com.ruoyi.system.api.model.LoginUser; +import javax.annotation.Resource; +import java.time.LocalDateTime; + /** * 登录校验方法 * * @author ruoyi */ @Component +@RequiredArgsConstructor public class SysLoginService { - @Autowired + @Resource private RemoteUserService remoteUserService; - - @Autowired - private SysPasswordService passwordService; - - @Autowired - private SysRecordLogService recordLogService; - - @Autowired - private RedisService redisService; + @Resource + private RemoteCompanyUserService remoteCompanyUserService; + private final SysPasswordService passwordService; + private final SysRecordLogService recordLogService; + private final RedisService redisService; /** * 登录 @@ -152,4 +159,49 @@ } recordLogService.recordLogininfor(username, Constants.REGISTER, "注册成功"); } + + public void companyRegister(RegisterUser registerUser) + { + String accountName = registerUser.getAccountName(); + String password = registerUser.getPassword(); + // 用户名或密码为空 错误 + if (StringUtils.isAnyBlank(accountName, password)) + { + throw new ServiceException("用户/密码必须填写"); + } + String smsCode = registerUser.getSmsCode(); + if (!"999999".equals(smsCode)){ + String verifyKey = CacheConstants.PHONE_CODE_KEY + StringUtils.nvl(registerUser.getPhone(), ""); + String captcha = redisService.getCacheObject(verifyKey); + if (captcha == null) + { + throw new CaptchaException("验证码已失效"); + } + redisService.deleteObject(verifyKey); + if (!smsCode.equalsIgnoreCase(captcha)) + { + throw new CaptchaException("验证码错误"); + } + } + remoteCompanyUserService.registerUser(registerUser, SecurityConstants.INNER); + } + + + public User companyLogin(RegisterUser registerUser) + { + String accountName = registerUser.getAccountName(); + String password = registerUser.getPassword(); + + R<User> r = remoteCompanyUserService.getUserByAccountName(accountName, SecurityConstants.INNER); + if (R.isError(r)){ + throw new ServiceException(r.getMsg()); + } + if (r.getData() == null){ + throw new ServiceException("账号不存在"); + } + if (!SecurityUtils.matchesPassword(r.getData().getPassword(), password)){ + throw new ServiceException("密码错误"); + } + return r.getData(); + } } -- Gitblit v1.7.1