From c4664502dfdaffff555b532e65b51a57ac8b29c2 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期三, 16 十月 2024 17:51:32 +0800 Subject: [PATCH] 合并代码 --- ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java | 149 ++++++++++++++++++++++++++----------------------- 1 files changed, 78 insertions(+), 71 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 9868d190..da2ac38 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,18 +1,18 @@ package com.ruoyi.auth.controller; +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.chargingPile.api.feignClient.PartnerClient; +import com.ruoyi.chargingPile.api.model.Partner; 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.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; @@ -28,77 +28,84 @@ /** * token 控制 - * + * * @author ruoyi */ +@Slf4j @RestController -public class TokenController -{ - @Autowired - private TokenService tokenService; - - @Autowired - private SysLoginService sysLoginService; - @Autowired - private SysUserClient userClient; - - @PostMapping("login") - public R<?> login(@RequestBody LoginBody form) - { - // 用户登录 - LoginUser userInfo = sysLoginService.login(form.getUsername(), form.getPassword()); - 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; + + @Resource + private PartnerClient partnerClient; + + + + + + @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); - // 获取登录token - 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); - } - 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(); - } + map.put("info", userInfo); + if(userInfo.getSysUser().getRoleType() == 2){ + Partner partner = partnerClient.getPartnerById(userInfo.getSysUser().getObjectId()).getData(); + map.put("partnerName", partner.getName()); + } + // 修改用户最后登录时间 + 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