MsgServiceDaoImplMapper.xml 7.05 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="msgServiceDaoImpl">

    <!-- 保存消息信息 add by wuxw 2018-07-03 -->
    <insert id="saveBusinessMsgInfo" parameterType="Map">
           insert into business_msg(
msg_type,operate,msg_id,view_obj_id,title,view_type_cd,b_id,url
) values (
#{msgType},#{operate},#{msgId},#{viewObjId},#{title},#{viewTypeCd},#{bId},#{url}
)
       </insert>


    <!-- 查询消息信息(Business) add by wuxw 2018-07-03 -->
    <select id="getBusinessMsgInfo" parameterType="Map" resultType="Map">
        select t.msg_type,t.msg_type msgType,t.operate,t.msg_id,t.msg_id msgId,t.view_obj_id,t.view_obj_id
        viewObjId,t.title,t.view_type_cd,t.view_type_cd viewTypeCd,t.b_id,t.b_id bId,t.url
        from business_msg t
        where 1 =1
        <if test="msgType !=null and msgType != ''">
            and t.msg_type= #{msgType}
        </if>
        <if test="operate !=null and operate != ''">
            and t.operate= #{operate}
        </if>
        <if test="msgId !=null and msgId != ''">
            and t.msg_id= #{msgId}
        </if>
        <if test="viewObjId !=null and viewObjId != ''">
            and t.view_obj_id= #{viewObjId}
        </if>
        <if test="title !=null and title != ''">
            and t.title= #{title}
        </if>
        <if test="viewTypeCd !=null and viewTypeCd != ''">
            and t.view_type_cd= #{viewTypeCd}
        </if>
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
        </if>
        <if test="url !=null and url != ''">
            and t.url= #{url}
        </if>

    </select>


    <!-- 保存消息信息至 instance表中 add by wuxw 2018-07-03 -->
    <insert id="saveMsgInfoInstance" parameterType="Map">
        insert into msg(
        msg_type,msg_id,view_obj_id,status_cd,title,view_type_cd,b_id,url
        ) select t.msg_type,t.msg_id,t.view_obj_id,'0',t.title,t.view_type_cd,t.b_id,t.url from business_msg t where 1=1
        <if test="msgType !=null and msgType != ''">
            and t.msg_type= #{msgType}
        </if>
        and t.operate= 'ADD'
        <if test="msgId !=null and msgId != ''">
            and t.msg_id= #{msgId}
        </if>
        <if test="viewObjId !=null and viewObjId != ''">
            and t.view_obj_id= #{viewObjId}
        </if>
        <if test="title !=null and title != ''">
            and t.title= #{title}
        </if>
        <if test="viewTypeCd !=null and viewTypeCd != ''">
            and t.view_type_cd= #{viewTypeCd}
        </if>
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
        </if>
        <if test="url !=null and url != ''">
            and t.url= #{url}
        </if>

    </insert>


    <!-- 查询消息信息 add by wuxw 2018-07-03 -->
    <select id="getMsgInfo" parameterType="Map" resultType="Map">
        select t.msg_type,t.msg_type msgType,t.msg_id,t.msg_id msgId,t.view_obj_id,t.view_obj_id
        viewObjId,t.status_cd,t.status_cd statusCd,t.title,t.view_type_cd,t.view_type_cd viewTypeCd,t.b_id,t.b_id
        bId,t.url
        from msg t
        <if test="userId != null and userId != ''">
            LEFT JOIN msg_read mr ON t.`msg_id` = mr.`msg_id`
        </if>
        where 1 =1
        <if test="userId !=null and userId != ''">
            and mr.msg_id is null
            and mr.user_id = #{userId}
        </if>
        <if test="msgType !=null and msgType != ''">
            and t.msg_type= #{msgType}
        </if>
        <if test="msgId !=null and msgId != ''">
            and t.msg_id= #{msgId}
        </if>
        <if test="viewObjId !=null and viewObjId != ''">
            and t.view_obj_id= #{viewObjId}
        </if>
        <if test="viewObjIds !=null">
            and t.view_obj_id in
            <foreach collection="viewObjIds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
        </if>
        <if test="title !=null and title != ''">
            and t.title= #{title}
        </if>
        <if test="viewTypeCd !=null and viewTypeCd != ''">
            and t.view_type_cd= #{viewTypeCd}
        </if>
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
        </if>
        <if test="url !=null and url != ''">
            and t.url= #{url}
        </if>
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>

    </select>


    <!-- 修改消息信息 add by wuxw 2018-07-03 -->
    <update id="updateMsgInfoInstance" parameterType="Map">
        update msg t set t.status_cd = #{statusCd}
        <if test="newBId != null and newBId != ''">
            ,t.b_id = #{newBId}
        </if>
        <if test="msgType !=null and msgType != ''">
            , t.msg_type= #{msgType}
        </if>
        <if test="viewObjId !=null and viewObjId != ''">
            , t.view_obj_id= #{viewObjId}
        </if>
        <if test="title !=null and title != ''">
            , t.title= #{title}
        </if>
        <if test="viewTypeCd !=null and viewTypeCd != ''">
            , t.view_type_cd= #{viewTypeCd}
        </if>
        <if test="url !=null and url != ''">
            , t.url= #{url}
        </if>
        where 1=1
        <if test="msgId !=null and msgId != ''">
            and t.msg_id= #{msgId}
        </if>
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
        </if>

    </update>

    <!-- 查询消息数量 add by wuxw 2018-07-03 -->
    <select id="queryMsgsCount" parameterType="Map" resultType="Map">
        select count(1) count
        from msg t
        <if test="userId != null and userId != ''">
            LEFT JOIN msg_read mr ON t.`msg_id` = mr.`msg_id`
        </if>
        where 1 =1
        <if test="userId !=null and userId != ''">
            and mr.msg_id is null
            and mr.user_id = #{userId}
        </if>
        <if test="msgType !=null and msgType != ''">
            and t.msg_type= #{msgType}
        </if>
        <if test="msgId !=null and msgId != ''">
            and t.msg_id= #{msgId}
        </if>
        <if test="viewObjId !=null and viewObjId != ''">
            and t.view_obj_id= #{viewObjId}
        </if>
        <if test="viewObjIds !=null">
            and t.view_obj_id in
            <foreach collection="viewObjIds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
        </if>
        <if test="title !=null and title != ''">
            and t.title= #{title}
        </if>
        <if test="viewTypeCd !=null and viewTypeCd != ''">
            and t.view_type_cd= #{viewTypeCd}
        </if>
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
        </if>
        <if test="url !=null and url != ''">
            and t.url= #{url}
        </if>


    </select>

</mapper>