<?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.ruoyi.system.mapper.SysMessageMapper">
|
|
<resultMap type="SysMessage" id="SysMessageResult">
|
<result property="messageId" column="message_id" />
|
<result property="messageType" column="message_type" />
|
<result property="messageTitle" column="message_title" />
|
<result property="messageContent" column="message_content" />
|
<result property="taskId" column="task_id" />
|
<result property="taskCode" column="task_code" />
|
<result property="receiverId" column="receiver_id" />
|
<result property="receiverName" column="receiver_name" />
|
<result property="senderId" column="sender_id" />
|
<result property="senderName" column="sender_name" />
|
<result property="isRead" column="is_read" />
|
<result property="readTime" column="read_time" />
|
<result property="createTime" column="create_time" />
|
<result property="updateTime" column="update_time" />
|
<result property="delFlag" column="del_flag" />
|
</resultMap>
|
|
<sql id="selectSysMessageVo">
|
select message_id, message_type, message_title, message_content, task_id, task_code,
|
receiver_id, receiver_name, sender_id, sender_name, is_read, read_time,
|
create_time, update_time, del_flag
|
from sys_message
|
</sql>
|
|
<select id="selectSysMessageList" parameterType="SysMessage" resultMap="SysMessageResult">
|
<include refid="selectSysMessageVo"/>
|
<where>
|
del_flag = '0'
|
<if test="messageType != null and messageType != ''"> and message_type = #{messageType}</if>
|
<if test="receiverId != null "> and receiver_id = #{receiverId}</if>
|
<if test="taskId != null "> and task_id = #{taskId}</if>
|
<if test="isRead != null and isRead != ''"> and is_read = #{isRead}</if>
|
</where>
|
order by is_read asc, create_time desc
|
</select>
|
|
<select id="selectSysMessageByMessageId" parameterType="Long" resultMap="SysMessageResult">
|
<include refid="selectSysMessageVo"/>
|
where message_id = #{messageId} and del_flag = '0'
|
</select>
|
|
<select id="selectSysMessageListByReceiverId" parameterType="Long" resultMap="SysMessageResult">
|
<include refid="selectSysMessageVo"/>
|
where receiver_id = #{receiverId} and del_flag = '0'
|
order by is_read asc, create_time desc
|
</select>
|
|
<select id="countUnreadMessageByReceiverId" parameterType="Long" resultType="int">
|
select count(*) from sys_message
|
where receiver_id = #{receiverId} and is_read = '0' and del_flag = '0'
|
</select>
|
|
<insert id="insertSysMessage" parameterType="SysMessage" useGeneratedKeys="true" keyProperty="messageId">
|
insert into sys_message
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
<if test="messageType != null and messageType != ''">message_type,</if>
|
<if test="messageTitle != null and messageTitle != ''">message_title,</if>
|
<if test="messageContent != null and messageContent != ''">message_content,</if>
|
<if test="taskId != null">task_id,</if>
|
<if test="taskCode != null and taskCode != ''">task_code,</if>
|
<if test="receiverId != null">receiver_id,</if>
|
<if test="receiverName != null and receiverName != ''">receiver_name,</if>
|
<if test="senderId != null">sender_id,</if>
|
<if test="senderName != null and senderName != ''">sender_name,</if>
|
<if test="isRead != null">is_read,</if>
|
<if test="readTime != null">read_time,</if>
|
<if test="createTime != null">create_time,</if>
|
<if test="delFlag != null">del_flag,</if>
|
</trim>
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
<if test="messageType != null and messageType != ''">#{messageType},</if>
|
<if test="messageTitle != null and messageTitle != ''">#{messageTitle},</if>
|
<if test="messageContent != null and messageContent != ''">#{messageContent},</if>
|
<if test="taskId != null">#{taskId},</if>
|
<if test="taskCode != null and taskCode != ''">#{taskCode},</if>
|
<if test="receiverId != null">#{receiverId},</if>
|
<if test="receiverName != null and receiverName != ''">#{receiverName},</if>
|
<if test="senderId != null">#{senderId},</if>
|
<if test="senderName != null and senderName != ''">#{senderName},</if>
|
<if test="isRead != null">#{isRead},</if>
|
<if test="readTime != null">#{readTime},</if>
|
<if test="createTime != null">#{createTime},</if>
|
<if test="delFlag != null">#{delFlag},</if>
|
</trim>
|
</insert>
|
|
<update id="updateSysMessage" parameterType="SysMessage">
|
update sys_message
|
<trim prefix="SET" suffixOverrides=",">
|
<if test="messageType != null and messageType != ''">message_type = #{messageType},</if>
|
<if test="messageTitle != null and messageTitle != ''">message_title = #{messageTitle},</if>
|
<if test="messageContent != null and messageContent != ''">message_content = #{messageContent},</if>
|
<if test="taskId != null">task_id = #{taskId},</if>
|
<if test="taskCode != null and taskCode != ''">task_code = #{taskCode},</if>
|
<if test="receiverId != null">receiver_id = #{receiverId},</if>
|
<if test="receiverName != null and receiverName != ''">receiver_name = #{receiverName},</if>
|
<if test="senderId != null">sender_id = #{senderId},</if>
|
<if test="senderName != null and senderName != ''">sender_name = #{senderName},</if>
|
<if test="isRead != null">is_read = #{isRead},</if>
|
<if test="readTime != null">read_time = #{readTime},</if>
|
<if test="updateTime != null">update_time = #{updateTime},</if>
|
<if test="delFlag != null">del_flag = #{delFlag},</if>
|
</trim>
|
where message_id = #{messageId}
|
</update>
|
|
<delete id="deleteSysMessageByMessageId" parameterType="Long">
|
update sys_message set del_flag = '1' where message_id = #{messageId}
|
</delete>
|
|
<delete id="deleteSysMessageByMessageIds" parameterType="Long">
|
update sys_message set del_flag = '1' where message_id in
|
<foreach item="messageId" collection="array" open="(" separator="," close=")">
|
#{messageId}
|
</foreach>
|
</delete>
|
|
<update id="markMessageAsRead" parameterType="Long">
|
update sys_message
|
set is_read = '1', read_time = now()
|
where message_id = #{messageId} and del_flag = '0'
|
</update>
|
|
<update id="markAllMessagesAsRead" parameterType="Long">
|
update sys_message
|
set is_read = '1', read_time = now()
|
where receiver_id = #{receiverId} and is_read = '0' and del_flag = '0'
|
</update>
|
|
</mapper>
|