ZQN
2024-06-17 9472d5dc2f433ebb0b0b5efc836632474aca9ca7
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,
@@ -64,7 +65,7 @@
    </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,
      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
@@ -157,6 +158,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 +166,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 +174,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 +182,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 +194,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 +204,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 +220,30 @@
   </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>
   <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="getNumByRoleKey"  resultType="Long">
      select u.user_id
         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
      where
        u.user_type = '01'
        and r.role_key = #{roleKey}
        and (u.dept_id = #{deptId} or u.dept_id in (SELECT t.dept_id FROM sys_dept t WHERE find_in_set(#{deptId}, ancestors)))
   </select>
</mapper>