From 25c8b9a4f52718e8909cee652d58fd6cfd2f4cc3 Mon Sep 17 00:00:00 2001 From: zhibing.pu <393733352@qq.com> Date: 星期一, 26 八月 2024 17:09:50 +0800 Subject: [PATCH] 完善二维码下载功能 --- ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java | 156 +++++++++++++++++++++++----------------------------- 1 files changed, 69 insertions(+), 87 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 85ebf14..77abd3e 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 @@ -3,19 +3,13 @@ import javax.annotation.Resource; 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.SysLoginLogClient; import com.ruoyi.system.api.feignClient.SysUserClient; -import com.ruoyi.system.domain.SysLoginLog; +import io.seata.spring.annotation.GlobalTransactional; +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.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import com.ruoyi.auth.form.LoginBody; import com.ruoyi.auth.form.RegisterBody; import com.ruoyi.auth.service.SysLoginService; @@ -27,90 +21,78 @@ import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.system.api.model.LoginUser; -import java.net.InetAddress; -import java.net.NetworkInterface; -import java.time.LocalDateTime; import java.util.*; /** * token 控制 - * + * * @author ruoyi */ +@Slf4j @RestController -public class TokenController -{ - @Autowired - private TokenService tokenService; +public class TokenController { + @Autowired + private TokenService tokenService; + + @Autowired + private SysLoginService sysLoginService; + @Resource + private SysUserClient userClient; + + + @PostMapping("login") + @GlobalTransactional(rollbackFor = Exception.class)//分布式事务 + public R<?> login(@RequestBody LoginBody form, HttpServletRequest request) { + // 用户登录 + LoginUser userInfo = sysLoginService.login(form.getUsername(), form.getPassword(), request); + HashMap<String, Object> map = new HashMap<>(); + map.put("token", tokenService.createToken(userInfo)); + List<SysRole> roles = userInfo.getSysUser().getRoles(); +// if(CollectionUtils.isEmpty(roles)){ +// return R.fail("请关联角色!"); +// } - @Autowired - private SysLoginService sysLoginService; - @Resource - private SysUserClient userClient; - - - - - - - @PostMapping("login") - public R<?> login(@RequestBody LoginBody form, HttpServletRequest request) { - // 用户登录 - LoginUser userInfo = sysLoginService.login(form.getUsername(), form.getPassword(), request); - HashMap<String, Object> map = new HashMap<>(); - map.put("token",tokenService.createToken(userInfo)); - List<SysRole> roles = userInfo.getSysUser().getRoles(); - if(CollectionUtils.isEmpty(roles)){ - return R.fail("请关联角色!"); - } - - map.put("roleName",roles.get(0).getRoleName()); - map.put("info",userInfo); - // 修改用户最后登录时间 - SysUser sysUser = new SysUser(); - sysUser.setUserId(userInfo.getSysUser().getUserId()); - sysUser.setLoginDate(new Date()); - System.out.println("修改用户登录时间"+sysUser); - userClient.updateSysUser(sysUser); - return R.ok(map); - } - - - - - - @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, request); - } - 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, HttpServletRequest request) - { - // 用户注册 - sysLoginService.register(registerBody.getUsername(), registerBody.getPassword(), request); - return R.ok(); - } +// map.put("roleName",roles.get(0).getRoleName()); + map.put("info", userInfo); + // 修改用户最后登录时间 + SysUser sysUser = new SysUser(); + sysUser.setUserId(userInfo.getSysUser().getUserId()); + sysUser.setLoginDate(new Date()); + System.out.println("修改用户登录时间" + sysUser); + userClient.updateSysUser(sysUser); + return R.ok(map); + } + + @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, request); + } + 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, HttpServletRequest request) { + // 用户注册 + sysLoginService.register(registerBody.getUsername(), registerBody.getPassword(), request); + return R.ok(); + } + } -- Gitblit v1.7.1