From 392b42c4891cf2e6beda57ab32c51598f290f4b7 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期五, 14 三月 2025 20:56:27 +0800 Subject: [PATCH] bug修改 --- ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java | 66 ++++++++++++++++++++++++++++++++- 1 files changed, 64 insertions(+), 2 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 8bdb915..7d97da1 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,24 +1,32 @@ package com.ruoyi.auth.controller; import cn.hutool.core.util.RandomUtil; +import com.google.common.collect.Lists; import com.ruoyi.auth.form.ChangePasswordBody; import com.ruoyi.auth.form.LoginBody; import com.ruoyi.auth.form.RegisterBody; import com.ruoyi.auth.service.SysLoginService; import com.ruoyi.auth.utils.JuTongDaSMSUtil; import com.ruoyi.common.core.constant.CacheConstants; +import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.utils.JwtUtils; import com.ruoyi.common.core.utils.StringUtils; +import com.ruoyi.common.core.utils.page.CollUtils; +import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.redis.service.RedisService; +import com.ruoyi.common.security.annotation.InnerAuth; import com.ruoyi.common.security.auth.AuthUtil; import com.ruoyi.common.security.service.TokenService; import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.system.api.domain.AppMiniLoginVO; +import com.ruoyi.system.api.domain.Member; import com.ruoyi.system.api.domain.SysRole; import com.ruoyi.system.api.domain.SysUser; import com.ruoyi.system.api.domain.dto.AppMiniLoginDTO; +import com.ruoyi.system.api.domain.dto.SmsSendDTO; +import com.ruoyi.system.api.feignClient.MemberClient; import com.ruoyi.system.api.feignClient.SysUserClient; import com.ruoyi.system.api.model.LoginUser; import io.swagger.annotations.Api; @@ -26,8 +34,11 @@ import java.util.Date; import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.Objects; import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; +import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -59,7 +70,10 @@ private SysUserClient userClient; @Autowired private RedisService redisService; - + @Resource + private SysUserClient sysUserClient; + @Resource + private MemberClient memberClient; @ApiOperation("小程序登录") @@ -130,6 +144,19 @@ return R.ok(); } + @InnerAuth + @GetMapping("/inner/logout") + @ApiOperation(value = "设置用户token失效") + public R<?> logout(@RequestParam("") String token) { + if (StringUtils.isNotEmpty(token)) { + String username = JwtUtils.getUserName(token); + // 删除用户缓存记录 + AuthUtil.logoutByToken(token); + // 记录用户退出日志 + sysLoginService.logout(username); + } + return R.ok(); + } @PostMapping("refresh") @ApiOperation(value = "管理后台-刷新令牌有效期") public R<?> refresh(HttpServletRequest request) @@ -163,7 +190,7 @@ //校验手机号码 SysUser sysUser = userClient.queryUserByUserName(username).getData(); if (StringUtils.isNull(sysUser)) { - return R.fail("用户不存在"); + return R.fail("账号不存在"); } String code = RandomUtil.randomNumbers(6); try { @@ -187,6 +214,41 @@ changePasswordBody.getPassword(), changePasswordBody.getVerificationCode()); return R.ok(); } + + @GetMapping("access-token") + @ApiOperation(value = "获取accessToken") + public AjaxResult getAccessToken() { + // List<Member> memberListByIds = memberClient.getMemberListByIds( + // Lists.newArrayList(1821462999835160577L, 1821743236321980417L, + // 1821757052577460226L, 1821833986934124545L, 1822807281414254593L, + // 1823168855446466562L, 1823174222863740930L, 1823174926122692610L, + // 1823187615653900289L, 1823233301862756353L), SecurityConstants.INNER) + // .getData(); + List<Member> memberListByIds = memberClient.getMemberListByIds( + Lists.newArrayList(1797556140608446465L, 1797810418820390913L, + 1798197038803324929L, 1800411185637076994L), SecurityConstants.INNER) + .getData(); + List<Map<String, Object>> memberList = CollUtils.emptyList(); + if (CollUtils.isNotEmpty(memberListByIds)) { + AppMiniLoginVO appMiniLoginVo = new AppMiniLoginVO(); + memberList = memberListByIds.stream().map(item -> { + SysUser sysUser = sysUserClient.getSysUser(item.getUserId()).getData(); + appMiniLoginVo.setZfbuserid(item.getZfbOpenid()); + appMiniLoginVo.setSysUser(sysUser); + appMiniLoginVo.setMemberid(item.getId()); + appMiniLoginVo.setSysUser(sysUser); + return tokenService.createMiniToken(appMiniLoginVo); + }).collect(Collectors.toList()); + } + return AjaxResult.success(memberList); + } + + @InnerAuth + @PostMapping("/sms/send") + public R<?> sendSms(@RequestBody SmsSendDTO smsSendDTO) { + JuTongDaSMSUtil.smsSendBatch(smsSendDTO.getMobileList(), smsSendDTO.getContent(), "", ""); + return R.ok(); + } } -- Gitblit v1.7.1