Browse Source

优化用户信息提供获取当前用户信息接口

hubin 1 year ago
parent
commit
4d9309a7ff

+ 7 - 0
src/main/java/com/aizuda/boot/modules/system/controller/SysUserController.java

@@ -59,6 +59,13 @@ public class SysUserController extends ApiController {
         return sysUserService.list20ByUsername(username);
     }
 
+    @Operation(summary = "当前登录用户信息")
+    @Permission(ignore = true)
+    @GetMapping("/info")
+    public SysUser info() {
+        return sysUserService.getById(null);
+    }
+
     @Operation(summary = "查询 id 信息")
     @Permission("sys:user:get")
     @GetMapping("/get")

+ 2 - 0
src/main/java/com/aizuda/boot/modules/system/service/ISysUserService.java

@@ -36,6 +36,8 @@ public interface ISysUserService extends IBaseService<SysUser> {
 
     boolean resetPassword(ResetPasswordDTO dto);
 
+    SysUser getById(Long id);
+
     /**
      * 根据 ID 获取关联角色部门ID列表
      */

+ 16 - 0
src/main/java/com/aizuda/boot/modules/system/service/impl/SysUserServiceImpl.java

@@ -19,6 +19,7 @@ import com.aizuda.boot.modules.system.service.ISysUserService;
 import com.aizuda.common.toolkit.RegexUtils;
 import com.aizuda.core.api.ApiAssert;
 import com.aizuda.service.service.BaseServiceImpl;
+import com.aizuda.service.web.UserSession;
 import com.baomidou.kisso.common.encrypt.MD5;
 import com.baomidou.kisso.common.encrypt.MD5Salt;
 import com.baomidou.kisso.common.util.RandomUtil;
@@ -154,6 +155,21 @@ public class SysUserServiceImpl extends BaseServiceImpl<SysUserMapper, SysUser>
         return true;
     }
 
+    @Override
+    public SysUser getById(Long id) {
+        if (null == id) {
+            // 未指定ID读取当前登录用户信息
+            id = UserSession.getLoginInfo().getId();
+        }
+        SysUser sysUser = baseMapper.selectById(id);
+        if (null != sysUser) {
+            // 隐藏敏感数据
+            sysUser.setSalt(null);
+            sysUser.setPassword(null);
+        }
+        return sysUser;
+    }
+
     @Override
     public SysUserRelIdsVO getRelIdsById(Long id) {
         SysUserRelIdsVO vo = new SysUserRelIdsVO();