From 698ae84adaf1b8d0e8dd61d7279863fe17c1e81d Mon Sep 17 00:00:00 2001 From: luodangjia <luodangjia> Date: 星期四, 23 一月 2025 14:20:39 +0800 Subject: [PATCH] 1 --- ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java | 87 ++++++++++++++++++++++++++++++++----------- 1 files changed, 64 insertions(+), 23 deletions(-) diff --git a/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java b/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java index 751ad71..3461cd8 100644 --- a/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java +++ b/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java @@ -1,46 +1,47 @@ package com.ruoyi.auth.controller; -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; - +import com.ruoyi.auth.form.LoginBody; +import com.ruoyi.auth.form.MgtPasswordDTO; +import com.ruoyi.auth.service.SysLoginService; import com.ruoyi.auth.utils.SmsUtils; import com.ruoyi.common.core.constant.CacheConstants; import com.ruoyi.common.core.constant.Constants; import com.ruoyi.common.core.constant.SecurityConstants; +import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.exception.CaptchaException; import com.ruoyi.common.core.exception.ServiceException; +import com.ruoyi.common.core.utils.JwtUtils; +import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.uuid.IdUtils; import com.ruoyi.common.redis.service.RedisService; +import com.ruoyi.common.security.auth.AuthUtil; +import com.ruoyi.common.security.service.TokenService; +import com.ruoyi.common.security.utils.SecurityUtils; +import com.ruoyi.company.api.RemoteCompanyService; import com.ruoyi.company.api.RemoteCompanyUserService; +import com.ruoyi.company.api.domain.Company; import com.ruoyi.company.api.domain.User; +import com.ruoyi.company.api.domain.dto.MgtCompanyDTO; import com.ruoyi.company.api.model.RegisterUser; import com.ruoyi.system.api.model.AppUser; +import com.ruoyi.system.api.model.LoginUser; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; -import org.jetbrains.annotations.NotNull; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; -import com.ruoyi.auth.form.LoginBody; -import com.ruoyi.auth.form.RegisterBody; -import com.ruoyi.auth.service.SysLoginService; -import com.ruoyi.common.core.domain.R; -import com.ruoyi.common.core.utils.JwtUtils; -import com.ruoyi.common.core.utils.StringUtils; -import com.ruoyi.common.security.auth.AuthUtil; -import com.ruoyi.common.security.service.TokenService; -import com.ruoyi.common.security.utils.SecurityUtils; -import com.ruoyi.system.api.model.LoginUser; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.validation.Valid; import java.time.LocalDateTime; +import java.util.Date; import java.util.HashMap; +import java.util.List; import java.util.Map; import java.util.concurrent.TimeUnit; - -import static com.alibaba.nacos.api.common.Constants.ACCESS_TOKEN; - /** * token 控制 * @@ -62,7 +63,10 @@ @Resource private RemoteCompanyUserService remoteCompanyUserService; + @Resource + private RemoteCompanyService remoteCompanyService; + @Operation(summary = "管理端-登录") @PostMapping("login") public R<?> login(@RequestBody LoginBody form) { @@ -72,6 +76,16 @@ return R.ok(tokenService.createToken(userInfo)); } + @Operation(summary = "管理端-修改密码") + @PostMapping("/modify-pwd") + public R<?> modifyPwd(@Valid @RequestBody MgtPasswordDTO dto) { + try { + sysLoginService.modifyPwd(dto); + return R.ok(); + } catch (ServiceException e) { + return R.fail(e.getMessage()); + } + } @DeleteMapping("logout") public R<?> logout(HttpServletRequest request) { @@ -104,7 +118,7 @@ @PostMapping("companyRegister") @Operation(summary = "用户注册接口",description = "用户注册接口") - public R<?> companyRegister(@RequestBody RegisterUser registerUser) + public R<?> companyRegister(@RequestBody MgtCompanyDTO registerUser) { // 用户注册 sysLoginService.companyRegister(registerUser); @@ -120,11 +134,14 @@ { // 验证码生成 String code = String.valueOf(Math.random()).substring(2, 6); + // 发送验证码 + String result = SmsUtils.sendSms(registerUser.getPhone(), code); + code += ":"+System.currentTimeMillis(); + // 缓存验证码 String verifyKey = CacheConstants.PHONE_CODE_KEY + registerUser.getPhone(); redisService.setCacheObject(verifyKey, code, Constants.CAPTCHA_EXPIRATION, TimeUnit.MINUTES); - // 发送验证码 - String result = SmsUtils.sendSms(registerUser.getPhone(), code); + if (!"OK".equals(result)) { return R.fail("验证码发送失败"); @@ -178,14 +195,21 @@ @PostMapping("smsLogin") @Operation(summary = "验证码登录",description = "验证码登录") public R<Map<String, Object>> smsLogin(@RequestBody RegisterUser registerUser){ - String smsCode = registerUser.getSmsCode(); + String smsCode = registerUser.getCode(); if (!"999999".equals(smsCode)) { String verifyKey = CacheConstants.PHONE_CODE_KEY + StringUtils.nvl(registerUser.getPhone(), ""); String captcha = redisService.getCacheObject(verifyKey); - if (captcha == null) { + if (captcha == null){ + throw new CaptchaException("验证码错误"); + } + String[] split = captcha.split(":"); + long l = Long.parseLong(split[1]); + long l1 = System.currentTimeMillis(); + // 判断是否大于两分钟 + if (l1 - l > 2 * 60 * 1000) { throw new CaptchaException("验证码已失效"); } - redisService.deleteObject(verifyKey); + captcha = split[0]; if (!smsCode.equalsIgnoreCase(captcha)) { throw new CaptchaException("验证码错误"); } @@ -209,6 +233,23 @@ return "login_tokens:" + token; } + + /** + * 公司校验 + */ + @PostMapping("check") + @Operation(summary = "公司校验",description = "公司校验") + public R<?> check(@RequestBody RegisterUser registerUser) + { + User check = sysLoginService.check(registerUser); + if (check == null) { + return R.fail("账号不存在!"); + } + return R.ok(); + } + + + /** * 重置密码 */ -- Gitblit v1.7.1