SysNoticeMapper.xml 2.49 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.SysNoticeMapper">
    <resultMap type="org.thingsboard.server.common.data.yunteng.dto.SysNoticeDTO" id="sysNotice">
        <result property="id" column="id"/>
        <result property="type" column="type" typeHandler="org.apache.ibatis.type.EnumTypeHandler"/>
        <result property="title" column="title"/>
        <result property="content" column="content"/>
        <result property="receiverType" column="receiver_type"/>
        <result property="receiverTypeIds" column="receiver_type_ids"/>
        <result property="status" column="status"/>
        <result property="senderName" column="sender_name"/>
        <result property="senderDate" column="sender_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"/>
    </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
        sn.id id,
        sn.type AS type,
        sn.title title,
        sn.content AS content,
        (
        <include refid="dict"/>
        AND sd.dict_code = 'receiver_type' AND sdi.item_value = sn.receiver_type
        ) receiver_type,
        sn.receiver_type_ids receiver_type_ids,
        (
        <include refid="dict"/>
        AND sd.dict_code = 'draft_status' AND sdi.item_value = sn.status
        ) status,
        sn.sender_name sender_name,
        sn.sender_date sender_date,
        sn.creator creator,
        sn.updater updater,
        sn.create_time create_time,
        sn.update_time update_time,
        sn.tenant_code tenant_code
        FROM sys_notice sn
    </sql>
    <select id="page" resultMap="sysNotice">
        <include refid="columns"/>
        WHERE
        sn.tenant_code = #{queryMap.tenantCode}
        <if test="queryMap.type != null">
            sn.type = #{queryMap.type}
        </if>
    </select>
    <select id="get" resultMap="sysNotice">
        <include refid="columns"/>
        WHERE
        sn.tenant_code = #{tenantCode}
        AND sn.id = #{id}
    </select>
</mapper>