<?xml version="1.0" encoding="UTF-8"?>
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<mapper namespace="cn.mb.cloud.auth.security.mapper.SysUserMapper">
|
<!-- 通用查询映射结果 -->
|
<resultMap id="baseResultMap" type="cn.mb.cloud.common.api.vo.UserVO">
|
<id column="id" property="id"/>
|
<result column="username" property="username"/>
|
<result column="password" property="password"/>
|
<result column="phone" property="phone"/>
|
<result column="avatar" property="avatar"/>
|
<result column="wx_openid" property="wxOpenid"/>
|
<result column="qq_openid" property="qqOpenid"/>
|
<result column="lock_flag" property="lockFlag"/>
|
<result column="del_flag" property="delFlag"/>
|
<result column="deptId" property="deptId"/>
|
<result column="deptName" property="deptName"/>
|
</resultMap>
|
|
<sql id="userRoleSql">
|
`user`.id,
|
`user`.username,
|
`user`.`password`,
|
`user`.salt,
|
`user`.phone,
|
`user`.avatar,
|
`user`.wx_openid,
|
`user`.qq_openid,
|
`user`.dept_id,
|
`user`.del_flag AS del_flag,
|
`user`.lock_flag AS lock_flag,
|
`user`.dept_id AS deptId,
|
r.id as role_id,
|
r.role_name,
|
r.role_code,
|
r.role_desc
|
</sql>
|
|
<sql id="userRoleDeptSql">
|
`user`.id,
|
`user`.username,
|
`user`.`password`,
|
`user`.salt,
|
`user`.phone,
|
`user`.avatar,
|
`user`.wx_openid,
|
`user`.qq_openid,
|
`user`.del_flag AS del_flag,
|
`user`.lock_flag AS lock_flag,
|
r.id as role_id,
|
r.role_name,
|
r.role_code,
|
r.role_desc,
|
d.name AS deptName,
|
d.dept_id AS deptId
|
</sql>
|
|
<select id="getUserVoByUsername" resultMap="baseResultMap">
|
SELECT
|
<include refid="userRoleSql"/>
|
FROM
|
sys_user AS `user`
|
LEFT JOIN sys_user_role AS ur ON ur.user_id = `user`.id
|
LEFT JOIN sys_role AS r ON r.role_id = ur.role_id
|
WHERE `user`.username = #{username}
|
</select>
|
|
<select id="getUserVoById" resultMap="baseResultMap">
|
SELECT
|
<include refid="userRoleDeptSql"/>
|
FROM
|
sys_user AS `user`
|
LEFT JOIN sys_user_role AS ur ON ur.user_id = `user`.id
|
LEFT JOIN sys_role AS r ON r.role_id = ur.role_id
|
LEFT JOIN sys_dept AS d ON d.dept_id = `user`.dept_id
|
WHERE
|
`user`.user_id = #{id}
|
</select>
|
|
<select id="getUserVosPage" resultMap="baseResultMap">
|
SELECT
|
`user`.id,
|
`user`.username,
|
`user`.`password`,
|
`user`.salt,
|
`user`.phone,
|
`user`.avatar,
|
`user`.wx_openid,
|
`user`.qq_openid,
|
`user`.dept_id,
|
`user`.del_flag AS del_flag,
|
`user`.lock_flag AS lock_flag,
|
`user`.dept_id AS deptId
|
FROM
|
sys_user AS `user`
|
LEFT JOIN sys_dept AS d ON d.dept_id = `user`.dept_id
|
<where>
|
<if test="query.username != null and query.username != ''">
|
and `user`.username LIKE CONCAT('%',#{query.username},'%')
|
</if>
|
<if test="query.deptId != null and query.deptId != ''">
|
and `user`.dept_id = #{query.deptId}
|
</if>
|
</where>
|
ORDER BY `user`.create_date DESC
|
</select>
|
|
<select id="listRolesByUserId" resultType="java.lang.Long">
|
SELECT
|
r.id
|
FROM
|
sys_role r, sys_user_role ur WHERE r.id = ur.role_id AND r.del_flag = 0 and ur.user_id IN (#{userId})
|
</select>
|
|
<select id="listMenusByRoleId" resultType="cn.mb.cloud.common.api.vo.MenuVO">
|
SELECT
|
sys_menu.*
|
FROM
|
sys_menu
|
LEFT JOIN sys_role_menu ON sys_menu.id = sys_role_menu.menu_id
|
WHERE
|
sys_menu.del_flag = 0
|
AND sys_role_menu.role_id = #{roleId}
|
ORDER BY
|
sys_menu.sort DESC
|
</select>
|
</mapper>
|