<?xml version="1.0" encoding="UTF-8"?>

<!--
  ~
  ~      Copyright (c) 2018-2025, lengleng All rights reserved.
  ~
  ~  Redistribution and use in source and binary forms, with or without
  ~  modification, are permitted provided that the following conditions are met:
  ~
  ~ Redistributions of source code must retain the above copyright notice,
  ~  this list of conditions and the following disclaimer.
  ~  Redistributions in binary form must reproduce the above copyright
  ~  notice, this list of conditions and the following disclaimer in the
  ~  documentation and/or other materials provided with the distribution.
  ~  Neither the name of the yifu4cloud.com developer nor the names of its
  ~  contributors may be used to endorse or promote products derived from
  ~  this software without specific prior written permission.
  ~  Author: lengleng (wangiegie@gmail.com)
  ~
  -->

<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.yifu.cloud.plus.v1.msg.mapper.TMessageInfoMapper">

  <resultMap id="tMessageInfoMap" type="com.yifu.cloud.plus.v1.msg.entity.TMessageInfo">
    <id property="id" column="ID"/>
    <result property="submitUser" column="SUBMIT_USER"/>
    <result property="alertType" column="ALERT_TYPE"/>
    <result property="handlerStatus" column="HANDLER_STATUS"/>
    <result property="alertUser" column="ALERT_USER"/>
    <result property="alertUserId" column="ALERT_USER_ID"/>
    <result property="wxFlag" column="WX_FLAG"/>
    <result property="listUrl" column="LIST_URL"/>
    <result property="infoUrl" column="INFO_URL"/>
    <result property="modelType" column="MODEL_TYPE"/>
    <result property="modelId" column="MODEL_ID"/>
    <result property="createTime" column="CREATE_TIME"/>
  </resultMap>
    <sql id="Base_Column_List">
                a.ID,
                a.SUBMIT_USER,
                a.ALERT_TYPE,
                a.HANDLER_STATUS,
                a.ALERT_USER,
                a.LIST_URL,
                a.INFO_URL,
                a.MODEL_TYPE,
                a.MODEL_ID,
                a.ALERT_USER_ID,
                a.CREATE_TIME
    </sql>
    <sql id="tMessageInfo_where">
        <if test="tMessageInfo != null">
                    <if test="tMessageInfo.submitUser != null and tMessageInfo.submitUser.trim() != ''">
                        AND a.SUBMIT_USER = #{tMessageInfo.submitUser}
                    </if>
                    <if test="tMessageInfo.alertType != null and tMessageInfo.alertType.trim() != ''">
                        AND a.ALERT_TYPE = #{tMessageInfo.alertType}
                    </if>
                    <if test="tMessageInfo.handlerStatus != null and tMessageInfo.handlerStatus.trim() != ''">
                        AND a.HANDLER_STATUS = #{tMessageInfo.handlerStatus}
                    </if>
                    <if test="tMessageInfo.alertUser != null and tMessageInfo.alertUser.trim() != ''">
                        AND a.ALERT_USER = #{tMessageInfo.alertUser}
                    </if>
					<if test="tMessageInfo.alertUserId != null and tMessageInfo.alertUserId.trim() != ''">
						AND a.ALERT_USER_ID = #{tMessageInfo.alertUserId}
					</if>
                    <if test="tMessageInfo.infoUrl != null and tMessageInfo.infoUrl.trim() != ''">
                        AND a.INFO_URL = #{tMessageInfo.infoUrl}
                    </if>
					<if test="tMessageInfo.listUrl != null and tMessageInfo.listUrl.trim() != ''">
						AND a.LIST_URL = #{tMessageInfo.listUrl}
					</if>
                    <if test="tMessageInfo.modelType != null and tMessageInfo.modelType.trim() != ''">
                        AND a.MODEL_TYPE = #{tMessageInfo.modelType}
                    </if>
        </if>
    </sql>
    <!--tMessageInfo简单分页查询-->
    <select id="getTMessageInfoPage" resultMap="tMessageInfoMap">
        SELECT
        <include refid="Base_Column_List"/>
        FROM t_message_info a
        <where>
            1=1
            <include refid="tMessageInfo_where"/>
        </where>
		order by a.CREATE_TIME desc
    </select>
</mapper>
