MailLogMapper.xml 2.4 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.MaiLogMapper">
    <resultMap id="mailLogDTO" type="org.thingsboard.server.common.data.yunteng.dto.MailLogDTO" >
        <result property="id" column="id"/>
        <result property="emailFrom" column="email_from"/>
        <result property="emailTo" column="email_to"
                typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler"/>
        <result property="emailCc" column="email_cc"
                typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler"/>
        <result property="emailBcc" column="email_bcc"
                typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler"/>
        <result property="emailSubject" column="email_subject"/>
        <result property="emailBody" column="email_body"/>
        <result property="status" column="status"/>
        <result property="sendTime" column="send_time"/>
        <result property="tenantId" column="tenant_id"/>
        <result property="messageTemplateId" column="message_template_id"/>
        <result property="templatePurpose" column="template_purpose"/>
        <result property="remark" column="remark"/>
    </resultMap>

    <sql id="columns">
        id,email_from,email_to,email_cc,email_bcc,email_subject,email_body,status
        ,send_time,tenant_id,message_template_id,template_purpose,remark
    </sql>

    <select id="getMailLogPage" resultMap="mailLogDTO">
        select
        <include refid="columns"/>
        from tk_mail_log
        <where>
            <if test="queryMap.tenantId !=null and queryMap.tenantId != ''">
                AND tenant_id = #{queryMap.tenantId}
            </if>
            <if test="queryMap.startTime !=null and queryMap.endTime !=null">
                AND send_time &gt;= #{queryMap.startTime} AND send_time &lt;= #{queryMap.endTime}
            </if>
            <if test="queryMap.email !=null and queryMap.email !=''">
                AND email_to::TEXT LIKE concat('%',#{queryMap.email}::TEXT,'%')
            </if>
            <if test="queryMap.emailSubject !=null and queryMap.emailSubject != ''">
                AND email_subject LIKE concat('%',#{queryMap.emailSubject}::TEXT,'%')
            </if>
        </where>
    </select>
</mapper>