From d2d8b7f17a1bd85869c354d0c0966c47aff3e658 Mon Sep 17 00:00:00 2001
From: Bunny <1319900154@qq.com>
Date: Tue, 26 Dec 2023 16:57:01 +0800
Subject: [PATCH] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E7=94=A8=E6=88=B7=E4=BF=A1?=
=?UTF-8?q?=E6=81=AF-=E6=9C=AA=E6=B5=8B=E8=AF=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.idea/workspace.xml | 18 ++++++++++++-----
.../user/controller/UserinfoController.java | 15 ++++++++++----
.../bunny/user/service/UserinfoService.java | 3 +++
.../service/impl/UserinfoServiceImpl.java | 20 +++++++++++++++++++
4 files changed, 47 insertions(+), 9 deletions(-)
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 812efca..6267eec 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -4,10 +4,9 @@
-
+
-
@@ -188,7 +187,7 @@
1703487755445
-
+
@@ -270,7 +269,15 @@
1703578711882
-
+
+
+ 1703580114862
+
+
+
+ 1703580114862
+
+
@@ -286,7 +293,8 @@
-
+
+
diff --git a/spzx-service/service-user/src/main/java/cn/bunny/user/controller/UserinfoController.java b/spzx-service/service-user/src/main/java/cn/bunny/user/controller/UserinfoController.java
index 47ae94a..40d231f 100644
--- a/spzx-service/service-user/src/main/java/cn/bunny/user/controller/UserinfoController.java
+++ b/spzx-service/service-user/src/main/java/cn/bunny/user/controller/UserinfoController.java
@@ -4,14 +4,13 @@ import cn.bunny.common.spzx.model.dto.h5.UserLoginDto;
import cn.bunny.common.spzx.model.dto.h5.UserRegisterDto;
import cn.bunny.common.spzx.model.vo.common.Result;
import cn.bunny.common.spzx.model.vo.common.ResultCodeEnum;
+import cn.bunny.common.spzx.model.vo.h5.UserInfoVo;
import cn.bunny.user.service.UserinfoService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import jakarta.servlet.http.HttpServletRequest;
+import org.springframework.web.bind.annotation.*;
@Tag(name = "会员用户接口")
@RestController
@@ -20,6 +19,14 @@ public class UserinfoController {
@Resource
private UserinfoService userinfoService;
+ @Operation(summary = "获取当前登录用户信息")
+ @GetMapping("auth/getCurrentUserInfo")
+ public Result getCurrentUserInfo(HttpServletRequest request) {
+ String token = request.getHeader("token");
+ UserInfoVo userInfoVo = UserinfoService.getCurrentUserInfo(token);
+ return Result.build(userInfoVo, ResultCodeEnum.SUCCESS);
+ }
+
@Operation(summary = "会员登录")
@PostMapping("login")
public Result login(@RequestBody UserLoginDto userLoginDto) {
diff --git a/spzx-service/service-user/src/main/java/cn/bunny/user/service/UserinfoService.java b/spzx-service/service-user/src/main/java/cn/bunny/user/service/UserinfoService.java
index 807215a..08e4177 100644
--- a/spzx-service/service-user/src/main/java/cn/bunny/user/service/UserinfoService.java
+++ b/spzx-service/service-user/src/main/java/cn/bunny/user/service/UserinfoService.java
@@ -2,8 +2,11 @@ package cn.bunny.user.service;
import cn.bunny.common.spzx.model.dto.h5.UserLoginDto;
import cn.bunny.common.spzx.model.dto.h5.UserRegisterDto;
+import cn.bunny.common.spzx.model.vo.h5.UserInfoVo;
public interface UserinfoService {
+ UserInfoVo getCurrentUserInfo(String token);
+
// 会员注册
void register(UserRegisterDto userLoginDto);
diff --git a/spzx-service/service-user/src/main/java/cn/bunny/user/service/impl/UserinfoServiceImpl.java b/spzx-service/service-user/src/main/java/cn/bunny/user/service/impl/UserinfoServiceImpl.java
index cb5a198..fbe37bd 100644
--- a/spzx-service/service-user/src/main/java/cn/bunny/user/service/impl/UserinfoServiceImpl.java
+++ b/spzx-service/service-user/src/main/java/cn/bunny/user/service/impl/UserinfoServiceImpl.java
@@ -5,10 +5,13 @@ import cn.bunny.common.spzx.model.dto.h5.UserLoginDto;
import cn.bunny.common.spzx.model.dto.h5.UserRegisterDto;
import cn.bunny.common.spzx.model.entity.user.UserInfo;
import cn.bunny.common.spzx.model.vo.common.ResultCodeEnum;
+import cn.bunny.common.spzx.model.vo.h5.UserInfoVo;
import cn.bunny.user.mapper.UserinfoMapper;
import cn.bunny.user.service.UserinfoService;
import com.alibaba.fastjson.JSON;
+import com.alibaba.nacos.common.utils.StringUtils;
import jakarta.annotation.Resource;
+import org.springframework.beans.BeanUtils;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.util.DigestUtils;
@@ -23,6 +26,23 @@ public class UserinfoServiceImpl implements UserinfoService {
@Resource
private UserinfoMapper userinfoMapper;
+ // 获取当前登录用户信息
+ @Override
+ public UserInfoVo getCurrentUserInfo(String token) {
+ // 从Redis根据token获取用户信息
+ String userJson = (String) redisTemplate.opsForValue().get("user:spzx" + token);
+ if (StringUtils.hasText(userJson)) {
+ throw new BunnyException(ResultCodeEnum.LOGIN_ERROR);
+ }
+
+ UserInfo userinfo = JSON.parseObject(userJson, UserInfo.class);
+ UserInfoVo userInfoVo = new UserInfoVo();
+ assert userinfo != null;
+ BeanUtils.copyProperties(userinfo, userInfoVo);
+
+ return userInfoVo;
+ }
+
// 会员注册
@Override
public void register(UserRegisterDto userRegisterDto) {