<?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="com.jsh.erp.datasource.mappers.MsgMapperEx">
    <select id="selectByConditionMsg" resultMap="com.jsh.erp.datasource.mappers.MsgMapper.BaseResultMap">
        SELECT *
        FROM jsh_msg
        WHERE 1=1
        and ifnull(delete_Flag,'0') !='1'
        <if test="name != null">
            <bind name="bindName" value="'%'+name+'%'"/>
            and msg_title like #{bindName}
        </if>
        order by create_time desc
        <if test="offset != null and rows != null">
            limit #{offset},#{rows}
        </if>;
    </select>
    <select id="countsByMsg" resultType="java.lang.Long">
        SELECT
        COUNT(id)
        FROM jsh_msg
        WHERE 1=1
        and ifnull(delete_Flag,'0') !='1'
        <if test="name != null">
            <bind name="bindName" value="'%'+name+'%'"/>
            and msg_title like #{bindName}
        </if>
    </select>
    <update id="batchDeleteMsgByIds">
        update jsh_msg
        set delete_Flag='1'
        where 1=1
        and id in (
        <foreach collection="ids" item="id" separator=",">
            #{id}
        </foreach>
        )
    </update>

    <insert id="insertSelectiveByTask" parameterType="com.jsh.erp.datasource.entities.Msg">
        insert into jsh_msg(msg_title,msg_content,create_time,type,status,tenant_id)
        values (
            #{msgTitle,jdbcType=VARCHAR},
            #{msgContent,jdbcType=VARCHAR},
            #{createTime,jdbcType=TIMESTAMP},
            #{type,jdbcType=VARCHAR},
            #{status,jdbcType=VARCHAR},
            #{tenantId,jdbcType=BIGINT}
        )
    </insert>

    <select id="checkIsNameExistByTask" resultType="java.lang.Integer">
        SELECT
        COUNT(id)
        FROM jsh_msg
        WHERE 1=1
        and ifnull(delete_Flag,'0') !='1'
        <if test="msgTitle != null">
            and msg_title = #{msgTitle}
        </if>
    </select>

    <select id="getMsgCountByStatus" resultType="java.lang.Long">
        SELECT
        COUNT(id)
        FROM jsh_msg
        WHERE 1=1
        and ifnull(delete_Flag,'0') !='1'
        <if test="status != null">
            and status = #{status}
        </if>
    </select>
</mapper>