From e1f5ba620ad2f0b3f62c1faa45ad65a854a3c79a Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期三, 05 六月 2024 20:04:52 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java | 125 ++++++++++++++++++++++++++++++++++------- 1 files changed, 103 insertions(+), 22 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 7c64d3e..27c269e 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,32 +1,42 @@ package com.ruoyi.auth.controller; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import javax.servlet.http.HttpServletRequest; - -import com.ruoyi.common.core.constant.SecurityConstants; -import com.ruoyi.system.api.RemoteUserService; -import com.ruoyi.system.api.domain.SysRole; -import com.ruoyi.system.api.domain.SysUser; -import com.ruoyi.system.api.feignClient.SysUserClient; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.util.CollectionUtils; -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 cn.hutool.core.util.RandomUtil; +import com.ruoyi.auth.form.ChangePasswordBody; import com.ruoyi.auth.form.LoginBody; import com.ruoyi.auth.form.RegisterBody; import com.ruoyi.auth.service.SysLoginService; +import com.ruoyi.common.core.constant.CacheConstants; 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.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.system.api.domain.AppMiniLoginVO; +import com.ruoyi.system.api.domain.SysRole; +import com.ruoyi.system.api.domain.SysUser; +import com.ruoyi.system.api.domain.dto.AppMiniLoginDTO; +import com.ruoyi.system.api.domain.dto.AppMiniRegisterDTO; +import com.ruoyi.system.api.feignClient.SysUserClient; import com.ruoyi.system.api.model.LoginUser; - -import java.util.*; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.concurrent.TimeUnit; +import javax.servlet.http.HttpServletRequest; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; /** * token 控制 @@ -34,7 +44,8 @@ * @author ruoyi */ @RestController -@Api(tags = "认证授权") +@Api(tags = "管理后台和小程序登录") +@Slf4j public class TokenController { @Autowired @@ -44,9 +55,45 @@ private SysLoginService sysLoginService; @Autowired private SysUserClient userClient; + @Autowired + private RedisService redisService; + + + + @ApiOperation("小程序登录") + @PostMapping("miniLogin") + public R<?> miniLogin(@RequestBody AppMiniLoginDTO appMiniLoginDto) + { + // 小程序用户登录 + AppMiniLoginVO appMiniLoginVo = sysLoginService.miniLogin(appMiniLoginDto); + // 获取登录token + return R.ok(tokenService.createMiniToken(appMiniLoginVo)); + } + + @ApiOperation("小程序注册") + @PostMapping("miniRegister") + public R<?> miniRegister(@RequestBody AppMiniRegisterDTO appUserRegisterDto) + { + // 小程序用户登录 + AppMiniLoginVO appMiniLoginVo = sysLoginService.miniRegister(appUserRegisterDto); + // 获取登录token + return R.ok(tokenService.createMiniToken(appMiniLoginVo)); + } + + + @ApiOperation("拍卖师小程序登录") + @PostMapping("actionMiniLogin") + public R<?> actionMiniLogin(@RequestBody AppMiniLoginDTO appMiniLoginDto) + { + // 小程序用户登录 + AppMiniLoginVO appMiniLoginVo = sysLoginService.actionMiniLogin(appMiniLoginDto); + // 获取登录token + return R.ok(tokenService.createMiniToken1(appMiniLoginVo)); + } + @PostMapping("login") - @ApiOperation(value = "用户登录") + @ApiOperation(value = "管理后台-用户登录") public R<?> login(@RequestBody LoginBody form) { // 用户登录 @@ -71,7 +118,7 @@ } @DeleteMapping("logout") - @ApiOperation(value = "用户登出") + @ApiOperation(value = "管理后台-用户登出") public R<?> logout(HttpServletRequest request) { String token = SecurityUtils.getToken(request); @@ -87,7 +134,7 @@ } @PostMapping("refresh") - @ApiOperation(value = "刷新令牌有效期") + @ApiOperation(value = "管理后台-刷新令牌有效期") public R<?> refresh(HttpServletRequest request) { LoginUser loginUser = tokenService.getLoginUser(request); @@ -101,11 +148,45 @@ } @PostMapping("register") - @ApiOperation(value = "用户注册") public R<?> register(@RequestBody RegisterBody registerBody) { // 用户注册 sysLoginService.register(registerBody.getUsername(), registerBody.getPassword()); return R.ok(); } + + @GetMapping("send-verification-code") + @ApiOperation(value = "管理后台-发送验证码") + public R<?> changePassword(@RequestParam("username") String username) { + //校验手机号码 + SysUser sysUser = userClient.queryUserByUserName(username).getData(); + if (StringUtils.isNull(sysUser)) { + return R.fail("用户不存在"); + } + String code = RandomUtil.randomNumbers(6); + try { + //TODO 发送短信未配置 +// HuaWeiSMSUtil.sendSms(code, sysUser.getUserName(), "8823121426646", +// "cf1707ec44694627b1b483b0277e12fd"); + } catch (Exception e) { + log.error("【修改密码】发送短信失败", e); + return R.fail("发送失败"); + } + //将验证码放入redis + redisService.setCacheObject( + CacheConstants.CHANGE_PASSWORD_CAPTCHA_CODE_KEY + sysUser.getUserName(), code, 5L, + TimeUnit.MINUTES); + return R.ok(); + } + + @PutMapping("change-password") + @ApiOperation(value = "管理后台-用户修改密码") + public R<?> changePassword(@RequestBody ChangePasswordBody changePasswordBody) { + // 用户修改密码 + sysLoginService.changePassword(changePasswordBody.getUsername(), + changePasswordBody.getPassword(), changePasswordBody.getVerificationCode()); + return R.ok(); + } } + + -- Gitblit v1.7.1