ZQN
2024-06-27 ea5615a5081d675700544e3c834939c18dae543e
project-system/src/main/resources/mapper/system/SysUserMapper.xml
@@ -9,6 +9,7 @@
        <result property="deptId"       column="dept_id"      />
        <result property="userName"     column="user_name"    />
        <result property="nickName"     column="nick_name"    />
        <result property="userType"     column="user_type"    />
        <result property="email"        column="email"        />
        <result property="phonenumber"  column="phonenumber"  />
        <result property="wxOpenid"  column="wx_openid"  />
@@ -52,7 +53,7 @@
    </resultMap>
   <sql id="selectUserVo">
        select u.user_id, u.dept_id, u.user_name, u.nick_name, u.email,  u.phonenumber,u.wx_openid,u.sex, u.avatar,
        select u.user_id, u.dept_id, u.user_name, u.nick_name,u.user_type, u.email,  u.phonenumber,u.wx_openid,u.sex, u.avatar,
               u.password, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.update_by, u.update_time,
               u.remark,u.birthday,u.province,u.city,u.area,
        d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.status as dept_status,
@@ -63,17 +64,20 @@
          left join sys_role r on r.role_id = ur.role_id
    </sql>
    <select id="selectUserList" parameterType="SysUser" resultMap="SysUserResult">
      select u.user_id, u.dept_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,d.dept_name, d.leader
   <select id="selectUserListCommon" parameterType="SysUser" resultMap="SysUserResult">
      select u.user_id, u.dept_id, u.nick_name, u.user_name,u.user_type, 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,d.dept_name, d.leader
      from sys_user u
      left join sys_dept d on u.dept_id = d.dept_id
      where u.del_flag = '0'
      where u.del_flag = '0' and u.user_name!='admin' and u.user_type!='02'
      <if test="userId != null and userId != 0">
         AND u.user_id = #{userId}
      </if>
      <if test="userName != null and userName != ''">
         AND u.user_name like concat('%', #{userName}, '%')
      </if>
      <if test="nickName != null and nickName != ''">
         AND u.nick_name like concat('%', #{nickName}, '%')
      </if>
      <if test="status != null and status != ''">
         AND u.status = #{status}
@@ -91,7 +95,45 @@
         AND (u.dept_id = #{deptId} OR u.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE find_in_set(#{deptId}, ancestors) ))
      </if>
      <!-- 数据范围过滤 -->
      ${params.dataScope}
      <if test="params != null and params.dataScope != null and params.dataScope != ''">
         AND ${params.dataScope}
      </if>
   </select>
    <select id="selectUserList" parameterType="SysUser" resultMap="SysUserResult">
      select u.user_id, u.dept_id, u.nick_name, u.user_name,u.user_type, 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,d.dept_name, d.leader
      from sys_user u
      left join sys_dept d on u.dept_id = d.dept_id
      where u.del_flag = '0' and u.user_name!='admin'
      <if test="userId != null and userId != 0">
         AND u.user_id = #{userId}
      </if>
      <if test="userName != null and userName != ''">
         AND u.user_name like concat('%', #{userName}, '%')
      </if>
      <if test="nickName != null and nickName != ''">
         AND u.nick_name like concat('%', #{nickName}, '%')
      </if>
      <if test="status != null and status != ''">
         AND u.status = #{status}
      </if>
      <if test="phonenumber != null and phonenumber != ''">
         AND u.phonenumber like concat('%', #{phonenumber}, '%')
      </if>
      <if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
         AND date_format(u.create_time,'%y%m%d') &gt;= date_format(#{params.beginTime},'%y%m%d')
      </if>
      <if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
         AND date_format(u.create_time,'%y%m%d') &lt;= date_format(#{params.endTime},'%y%m%d')
      </if>
      <if test="deptId != null and deptId != 0">
         AND (u.dept_id = #{deptId} OR u.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE find_in_set(#{deptId}, ancestors) ))
      </if>
      <!-- 数据范围过滤 -->
      <if test="params != null and params.dataScope != null and params.dataScope != ''">
         AND ${params.dataScope}
      </if>
   </select>
   <select id="selectAllocatedList" parameterType="SysUser" resultMap="SysUserResult">
@@ -108,7 +150,9 @@
         AND u.phonenumber like concat('%', #{phonenumber}, '%')
      </if>
      <!-- 数据范围过滤 -->
      ${params.dataScope}
      <if test="params != null and params.dataScope != null and params.dataScope != ''">
         AND ${params.dataScope}
      </if>
   </select>
   <select id="selectUnallocatedList" parameterType="SysUser" resultMap="SysUserResult">
@@ -126,7 +170,9 @@
         AND u.phonenumber like concat('%', #{phonenumber}, '%')
      </if>
      <!-- 数据范围过滤 -->
      ${params.dataScope}
      <if test="params != null and params.dataScope != null and params.dataScope != ''">
         AND ${params.dataScope}
      </if>
   </select>
   <select id="selectUserByUserName" parameterType="String" resultMap="SysUserResult">
@@ -157,6 +203,7 @@
          <if test="deptId != null and deptId != 0">dept_id,</if>
          <if test="userName != null and userName != ''">user_name,</if>
          <if test="nickName != null and nickName != ''">nick_name,</if>
          <if test="userType != null and userType != ''">user_type,</if>
          <if test="email != null and email != ''">email,</if>
          <if test="avatar != null and avatar != ''">avatar,</if>
          <if test="phonenumber != null and phonenumber != ''">phonenumber,</if>
@@ -164,6 +211,7 @@
          <if test="password != null and password != ''">password,</if>
          <if test="status != null and status != ''">status,</if>
          <if test="createBy != null and createBy != ''">create_by,</if>
          <if test="recommendUser != null and recommendUser != ''">recommend_user,</if>
          <if test="remark != null and remark != ''">remark,</if>
          create_time
       )values(
@@ -171,6 +219,7 @@
          <if test="deptId != null and deptId != ''">#{deptId},</if>
          <if test="userName != null and userName != ''">#{userName},</if>
          <if test="nickName != null and nickName != ''">#{nickName},</if>
         <if test="userType != null and userType != ''">#{userType},</if>
          <if test="email != null and email != ''">#{email},</if>
          <if test="avatar != null and avatar != ''">#{avatar},</if>
          <if test="phonenumber != null and phonenumber != ''">#{phonenumber},</if>
@@ -178,6 +227,7 @@
          <if test="password != null and password != ''">#{password},</if>
          <if test="status != null and status != ''">#{status},</if>
          <if test="createBy != null and createBy != ''">#{createBy},</if>
         <if test="recommendUser != null and recommendUser != ''">#{recommendUser},</if>
          <if test="remark != null and remark != ''">#{remark},</if>
          sysdate()
       )
@@ -189,6 +239,7 @@
          <if test="deptId != null and deptId != 0">dept_id = #{deptId},</if>
          <if test="userName != null and userName != ''">user_name = #{userName},</if>
          <if test="nickName != null and nickName != ''">nick_name = #{nickName},</if>
          <if test="userType != null and userType != ''">user_type = #{userType},</if>
          <if test="email != null ">email = #{email},</if>
          <if test="phonenumber != null ">phonenumber = #{phonenumber},</if>
          <if test="sex != null and sex != ''">sex = #{sex},</if>
@@ -198,6 +249,7 @@
          <if test="loginIp != null and loginIp != ''">login_ip = #{loginIp},</if>
          <if test="loginDate != null">login_date = #{loginDate},</if>
          <if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
          <if test="recommendUser != null and recommendUser != ''">recommend_user = #{recommendUser},</if>
          <if test="remark != null">remark = #{remark},</if>
          update_time = sysdate()
       </set>
@@ -213,19 +265,36 @@
   </update>
   <update id="resetUserPwd" parameterType="SysUser">
       update sys_user set password = #{password}, remark = #{remark} where user_name = #{userName}
       update sys_user set password = #{password}, recommend_user = #{recommendUser} where user_name = #{userName}
   </update>
   <update id="resetPhone" parameterType="SysUser">
      update sys_user set phonenumber = #{phone}, user_name = #{phone} where user_id = #{userId}
   </update>
   <delete id="deleteUserById" parameterType="Long">
       update sys_user set del_flag = '2' where user_id = #{userId}
       update sys_user set del_flag = '1' where user_id = #{userId}
    </delete>
    <delete id="deleteUserByIds" parameterType="Long">
       update sys_user set del_flag = '2' where user_id in
       update sys_user set del_flag = '1' where user_id in
       <foreach collection="array" item="userId" open="(" separator="," close=")">
          #{userId}
        </foreach>
    </delete>
   <select id="getPhonesByRoleKey"  resultType="String">
      select u.phonenumber
         from sys_user u
         join sys_user_role ur on u.user_id = ur.user_id
         join sys_role r on r.role_id = ur.role_id
         join sys_user_dept ud on u.user_id = ud.user_id
      where
        u.user_type != '02'
        and u.status='0'
        and r.role_key = #{roleKey}
        and ud.dept_id = #{deptId}
   </select>
</mapper>