feat: /system/user/userListNoPage 返回角色ID集合
| | |
| | | @TableField(exist = false)
|
| | | private Long[] roleIds;
|
| | |
|
| | | /** 角色ID字符串(用于SQL拼接接收) */
|
| | | @TableField(exist = false)
|
| | | private String roleIdsStr;
|
| | |
|
| | | /** 岗位组 */
|
| | | @TableField(exist = false)
|
| | | private Long[] postIds;
|
| | |
| | | .append("remark", getRemark())
|
| | | .toString();
|
| | | }
|
| | |
|
| | | public String getRoleIdsStr() {
|
| | | return roleIdsStr;
|
| | | }
|
| | |
|
| | | public void setRoleIdsStr(String roleIdsStr) {
|
| | | this.roleIdsStr = roleIdsStr;
|
| | | }
|
| | | }
|
| | |
| | | @DataScope(deptAlias = "d", userAlias = "u")
|
| | | public List<SysUser> selectUserList(SysUser user)
|
| | | {
|
| | | return userMapper.selectUserList(user);
|
| | | List<SysUser> userList = userMapper.selectUserList(user);
|
| | | // 将角色ID字符串转换为数组
|
| | | userList.forEach(u -> {
|
| | | if (u.getRoleIdsStr() != null && !u.getRoleIdsStr().isEmpty()) {
|
| | | String[] strIds = u.getRoleIdsStr().split(",");
|
| | | Long[] roleIds = new Long[strIds.length];
|
| | | for (int i = 0; i < strIds.length; i++) {
|
| | | roleIds[i] = Long.parseLong(strIds[i]);
|
| | | }
|
| | | u.setRoleIds(roleIds);
|
| | | }
|
| | | });
|
| | | return userList;
|
| | | }
|
| | |
|
| | | /**
|
| | |
| | | */
|
| | | @Override
|
| | | public List<SysUser> userListNoPage(SysUser user) {
|
| | | return userMapper.selectUserList(user);
|
| | | List<SysUser> userList = userMapper.selectUserList(user);
|
| | | userList.forEach(u -> {
|
| | | if (u.getRoleIdsStr() != null && !u.getRoleIdsStr().isEmpty()) {
|
| | | String[] strIds = u.getRoleIdsStr().split(",");
|
| | | Long[] roleIds = new Long[strIds.length];
|
| | | for (int i = 0; i < strIds.length; i++) {
|
| | | roleIds[i] = Long.parseLong(strIds[i]);
|
| | | }
|
| | | u.setRoleIds(roleIds);
|
| | | }
|
| | | });
|
| | | return userList;
|
| | | }
|
| | |
|
| | | /**
|
| | |
| | | <result property="remark" column="remark" /> |
| | | <result property="deptNames" column="dept_names" /> |
| | | <result property="tenantId" column="tenant_id" /> |
| | | <result property="roleIdsStr" column="role_ids_str" /> |
| | | <association property="dept" javaType="com.ruoyi.project.system.domain.SysDept" resultMap="deptResult" /> |
| | | <collection property="roles" javaType="java.util.List" resultMap="RoleResult" /> |
| | | </resultMap> |
| | |
| | | </sql> |
| | | |
| | | <select id="selectUserList" parameterType="com.ruoyi.project.system.domain.SysUser" resultMap="SysUserResult"> |
| | | select u.user_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark,T2.dept_names from sys_user u |
| | | select u.user_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, u.tenant_id, T2.dept_names, T3.role_ids_str from sys_user u |
| | | left join |
| | | ( SELECT T1.user_id,GROUP_CONCAT(T2.dept_name SEPARATOR ', ') AS dept_names |
| | | FROM |
| | |
| | | </where> |
| | | GROUP BY T1.user_id |
| | | ) T2 on T2.user_id = u.user_id |
| | | left join |
| | | ( SELECT ur.user_id, GROUP_CONCAT(ur.role_id) AS role_ids_str |
| | | FROM sys_user_role ur |
| | | GROUP BY ur.user_id |
| | | ) T3 on T3.user_id = u.user_id |
| | | where u.del_flag = '0' |
| | | <if test="userId != null and userId != 0"> |
| | | AND u.user_id = #{userId} |