123 lines
4.8 KiB
XML
123 lines
4.8 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="cn.iocoder.yudao.module.system.dal.mysql.user.AdminUserMapper">
|
||
|
||
<!--
|
||
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
|
||
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
|
||
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
|
||
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
|
||
-->
|
||
|
||
<update id="emptyOpenId">
|
||
update system_users
|
||
set open_id = null
|
||
where open_id = #{openId}
|
||
</update>
|
||
|
||
<select id="selectByDeptIds" resultType="cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserRespVO">
|
||
select a.*, b.name deptName FROM system_users a, system_dept b
|
||
where
|
||
a.dept_id = b.id
|
||
and a.status = 0
|
||
and a.user_type = 1
|
||
and a.dept_id in
|
||
<foreach collection="list" item="deptIds" open="(" close=")" separator=",">
|
||
#{deptIds}
|
||
</foreach>
|
||
</select>
|
||
|
||
<select id="selectUserByBoss" resultType="java.lang.Long">
|
||
SELECT DISTINCT
|
||
a.id
|
||
FROM
|
||
system_users AS a,
|
||
system_dept AS b
|
||
WHERE
|
||
( LOCATE( '7', a.post_ids ) OR LOCATE( '8', a.post_ids ) )
|
||
OR ((
|
||
b.`level` = 2
|
||
OR b.`level` = 3
|
||
)
|
||
AND b.leader_user_id = a.id)
|
||
</select>
|
||
<select id="selectByDeptIdsFilterGroupUser"
|
||
resultType="cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserRespVO">
|
||
select a.*, b.name deptName FROM system_users a, system_dept b
|
||
where
|
||
a.dept_id = b.id
|
||
and a.status = 0
|
||
and a.user_type = 1
|
||
and a.dept_id in
|
||
<foreach collection="deptIds" item="deptId" open="(" close=")" separator=",">
|
||
#{deptId}
|
||
</foreach>
|
||
and not exists(select id from kq_attendance_group_user where user_id = a.id and attendance_group_id != #{groupId} and deleted = 0)
|
||
</select>
|
||
|
||
<select id="getAllUserListByGroupIds"
|
||
resultType="cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserSimpleRespVO">
|
||
select a.id,
|
||
a.nickname,
|
||
a.avatar,
|
||
a.dept_id,
|
||
c.name deptName
|
||
from system_users as a
|
||
left join kq_attendance_group_user b on a.id = b.user_id
|
||
left join system_dept as c on a.dept_id = c.id
|
||
<where>
|
||
a.deleted = 0 and b.deleted = 0
|
||
<if test="dto.groupIds != null and dto.groupIds.size() > 0">
|
||
and b.attendance_group_id in
|
||
<foreach collection="dto.groupIds" item="groupId" open="(" close=")" separator=",">
|
||
#{groupId}
|
||
</foreach>
|
||
</if>
|
||
<if test="dto.deptId != null">
|
||
and a.dept_id = #{dto.deptId}
|
||
</if>
|
||
<if test="dto.name != null and dto.name != ''">
|
||
and a.nickname like concat('%', #{dto.name}, '%')
|
||
</if>
|
||
<if test="dto.status != null">
|
||
and a.status = #{dto.status}
|
||
</if>
|
||
</where>
|
||
</select>
|
||
<select id="getAllList" resultType="cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO">
|
||
select
|
||
a.*
|
||
from system_users as a
|
||
<if test="dto.groupIds != null and dto.groupIds.size() > 0">
|
||
left join kq_attendance_group_user b on a.id = b.user_id
|
||
</if>
|
||
<where>
|
||
a.deleted = 0
|
||
<if test="dto.status != null">
|
||
and a.status = #{dto.status}
|
||
</if>
|
||
<if test="dto.userType != null">
|
||
and a.user_type = #{dto.userType}
|
||
</if>
|
||
<if test="dto.userIds != null and dto.userIds.size() > 0">
|
||
and a.id in
|
||
<foreach collection="dto.userIds" item="userId" open="(" close=")" separator=",">
|
||
#{userId}
|
||
</foreach>
|
||
</if>
|
||
<if test="dto.deptIds != null and dto.deptIds.size() > 0">
|
||
and a.dept_id in
|
||
<foreach collection="dto.deptIds" item="deptId" open="(" close=")" separator=",">
|
||
#{deptId}
|
||
</foreach>
|
||
</if>
|
||
<if test="dto.groupIds != null and dto.groupIds.size() > 0">
|
||
and b.attendance_group_id in
|
||
<foreach collection="dto.groupIds" item="groupId" open="(" close=")" separator=",">
|
||
#{groupId}
|
||
</foreach>
|
||
</if>
|
||
</where>
|
||
</select>
|
||
</mapper>
|