src/main/resources/mapper/system/SysUserMapper.xml
@@ -24,6 +24,7 @@
        <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>
@@ -56,7 +57,7 @@
    </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
@@ -69,6 +70,11 @@
      </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}
@@ -155,21 +161,25 @@
   </select>
   <select id="selectUserByIds" resultType="com.ruoyi.project.system.domain.SysUser">
      <include refid="selectUserVo"/>
      where u.user_id in <foreach collection="userIds" item="item" open="(" separator="," close=")">
          #{item}
        </foreach>
      and u.del_flag = '0'
      <where>
         u.del_flag = '0'
         <if test="userIds != null and userIds.size() > 0">
         and   u.user_id in <foreach collection="userIds" item="item" open="(" separator="," close=")">
            #{item}
         </foreach>
         </if>
      </where>
   </select>
   <select id="selectRegistrantIds" resultType="com.ruoyi.project.system.domain.SysUser">
      SELECT user_id, nick_name FROM sys_user
      <where>
         <if test="list != null and list.size() > 0">
         <if test="registrantIds != null and registrantIds.size() > 0">
            user_id IN
            <foreach item="id" collection="list" open="(" separator="," close=")">
            <foreach item="id" collection="registrantIds" open="(" separator="," close=")">
               #{id}
            </foreach>
         </if>
         <if test="list == null or list.size() == 0">
         <if test="registrantIds == null or registrantIds.size() == 0">
            1=0  <!-- 空列表时返回空结果 -->
         </if>
      </where>