share-platform/renren-admin/src/main/resources/mapper/sys/SysUserDao.xml

243 lines
7.6 KiB
XML

<?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="io.renren.modules.sys.dao.SysUserDao">
<select id="getList" resultType="io.renren.modules.sys.entity.SysUserEntity">
select t1.*, (select t2.name from sys_dept t2 where t2.id=t1.dept_id) deptName
from sys_user t1
<if test="postId != null and postId.trim() != '' ">
left join sys_user_post t3 on t1.id = t3.user_id
</if>
where t1.super_admin = 0
<if test="username != null and username.trim() != ''">
and t1.username like #{username}
</if>
<if test="real_name != null and real_name.trim() != ''">
and t1.real_name like #{real_name}
</if>
<if test="deptId != null and deptId.trim() != ''">
and t1.dept_id = #{deptId}
</if>
<if test="postId != null and postId.trim() != ''">
and t3.post_id = #{postId}
</if>
<if test="gender != null and gender.trim() != ''">
and t1.gender = #{gender}
</if>
<if test="deptIdList != null">
and t1.dept_id in
<foreach item="id" collection="deptIdList" open="(" separator="," close=")">
#{id}
</foreach>
</if>
<if test="role_id != null">
AND EXISTS(SELECT 1 FROM sys_role_user WHERE sys_role_user.user_id = t1.id AND sys_role_user.role_id =
#{role_id} AND sys_role_user.del_flag = 0)
</if>
</select>
<select id="getById" resultType="io.renren.modules.sys.entity.SysUserEntity">
select t1.*, (select t2.name from sys_dept t2 where t2.id=t1.dept_id) deptName from sys_user t1
where t1.id = #{value}
</select>
<select id="getByUsername" resultType="io.renren.modules.sys.entity.SysUserEntity">
select * from sys_user where BINARY username = #{value}
</select>
<update id="updatePassword">
update sys_user set password = #{newPassword} where id = #{id}
</update>
<select id="getCountByDeptId" resultType="int">
SELECT count(*) FROM sys_user WHERE dept_id = #{value}
</select>
<select id="getUserIdListByDeptId" resultType="Long">
select id from sys_user where dept_id in
<foreach item="deptId" collection="list" open="(" separator="," close=")">
#{deptId}
</foreach>
</select>
<select id="getByDeptIdAndRoleId" resultType="io.renren.modules.sys.entity.SysUserEntity">
SELECT t2.*,( SELECT t3.NAME FROM sys_dept t3 WHERE t3.id = t2.dept_id )
FROM
sys_role_user t1,
sys_user t2
WHERE
t2.id = t1.user_id
AND t1.role_id = #{roleId}
AND t2.dept_id = #{deptId}
AND t2.status = 1
AND t1.del_flag = 0
ORDER BY
update_date DESC
LIMIT 1
</select>
<select id="countAllUser" resultType="java.lang.Long">
SELECT
COUNT( id )
FROM
sys_user
WHERE
`status` = 1
</select>
<insert id="batchSaveUser" parameterType="java.util.List">
INSERT INTO user_bak
(displayName,distinguishedName,userPrincipalName,telephoneNumber,objectGUID,sAMAccountName,primaryGroupID)
values
<foreach collection="list" item="item" separator=",">
(
#{item.displayName},#{item.distinguishedName},#{item.userPrincipalName},#{item.telephoneNumber},
#{item.objectGUID},#{item.sAMAccountName},#{item.primaryGroupID}
)
</foreach>
</insert>
<select id="getUserByName" parameterType="java.lang.String" resultType="io.renren.modules.sys.entity.SysUserEntity">
SELECT id,username FROM sys_user WHERE username = #{username} limit 1
</select>
<select id="getDeptNameByUserId" resultType="java.lang.String">
SELECT name FROM sys_dept LEFT JOIN sys_user ON sys_user.dept_id = sys_dept.id WHERE sys_user.id = #{id}
</select>
<select id="getApproverUnconfiguredDepartment" resultType="java.util.Map">
SELECT
id,
name,
(CASE type
WHEN 1 THEN
'省'
WHEN 2 THEN
'市'
WHEN 3 THEN
'区'
ELSE
' '
END) AS "type",
sort
FROM
sys_dept sd
WHERE
id NOT IN (
SELECT
sd.id
FROM
sys_user su,
sys_dept sd,
sys_role sr,
sys_role_user sru
WHERE
su.dept_id = sd.id
AND su.id = sru.user_id
AND sru.role_id = sr.id
AND sru.del_flag = 0
AND sr.`name` = '部门审批人'
)
AND sd.type != 4
ORDER BY sd.type, sort
LIMIT ${pageNum}, ${pageSize}
</select>
<select id="getApproverUnconfiguredRegion" resultType="java.util.Map">
SELECT
id,
NAME,
sort
FROM
sys_region srg
WHERE
id NOT IN (
SELECT
srg.id
FROM
sys_user su,
sys_dept sd,
sys_region srg,
sys_role sr,
sys_role_user sru
WHERE
su.dept_id = sd.id
AND su.id = sru.user_id
AND sru.role_id = sr.id
AND sd.district = srg.id
AND sru.del_flag = 0
AND sr.`name` = '区审批人'
)
AND srg.tree_level = 3
AND 9 >= srg.sort
ORDER BY srg.sort
</select>
<select id="getApproverUnconfiguredDepartmentCount" resultType="java.lang.Integer">
SELECT COUNT(1)
FROM (
SELECT
id
FROM
sys_dept sd
WHERE
id NOT IN (
SELECT
sd.id
FROM
sys_user su,
sys_dept sd,
sys_role sr,
sys_role_user sru
WHERE
su.dept_id = sd.id
AND su.id = sru.user_id
AND sru.role_id = sr.id
AND sru.del_flag = 0
AND sr.`name` = '部门审批人'
)
AND sd.type != 4
) temp
</select>
<select id="getUserByRoleList" resultType="java.util.Map">
SELECT
sys_user.id,
sys_user.username,
sys_user.real_name,
sys_dept.`name`
FROM
sys_role_user
LEFT JOIN sys_user ON sys_user.id = sys_role_user.user_id
LEFT JOIN sys_dept ON sys_dept.id = sys_user.dept_id
WHERE
1 = 1
AND sys_role_user.del_flag = 0
AND sys_user.id IS NOT NULL
<if test="null != roleIds">
AND sys_role_user.role_id IN
<foreach item="roleId" collection="roleIds" open="(" separator="," close=")">
#{roleId}
</foreach>
</if>
LIMIT ${pageNum}, ${pageSize}
</select>
<select id="getUserByRoleListCount" resultType="java.lang.Long">
SELECT
COUNT( sys_user.id )
FROM
sys_role_user
LEFT JOIN sys_user ON sys_user.id = sys_role_user.user_id
LEFT JOIN sys_dept ON sys_dept.id = sys_user.dept_id
WHERE
1 = 1
AND sys_role_user.del_flag = 0
AND sys_user.id IS NOT NULL
<if test="null != roleIds">
AND sys_role_user.role_id IN
<foreach item="roleId" collection="roleIds" open="(" separator="," close=")">
#{roleId}
</foreach>
</if>
</select>
</mapper>