maven
11 小时以前 7b4211d813e06b810c99bed7552d732dd31b4041
src/main/resources/mapper/system/SysUserMapper.xml
@@ -56,14 +56,38 @@
    </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,
      T2.dept_names,
      GROUP_CONCAT(DISTINCT p.post_name SEPARATOR ', ') AS post_names
      from sys_user u
      left join
      (   SELECT T1.user_id,GROUP_CONCAT(T2.dept_name SEPARATOR ', ') AS dept_names
         FROM
            sys_user_dept T1
         LEFT JOIN sys_dept T2 ON T1.dept_id = T2.dept_id
         GROUP BY T1.user_id
      (   SELECT T1.user_id,GROUP_CONCAT(T2.dept_name SEPARATOR ', ') AS dept_names
      FROM
      sys_user_dept T1
      LEFT JOIN sys_dept T2 ON T1.dept_id = T2.dept_id
      <where>
         <if test="tenantId != null and tenantId != 0">
            T1.dept_id = #{tenantId}
         </if>
      </where>
      GROUP BY T1.user_id
      ) T2 on T2.user_id = u.user_id
      LEFT JOIN sys_user_post up ON u.user_id = up.user_id
      LEFT JOIN sys_post p ON up.post_id = p.post_id
      where u.del_flag = '0'
      <if test="userId != null and userId != 0">
         AND u.user_id = #{userId}
@@ -86,11 +110,22 @@
      <if test="params.deptId != null">
         AND u.user_id IN
         (
         SELECT user_id FROM sys_user_dept WHERE dept_id = #{deptId}
         SELECT user_id FROM sys_user_dept WHERE dept_id = #{params.deptId}
         )
      </if>
      <!-- 新增:根据岗位编码筛选用户 -->
      <if test="postCode != null and postCode != ''">
         AND u.user_id IN
         (
         SELECT DISTINCT up.user_id
         FROM sys_user_post up
         LEFT JOIN sys_post p ON up.post_id = p.post_id
         WHERE p.post_code = #{postCode}
         )
      </if>
      <!-- 数据范围过滤 -->
      ${params.dataScope}
      GROUP BY u.user_id
   </select>
   
   <select id="selectAllocatedList" parameterType="com.ruoyi.project.system.domain.SysUser" resultMap="SysUserResult">
@@ -147,7 +182,35 @@
   <select id="checkEmailUnique" parameterType="String" resultMap="SysUserResult">
      select user_id, email from sys_user where email = #{email} and del_flag = '0' limit 1
   </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>
   </select>
   <select id="selectList" resultType="com.ruoyi.project.system.domain.SysUser">
      SELECT user_id, nick_name FROM sys_user
      <where>
         <if test="list != null and list.size() > 0">
            user_id IN
            <foreach item="id" collection="list" open="(" separator="," close=")">
               #{id}
            </foreach>
         </if>
         <if test="list == null or list.size() == 0">
            1=0  <!-- 空列表时返回空结果 -->
         </if>
      </where>
   </select>
   <select id="selectUsersByIds" resultType="com.ruoyi.project.system.domain.SysUser">
      SELECT user_id, nick_name
      FROM sys_user
      WHERE user_id IN
      <foreach collection="userIds" item="id" open="(" separator="," close=")">
         #{id}
      </foreach>
   </select>
   <insert id="insertUser" parameterType="com.ruoyi.project.system.domain.SysUser" useGeneratedKeys="true" keyProperty="userId">
       insert into sys_user(
          <if test="userId != null and userId != 0">user_id,</if>
@@ -196,6 +259,7 @@
          <if test="loginDate != null">login_date = #{loginDate},</if>
          <if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
          <if test="remark != null">remark = #{remark},</if>
         <if test="tenantId != null">tenant_id = #{tenantId},</if>
          update_time = sysdate()
       </set>
       where user_id = #{userId}