|  |  |  | 
|---|
|  |  |  | <!DOCTYPE mapper | 
|---|
|  |  |  | PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | 
|---|
|  |  |  | "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | 
|---|
|  |  |  | <mapper namespace="com.ruoyi.alarmpoints.elecwall.mapper.ArdWallMapper"> | 
|---|
|  |  |  | <mapper namespace="com.ruoyi.alarmpoints.wall.mapper.ArdWallMapper"> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <resultMap type="ArdWall" id="ArdWallResult"> | 
|---|
|  |  |  | <result property="id"    column="id"    /> | 
|---|
|  |  |  | 
|---|
|  |  |  | <result property="createTime"    column="create_time"    /> | 
|---|
|  |  |  | <result property="updateBy"    column="update_by"    /> | 
|---|
|  |  |  | <result property="updateTime"    column="update_time"    /> | 
|---|
|  |  |  | <!-- 子查询,关联 ard_dispatch_police_user 表 --> | 
|---|
|  |  |  | <collection property="sysUserList" ofType="java.util.List" select="getSysUserListByMainTableId" column="id"/> | 
|---|
|  |  |  | </resultMap> | 
|---|
|  |  |  | <select id="getSysUserListByMainTableId" resultType="SysUser"> | 
|---|
|  |  |  | SELECT u.* | 
|---|
|  |  |  | FROM ard_wall_user b | 
|---|
|  |  |  | left join sys_user u on b.user_id = u.user_id | 
|---|
|  |  |  | WHERE wall_id = #{id} | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  | <resultMap type="SysUser" id="SysUserListResult"> | 
|---|
|  |  |  | <result property="userId" column="sub_user_id"/> | 
|---|
|  |  |  | <result property="nickName" column="sub_nick_name"/> | 
|---|
|  |  |  | <result property="deptId" column="sub_dept_id"/> | 
|---|
|  |  |  | </resultMap> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <sql id="selectArdWallVo"> | 
|---|
|  |  |  | 
|---|
|  |  |  | <if test="wallPoi != null  and wallPoi != ''"> and wall_poi = #{wallPoi}</if> | 
|---|
|  |  |  | <if test="type != null  and type != ''"> and type = #{type}</if> | 
|---|
|  |  |  | <if test="color != null  and color != ''"> and color = #{color}</if> | 
|---|
|  |  |  | <if test="deptId != null "> and dept_id = #{deptId}</if> | 
|---|
|  |  |  | <if test="userId != null  and userId != ''"> and user_id = #{userId}</if> | 
|---|
|  |  |  | <if test="deptId != null ">and (dept_id = #{deptId} OR dept_id IN ( SELECT t.dept_id FROM sys_dept t | 
|---|
|  |  |  | WHERE cast(#{deptId} as varchar) = any(string_to_array(ancestors,',')) )) | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | </where> | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | #{id} | 
|---|
|  |  |  | </foreach> | 
|---|
|  |  |  | </delete> | 
|---|
|  |  |  | <insert id="batchArdWallUser"> | 
|---|
|  |  |  | insert into ard_wall_user( wall_id, user_id) values | 
|---|
|  |  |  | <foreach item="item" index="index" collection="list" separator=","> | 
|---|
|  |  |  | ( #{item.wallId}, #{item.userId}) | 
|---|
|  |  |  | </foreach> | 
|---|
|  |  |  | </insert> | 
|---|
|  |  |  | <delete id="deleteArdWallUserByWallId" parameterType="String"> | 
|---|
|  |  |  | delete | 
|---|
|  |  |  | from ard_wall_user | 
|---|
|  |  |  | where wall_id = #{wallId} | 
|---|
|  |  |  | </delete> | 
|---|
|  |  |  | <delete id="deleteArdWallUserByWallIds" parameterType="String"> | 
|---|
|  |  |  | delete from ard_wall_user where wall_id in | 
|---|
|  |  |  | <foreach item="wallId" collection="array" open="(" separator="," close=")"> | 
|---|
|  |  |  | #{wallId} | 
|---|
|  |  |  | </foreach> | 
|---|
|  |  |  | </delete> | 
|---|
|  |  |  | <select id="selectArdWallListByUserId" parameterType="String"  resultMap="ArdWallResult"> | 
|---|
|  |  |  | SELECT | 
|---|
|  |  |  | aw.* | 
|---|
|  |  |  | FROM | 
|---|
|  |  |  | ard_wall aw | 
|---|
|  |  |  | LEFT JOIN ard_wall_user awu ON awu.wall_id = aw.ID | 
|---|
|  |  |  | WHERE | 
|---|
|  |  |  | awu.user_id =  #{userId} | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  | </mapper> | 
|---|