zss
昨天 3955c6d7cdc8a3b6f1bd31a249a2c562820adfcb
src/main/resources/mapper/system/SysUserMapper.xml
@@ -264,4 +264,40 @@
        </foreach> 
    </delete>
   
   <select id="getUserByRole" resultType="java.lang.Long">
      select distinct su.user_id
      from sys_user su
             left join sys_user_role sur on su.user_id = sur.user_id
             left join sys_role sr on sur.role_id = sr.role_id
      where role_name like concat('%', #{role}, '%')
        and sr.del_flag = '0'
        and sr.status = '0'
        and su.status = '0'
        and su.del_flag = '0'
   </select>
   <select id="getUserByPerms" resultType="java.lang.Long">
      select distinct t5.user_id
      from sys_role_menu t1
      left join sys_menu t2 on t1.menu_id = t2.menu_id
      left join sys_role t3 on t1.role_id = t3.role_id
      inner join sys_user_role t4 on t4.role_id = t3.role_id
      inner join sys_user t5 on t5.user_id = t4.user_id
      where t3.del_flag = '0'
      and t2.perms is not null
      and t2.perms &lt;&gt; ''
      and t5.del_flag = '0'
      and t5.status = '0'
      and t3.status = '0'
      <if test="perms != null and perms.size() > 0">
         AND (
         <foreach collection="perms" item="p" separator=" OR ">
            t2.perms = #{p}
            OR t2.perms = (split_part(#{p}, ':', 1) || ':' || split_part(#{p}, ':', 2) || ':*')
            OR t2.perms = (split_part(#{p}, ':', 1) || ':*:*')
         </foreach>
         OR t2.perms = '*:*:*'
         )
      </if>
   </select>
</mapper>