无关风月
2024-09-03 56dfe0d4bf81262622a1919cceb2b039fd356209
ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java
@@ -91,8 +91,38 @@
        // 获取登录token
        return R.ok(map);
    }
    @GetMapping("loginDevice")
    @ApiOperation(value = "扫描设备-用户登录")
    public R<?> loginDevice(LoginBody form)
    {
        // 用户登录
        LoginUser userInfo = sysLoginService.login(form.getUsername(), form.getPassword(),form.getSheBei());
        SysUser sysUser1 = userInfo.getSysUser();
    @DeleteMapping("logout")
        HashMap<String, Object> map = new HashMap<>();
        map.put("token",tokenService.createToken1(userInfo));
        List<SysRole> roles = sysUser1.getRoles();
        if (Objects.equals("00", sysUser1.getUserType())) {
            if (CollectionUtils.isEmpty(roles)) {
                return R.fail("请关联角色!");
            }
            map.put("roleName", roles.get(0).getRoleName());
        }
        map.put("info",userInfo);
        map.put("userType", sysUser1.getUserType());
        // 修改用户最后登录时间
        SysUser sysUser = new SysUser();
        sysUser.setUserId(sysUser1.getUserId());
        sysUser.setLoginDate(new Date());
        System.out.println("修改用户登录时间"+sysUser);
        userClient.updateSysUser(sysUser);
        // 获取登录token
        return R.ok(map);
    }
    @PostMapping("logout")
    @ApiOperation(value = "管理后台-用户登出")
    public R<?> logout(HttpServletRequest request)
    {
@@ -107,6 +137,19 @@
        }
        return R.ok();
    }
    @PostMapping("logoutDevice")
    @ApiOperation(value = "扫描设备-用户登出")
    public R<?> logoutDevice(HttpServletRequest request)
    {
        String token = SecurityUtils.getToken(request);
        if (StringUtils.isNotEmpty(token))
        {
            String username = JwtUtils.getUserName(token);
            // 删除用户缓存记录
            AuthUtil.logoutByTokenDevice(token);
        }
        return R.ok();
    }
    @PostMapping("refresh")
    @ApiOperation(value = "管理后台-刷新令牌有效期")