SysNoticeUserMapper.xml 2.65 KB
<?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="org.thingsboard.server.dao.yunteng.mapper.SysNoticeUserMapper">
    <resultMap type="org.thingsboard.server.common.data.yunteng.dto.SysNoticeUserDTO" id="sysNoticeUser">
        <result property="receiverId" column="receiver_id"/>
        <result property="noticeId" column="notice_id"/>
        <result property="readStatus" column="read_status"/>
        <result property="readDate" column="read_date"/>
        <result property="creator" column="creator"/>
        <result property="updater" column="updater"/>
        <result property="createTime" column="create_time"/>
        <result property="updateTime" column="update_time"/>
        <result property="tenantCode" column="tenant_code"/>
        <result property="id" column="id"/>
        <association property="sysNotice" javaType="org.thingsboard.server.common.data.yunteng.dto.SysNoticeDTO">
            <result property="type" column="type" typeHandler="org.apache.ibatis.type.EnumTypeHandler"/>
            <result property="senderName" column="sender_name"/>
            <result property="senderDate" column="sender_date"/>
        </association>
    </resultMap>

    <sql id="dict">
        SELECT sdi.item_text
        FROM sys_dict_item sdi
                 LEFT JOIN sys_dict sd ON sd.id = sdi.dict_id
        WHERE sdi.status = 1
    </sql>

    <sql id="columns">
        SELECT snu.receiver_id receiver_id,
               snu.notice_id   notice_id,
               snu.read_status read_status,
               snu.read_date   read_date,
               snu.creator     creator,
               snu.updater     updater,
               snu.create_time create_time,
               snu.update_time update_time,
               snu.tenant_code tenant_code,
               snu.id          id,
               sn.type AS      type,
               sn.sender_name  sender_name,
               sn.sender_date  sender_date
        FROM sys_notice_user snu
                 LEFT JOIN sys_notice sn ON sn.id = snu.notice_id
    </sql>
    <select id="page" resultMap="sysNoticeUser">
        <include refid="columns"/>
        WHERE
        snu.tenant_code = #{queryMap.tenantCode}
        <if test="queryMap.type != null">
            AND sn.type = #{queryMap.type}
        </if>
        <if test="queryMap.creator != null">
            AND sn.creator = #{queryMap.creator}
        </if>
    </select>
    <select id="get" resultMap="sysNoticeUser">
        <include refid="columns"/>
        WHERE
        snu.tenant_code = #{tenantCode}
        AND snu.id = #{id}
    </select>
</mapper>