From a2620230c68cf6e8c732311b65aa4912efb350a4 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期四, 22 八月 2024 15:31:26 +0800 Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile --- ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java | 131 ++++++++++++++++++++----------------------- 1 files changed, 62 insertions(+), 69 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 91f7ab4..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 @@ -6,6 +6,7 @@ import com.ruoyi.system.api.domain.SysRole; import com.ruoyi.system.api.domain.SysUser; import com.ruoyi.system.api.feignClient.SysUserClient; +import io.seata.spring.annotation.GlobalTransactional; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -24,82 +25,74 @@ /** * token 控制 - * + * * @author ruoyi */ @Slf4j @RestController -public class TokenController -{ - @Autowired - private TokenService tokenService; - - @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(); +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("请关联角色!"); // } // 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("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