Sfoglia il codice sorgente

会议获取用户信息

Administrator 8 mesi fa
parent
commit
84cb3b1a52

+ 61 - 4
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java

@@ -1,12 +1,22 @@
 package com.ruoyi.web.controller.system;
 
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.Set;
+
+import com.ruoyi.common.core.domain.entity.SysUserVo;
+import com.ruoyi.common.core.domain.model.LoginUser;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.framework.web.service.TokenService;
+import com.ruoyi.system.service.ISysUserService;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
+import org.springframework.security.core.Authentication;
+import org.springframework.security.core.context.SecurityContextHolder;
+import org.springframework.security.web.authentication.WebAuthenticationDetailsSource;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
 import com.ruoyi.common.constant.Constants;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.domain.entity.SysMenu;
@@ -17,6 +27,8 @@ import com.ruoyi.framework.web.service.SysLoginService;
 import com.ruoyi.framework.web.service.SysPermissionService;
 import com.ruoyi.system.service.ISysMenuService;
 
+import javax.servlet.http.HttpServletRequest;
+
 /**
  * 登录验证
  * 
@@ -34,6 +46,12 @@ public class SysLoginController
     @Autowired
     private SysPermissionService permissionService;
 
+    @Autowired
+    private TokenService tokenService;
+
+    @Autowired
+    private ISysUserService userService;
+
     /**
      * 登录方法
      * 
@@ -83,4 +101,43 @@ public class SysLoginController
         List<SysMenu> menus = menuService.selectMenuTreeByUserId(userId);
         return AjaxResult.success(menuService.buildMenus(menus));
     }
+
+    /**
+     * 校验token 会议使用
+     * @return 结果
+     */
+    @PostMapping("/checkToken")
+    public AjaxResult checkToken(HttpServletRequest request)
+    {
+        LoginUser loginUser = tokenService.getLoginUser(request);
+        if (StringUtils.isNotNull(loginUser))
+        {
+            SysUser user = loginUser.getUser();
+            String userName = user.getUserName();
+            Long userId = user.getUserId();
+            Map<String,Object> map = new HashMap<>(2);
+            map.put("userName",userName);
+            map.put("userId",userId);
+            return AjaxResult.success(map);
+        }
+        return AjaxResult.error("获取用户信息异常");
+    }
+
+    /**
+     * 校验token 根据用户ids查询用户信息 会议使用
+     * @return 结果
+     */
+    @PostMapping("/getUserInfoList")
+    public AjaxResult getUserInfoList(HttpServletRequest request, @RequestBody SysUserVo sysUserVo)
+    {
+        LoginUser loginUser = tokenService.getLoginUser(request);
+        if (StringUtils.isNotNull(loginUser))
+        {
+            SysUser sysUser = new SysUser();
+            sysUser.setUserIds(sysUserVo.getUserIds());
+            List<SysUser> userInfoList = userService.getUserInfoList(sysUser);
+            return AjaxResult.success(userInfoList);
+        }
+        return AjaxResult.error("获取用户信息异常");
+    }
 }

+ 9 - 0
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java

@@ -88,6 +88,15 @@ public class SysUser extends BaseEntity
 
     /** 角色ID */
     private Long roleId;
+    private Long[] userIds;
+
+    public Long[] getUserIds() {
+        return userIds;
+    }
+
+    public void setUserIds(Long[] userIds) {
+        this.userIds = userIds;
+    }
 
     public SysUser()
     {

+ 72 - 0
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUserVo.java

@@ -0,0 +1,72 @@
+package com.ruoyi.common.core.domain.entity;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * @Author: tjf
+ * @Date: 2024/10/14 10:25
+ * @Describe:
+ */
+public class SysUserVo{
+    @JsonInclude(value= JsonInclude.Include.NON_NULL)
+    private Long[] userIds;
+    private Long userId;
+
+    /** 用户账号 */
+
+    private String userName;
+
+    /** 用户昵称 */
+
+    private String nickName;
+
+
+
+    /** 手机号码 */
+
+    private String phonenumber;
+
+    public Long getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Long userId) {
+        this.userId = userId;
+    }
+
+    public String getUserName() {
+        return userName;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+
+    public String getNickName() {
+        return nickName;
+    }
+
+    public void setNickName(String nickName) {
+        this.nickName = nickName;
+    }
+
+    public String getPhonenumber() {
+        return phonenumber;
+    }
+
+    public void setPhonenumber(String phonenumber) {
+        this.phonenumber = phonenumber;
+    }
+
+    public Long[] getUserIds() {
+        return userIds;
+    }
+
+    public void setUserIds(Long[] userIds) {
+        this.userIds = userIds;
+    }
+
+}

+ 1 - 0
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java

@@ -18,6 +18,7 @@ public interface SysUserMapper
      * @return 用户信息集合信息
      */
     public List<SysUser> selectUserList(SysUser sysUser);
+    public List<SysUser> getUserInfoList(Long[] userIds);
 
     /**
      * 根据条件分页查询已配用户角色列表

+ 1 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java

@@ -17,6 +17,7 @@ public interface ISysUserService
      * @return 用户信息集合信息
      */
     public List<SysUser> selectUserList(SysUser user);
+    public List<SysUser> getUserInfoList(SysUser user);
 
     /**
      * 根据条件分页查询已分配用户角色列表

+ 10 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java

@@ -74,6 +74,16 @@ public class SysUserServiceImpl implements ISysUserService
         return userMapper.selectUserList(user);
     }
 
+    @Override
+    public List<SysUser> getUserInfoList(SysUser user) {
+        List<SysUser> userInfoList = new ArrayList<>();
+        Long[] userIds = user.getUserIds();
+        if (userIds.length > 0){
+             userInfoList = userMapper.getUserInfoList(userIds);
+        }
+        return userInfoList;
+    }
+
     /**
      * 根据条件分页查询已分配用户角色列表
      * 

+ 15 - 2
ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml

@@ -45,6 +45,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="dataScope"    column="data_scope"     />
         <result property="status"       column="role_status"    />
     </resultMap>
+
+	<resultMap type="sysUserVo" id="SysUserVoResult">
+		<id     property="userId"       column="user_id"      />
+		<result property="userName"     column="user_name"    />
+		<result property="nickName"     column="nick_name"    />
+		<result property="phonenumber"  column="phonenumber"  />
+	</resultMap>
 	
 	<sql id="selectUserVo">
         select u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, 
@@ -141,8 +148,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 	<select id="checkEmailUnique" parameterType="String" resultMap="SysUserResult">
 		select user_id, email from sys_user where email = #{email} and del_flag = '0' limit 1
 	</select>
-	
-	<insert id="insertUser" parameterType="SysUser" useGeneratedKeys="true" keyProperty="userId">
+    <select id="getUserInfoList" parameterType="Long" resultMap="SysUserVoResult">
+		select user_id, user_name,phonenumber from sys_user where user_id in
+		<foreach collection="array" item="userId" open="(" separator="," close=")">
+			#{userId}
+		</foreach>
+	</select>
+
+    <insert id="insertUser" parameterType="SysUser" useGeneratedKeys="true" keyProperty="userId">
  		insert into sys_user(
  			<if test="userId != null and userId != 0">user_id,</if>
  			<if test="deptId != null and deptId != 0">dept_id,</if>