wg-basic/module-map/src/main/resources/mybatis/mapper/grid/grid-user-mapper.xml
2023-06-16 18:04:53 +08:00

77 lines
2.3 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="ink.wgink.module.map.dao.grid.IGridUserDao">
<resultMap id="gridUserDTO" type="ink.wgink.module.map.pojo.dtos.grid.GridUserDTO">
<id column="grid_id" property="gridId"/>
<result column="user_id" property="userId"/>
<result column="user_username" property="userUsername"/>
<result column="user_name" property="userName"/>
<result column="user_phone" property="userPhone"/>
<result column="gmt_create" property="gmtCreate"/>
</resultMap>
<select id="listGridUser" parameterType="map" resultMap="gridUserDTO">
SELECT
mgr.grid_id,
su.user_id,
su.user_username,
su.user_name,
su.user_email,
su.user_phone,
su.gmt_create
FROM
map_grid_relation mgr
INNER JOIN
map_grid mg
ON
mgr.grid_id = mg.grid_id
INNER JOIN
sys_user su
ON
mgr.relation_id = su.user_id
WHERE
mg.is_delete = 0
AND
su.is_delete = 0
<if test="gridId != null and gridId != ''">
AND
mgr.grid_id = #{gridId}
</if>
<if test="gridIds != null and gridIds.size > 0">
AND
mgr.grid_id IN
<foreach collection="gridIds" index="index" open="(" separator="," close=")">
#{gridIds[${index}]}
</foreach>
</if>
</select>
<select id="listUser" parameterType="map" resultMap="ink.wgink.service.user.dao.IUserDao.userDTO">
SELECT
su.user_id,
su.user_username,
su.user_name,
su.user_email,
su.user_phone,
su.user_avatar
FROM
sys_user su
WHERE
su.is_delete = 0
AND
su.user_username != 'admin'
AND
su.user_id IN (
SELECT
mgr.relation_id
FROM
map_grid_relation mgr
INNER JOIN
map_grid mg
WHERE
mg.is_delete = 0
)
</select>
</mapper>