From cead7b98d5cebc0825b919799e23732877361de0 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期五, 20 六月 2025 18:39:58 +0800 Subject: [PATCH] 修改bug --- ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java | 179 ++++++++++++++++++++++++++++++++--------------------------- 1 files changed, 97 insertions(+), 82 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 edfd72f..f0aa831 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,15 +1,5 @@ package com.ruoyi.auth.controller; -import javax.servlet.http.HttpServletRequest; - -import com.ruoyi.system.api.model.AppMiniLoginDto; -import com.ruoyi.system.api.model.AppMiniLoginVo; -import io.swagger.annotations.ApiOperation; -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; @@ -19,85 +9,110 @@ import com.ruoyi.common.security.auth.AuthUtil; import com.ruoyi.common.security.service.TokenService; import com.ruoyi.common.security.utils.SecurityUtils; +import com.ruoyi.goods.api.domain.TLotteryEvent; +import com.ruoyi.goods.api.service.LotteryEventClient; +import com.ruoyi.system.api.domain.dto.AppMiniRegisterDto; +import com.ruoyi.system.api.model.AppMiniLoginDto; +import com.ruoyi.system.api.model.AppMiniLoginVo; import com.ruoyi.system.api.model.LoginUser; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import java.util.List; +import java.util.Map; /** * token 控制 - * + * * @author jqs */ @RestController -public class TokenController -{ - @Autowired - private TokenService tokenService; +@Api(value = "系统和小程序登录", tags = "系统和小程序登录") - @Autowired - private SysLoginService sysLoginService; - - @ApiOperation("系统登录") - @PostMapping("login") - public R<?> login(@RequestBody LoginBody form) - { - // 用户登录 - LoginUser userInfo = sysLoginService.login(form.getUsername(), form.getPassword()); - // 获取登录token - return R.ok(tokenService.createToken(userInfo)); - } - - @ApiOperation("小程序登录") - @PostMapping("miniLogin") - public R<?> miniLogin(@RequestBody AppMiniLoginDto appMiniLoginDto) - { - // 小程序用户登录 - AppMiniLoginVo appMiniLoginVo = sysLoginService.miniLogin(appMiniLoginDto); - // 获取登录token - return R.ok(tokenService.createMiniToken(appMiniLoginVo)); - } - - @ApiOperation("商户端登录") - @PostMapping("shopLogin") - public R<?> shopLogin(@RequestBody AppMiniLoginDto appMiniLoginDto) - { - // 小程序用户登录 - AppMiniLoginVo appMiniLoginVo = sysLoginService.miniLogin(appMiniLoginDto); - // 获取登录token - return R.ok(tokenService.createMiniToken(appMiniLoginVo)); - } - - @DeleteMapping("logout") - public R<?> logout(HttpServletRequest request) - { - String token = SecurityUtils.getToken(request); - if (StringUtils.isNotEmpty(token)) - { - String username = JwtUtils.getUserName(token); - // 删除用户缓存记录 - AuthUtil.logoutByToken(token); - // 记录用户退出日志 - sysLoginService.logout(username); +public class TokenController { + @Autowired + private TokenService tokenService; + + @Autowired + private SysLoginService sysLoginService; + + @Resource + private LotteryEventClient lotteryEventClient; + + + + + + @ApiOperation("系统登录") + @PostMapping("login") + public R<?> login(@RequestBody LoginBody form) { + // 用户登录 + LoginUser userInfo = sysLoginService.login(form.getUsername(), form.getPassword()); + // 获取登录token + return R.ok(tokenService.createToken(userInfo)); + } + + @ApiOperation("小程序登录") + @PostMapping("miniLogin") + public R<?> miniLogin(@RequestBody AppMiniLoginDto appMiniLoginDto) { + // 小程序用户登录 + AppMiniLoginVo appMiniLoginVo = sysLoginService.miniLogin(appMiniLoginDto); + Map<String, Object> miniToken = tokenService.createMiniToken(appMiniLoginVo); + return R.ok(miniToken); + } + + @ApiOperation("小程序注册【2.0】") + @PostMapping("miniRegister") + public R<?> miniRegister(@RequestBody AppMiniRegisterDto appUserRegisterDto) { + // 小程序用户登录 + AppMiniLoginVo appMiniLoginVo = sysLoginService.miniRegister(appUserRegisterDto); + // 获取登录token + Map<String, Object> miniToken = tokenService.createMiniToken(appMiniLoginVo); + //判断新用户是都符合抽奖条件 + miniToken.put("lotteryDraw", false); + List<TLotteryEvent> data = lotteryEventClient.getLotteryEventList(1).getData(); + if (data.size() > 0) { + miniToken.put("lotteryDraw", true); + miniToken.put("lotteryEventId", data.get(0).getId()); } - return R.ok(); - } - - @PostMapping("refresh") - public R<?> refresh(HttpServletRequest request) - { - LoginUser loginUser = tokenService.getLoginUser(request); - if (StringUtils.isNotNull(loginUser)) - { - // 刷新令牌有效期 - tokenService.refreshToken(loginUser); - return R.ok(); - } - return R.ok(); - } - - @PostMapping("register") - public R<?> register(@RequestBody RegisterBody registerBody) - { - // 用户注册 - sysLoginService.register(registerBody.getUsername(), registerBody.getPassword()); - return R.ok(); - } + return R.ok(); + } + + @DeleteMapping("logout") + public R<?> logout(HttpServletRequest request) { + String token = SecurityUtils.getToken(request); + if (StringUtils.isNotEmpty(token)) { + String username = JwtUtils.getUserName(token); + // 删除用户缓存记录 + AuthUtil.logoutByToken(token); + // 记录用户退出日志 + sysLoginService.logout(username); + } + return R.ok(); + } + + @PostMapping("refresh") + public R<?> refresh(HttpServletRequest request) { + LoginUser loginUser = tokenService.getLoginUser(request); + if (StringUtils.isNotNull(loginUser)) { + // 刷新令牌有效期 + tokenService.refreshToken(loginUser); + return R.ok(); + } + return R.ok(); + } + + @PostMapping("register") + public R<?> register(@RequestBody RegisterBody registerBody) { + // 用户注册 + sysLoginService.register(registerBody.getUsername(), registerBody.getPassword()); + return R.ok(); + } } -- Gitblit v1.7.1