2024-10-30 15:07:53 +08:00
|
|
|
<?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="cn.bunny.services.mapper.MessageMapper">
|
|
|
|
|
|
|
|
<!-- 通用查询映射结果 -->
|
|
|
|
<resultMap id="BaseResultMap" type="cn.bunny.dao.entity.system.Message">
|
|
|
|
<id column="id" property="id"/>
|
2024-10-30 16:56:30 +08:00
|
|
|
<id column="create_time" property="createTime"/>
|
|
|
|
<id column="update_time" property="updateTime"/>
|
|
|
|
<id column="create_user" property="createUser"/>
|
|
|
|
<id column="update_user" property="updateUser"/>
|
|
|
|
<id column="is_deleted" property="isDeleted"/>
|
|
|
|
<id column="title" property="title"/>
|
|
|
|
<id column="send_user_id" property="sendUserId"/>
|
|
|
|
<id column="message_type" property="messageType"/>
|
|
|
|
<id column="content" property="content"/>
|
2024-10-31 16:58:50 +08:00
|
|
|
<id column="cover" property="cover"/>
|
|
|
|
<id column="summary" property="summary"/>
|
2024-10-30 16:56:30 +08:00
|
|
|
<id column="editor_type" property="editorType"/>
|
2024-11-01 00:09:11 +08:00
|
|
|
<id column="level" property="level"/>
|
|
|
|
<id column="extra" property="extra"/>
|
2024-10-30 15:07:53 +08:00
|
|
|
</resultMap>
|
|
|
|
|
|
|
|
<!-- 通用查询结果列 -->
|
|
|
|
<sql id="Base_Column_List">
|
2024-11-03 18:56:38 +08:00
|
|
|
id, create_time, update_time, create_user, update_user, is_deleted, title, send_user_id, message_type, content, cover, summary, editor_type, level,extra
|
2024-10-30 15:07:53 +08:00
|
|
|
</sql>
|
|
|
|
|
2024-11-04 01:10:47 +08:00
|
|
|
<!-- 分页查询发送消息 -->
|
|
|
|
<select id="selectListByPage" resultType="cn.bunny.dao.vo.system.message.MessageReceivedWithMessageVo">
|
2024-11-03 18:56:38 +08:00
|
|
|
SELECT
|
|
|
|
message.id,
|
2024-11-04 01:10:47 +08:00
|
|
|
message.create_time,
|
|
|
|
message.update_time,
|
|
|
|
message.create_user,
|
|
|
|
message.update_user,
|
|
|
|
message.is_deleted,
|
2024-11-03 18:56:38 +08:00
|
|
|
message.title,
|
2024-11-04 01:10:47 +08:00
|
|
|
message.send_user_id,
|
|
|
|
message.content,
|
2024-11-03 18:56:38 +08:00
|
|
|
message.cover,
|
|
|
|
message.summary,
|
2024-11-04 01:10:47 +08:00
|
|
|
message.editor_type,
|
2024-11-03 18:56:38 +08:00
|
|
|
message.level,
|
|
|
|
message.extra,
|
2024-11-04 01:29:04 +08:00
|
|
|
send_user.nickname AS send_nickname,
|
|
|
|
create_user.username AS create_username,
|
|
|
|
update_user.username AS update_username,
|
2024-11-04 01:10:47 +08:00
|
|
|
message_type.message_name AS message_type,
|
|
|
|
message_type.id AS message_type_id,
|
2024-11-04 01:29:04 +08:00
|
|
|
message_received.received_user_id AS received_user_id,
|
|
|
|
message_received.id AS message_received_id,
|
|
|
|
received_user.nickname received_user_nickname
|
2024-11-03 18:56:38 +08:00
|
|
|
FROM sys_message message
|
2024-11-04 01:29:04 +08:00
|
|
|
LEFT JOIN sys_user create_user ON create_user.id = message.create_user
|
|
|
|
LEFT JOIN sys_user update_user ON update_user.id = message.update_user
|
|
|
|
LEFT JOIN sys_user send_user ON send_user.id = message.send_user_id
|
2024-11-03 18:56:38 +08:00
|
|
|
LEFT JOIN sys_message_type message_type ON message_type.id = message.message_type
|
2024-11-04 01:29:04 +08:00
|
|
|
LEFT JOIN sys_message_received message_received ON message.id = message_received.message_id
|
2024-11-04 01:10:47 +08:00
|
|
|
LEFT JOIN sys_user received_user ON received_user.id = message_received.received_user_id
|
2024-11-01 16:40:45 +08:00
|
|
|
<where>
|
2024-11-02 17:03:38 +08:00
|
|
|
message.is_deleted = 0
|
2024-11-04 01:10:47 +08:00
|
|
|
<if test="dto.title != null and dto.title != ''">
|
|
|
|
and message.title like CONCAT('%',#{dto.title},'%')
|
|
|
|
</if>
|
|
|
|
<if test="dto.sendNickname != null and dto.sendNickname != ''">
|
|
|
|
and send_user.nickname like CONCAT('%',#{dto.sendNickname},'%')
|
2024-11-01 16:40:45 +08:00
|
|
|
</if>
|
|
|
|
<if test="dto.messageType != null and dto.messageType != ''">
|
2024-11-03 18:56:38 +08:00
|
|
|
and message_type.message_type = #{dto.messageType}
|
2024-11-02 17:03:38 +08:00
|
|
|
</if>
|
2024-11-04 01:10:47 +08:00
|
|
|
<if test="dto.editorType != null and dto.editorType != ''">
|
|
|
|
and message.editor_type = #{dto.editorType}
|
|
|
|
</if>
|
|
|
|
<if test="dto.level != null and dto.level != ''">
|
|
|
|
and message.level = #{dto.level}
|
|
|
|
</if>
|
|
|
|
<if test="dto.extra != null and dto.extra != ''">
|
|
|
|
and message.extra like CONCAT('%',#{dto.extra},'%')
|
2024-11-01 16:40:45 +08:00
|
|
|
</if>
|
|
|
|
</where>
|
2024-11-01 00:09:11 +08:00
|
|
|
</select>
|
|
|
|
|
2024-11-01 16:40:45 +08:00
|
|
|
<!-- 根据消息id查询消息详情 -->
|
2024-11-04 01:10:47 +08:00
|
|
|
<select id="selectMessageVoById" resultType="cn.bunny.dao.vo.system.message.MessageDetailVo">
|
2024-11-01 16:40:45 +08:00
|
|
|
SELECT message.*,
|
|
|
|
send_user.nickname AS send_nickname
|
|
|
|
FROM sys_message message
|
|
|
|
LEFT JOIN sys_user update_user ON update_user.id = message.update_user
|
|
|
|
LEFT JOIN sys_user send_user ON send_user.id = message.send_user_id
|
|
|
|
WHERE message.id = #{id}
|
2024-11-02 17:03:38 +08:00
|
|
|
and message.is_deleted = 0
|
2024-11-01 16:40:45 +08:00
|
|
|
</select>
|
2024-11-01 00:09:11 +08:00
|
|
|
|
2024-10-30 16:56:30 +08:00
|
|
|
<!-- 物理删除系统消息 -->
|
|
|
|
<delete id="deleteBatchIdsWithPhysics">
|
|
|
|
delete
|
|
|
|
from sys_message
|
2024-11-02 17:03:38 +08:00
|
|
|
where is_deleted=0 and id in
|
2024-10-30 16:56:30 +08:00
|
|
|
<foreach collection="ids" item="id" open="(" close=")" separator=",">
|
|
|
|
#{id}
|
|
|
|
</foreach>
|
|
|
|
</delete>
|
|
|
|
|
2024-11-04 01:10:47 +08:00
|
|
|
<!-- 根据消息id获取接收人信息 -->
|
|
|
|
<select id="selectUserinfoListByMessageId"
|
|
|
|
resultType="cn.bunny.dao.vo.system.message.MessageReceivedWithUserVo">
|
|
|
|
SELECT message_received.message_id,
|
|
|
|
message_received.received_user_id,
|
|
|
|
USER.nickname,
|
|
|
|
USER.username
|
|
|
|
FROM sys_message_received message_received
|
|
|
|
LEFT JOIN sys_user user ON user.id = message_received.received_user_id
|
|
|
|
where message_received.message_id = #{messageId}
|
|
|
|
</select>
|
|
|
|
|
2024-10-30 15:07:53 +08:00
|
|
|
</mapper>
|