web聊天室数据同步修改

This commit is contained in:
2025-12-24 15:02:23 +08:00
parent 1fd26dcf1a
commit 898da3a2c6
16 changed files with 691 additions and 53 deletions

View File

@@ -35,6 +35,7 @@
<result column="guest_name" property="guestName" jdbcType="VARCHAR"/>
<result column="ai_session_id" property="aiSessionId" jdbcType="VARCHAR"/>
<result column="message_count" property="messageCount" jdbcType="INTEGER"/>
<result column="unread_count" property="unreadCount" jdbcType="INTEGER"/>
<result column="last_message_time" property="lastMessageTime" jdbcType="TIMESTAMP"/>
<result column="last_message" property="lastMessage" jdbcType="VARCHAR"/>
<result column="closed_by" property="closedBy" jdbcType="VARCHAR"/>
@@ -118,19 +119,24 @@
</select>
<select id="selectChatRoomPage" resultMap="VOResultMap">
SELECT <include refid="Base_Column_List"/>
FROM workcase.tb_chat_room
SELECT r.room_id, r.optsn, r.workcase_id, r.room_name, r.room_type, r.status,
r.guest_id, r.guest_name, r.ai_session_id, r.message_count,
r.last_message_time, r.last_message, r.closed_by, r.closed_time,
r.creator, r.create_time, r.update_time, r.delete_time, r.deleted,
COALESCE(m.unread_count, 0) as unread_count
FROM workcase.tb_chat_room r
LEFT JOIN workcase.tb_chat_room_member m ON r.room_id = m.room_id AND m.user_id = #{userId}
<where>
<if test="filter.roomId != null and filter.roomId != ''">AND room_id = #{filter.roomId}</if>
<if test="filter.workcaseId != null and filter.workcaseId != ''">AND workcase_id = #{filter.workcaseId}</if>
<if test="filter.roomName != null and filter.roomName != ''">AND room_name LIKE CONCAT('%', #{filter.roomName}, '%')</if>
<if test="filter.roomType != null and filter.roomType != ''">AND room_type = #{filter.roomType}</if>
<if test="filter.status != null and filter.status != ''">AND status = #{filter.status}</if>
<if test="filter.guestId != null and filter.guestId != ''">AND guest_id = #{filter.guestId}</if>
<if test="filter.guestName != null and filter.guestName != ''">AND guest_name LIKE CONCAT('%', #{filter.guestName}, '%')</if>
AND deleted = false
<if test="filter.roomId != null and filter.roomId != ''">AND r.room_id = #{filter.roomId}</if>
<if test="filter.workcaseId != null and filter.workcaseId != ''">AND r.workcase_id = #{filter.workcaseId}</if>
<if test="filter.roomName != null and filter.roomName != ''">AND r.room_name LIKE CONCAT('%', #{filter.roomName}, '%')</if>
<if test="filter.roomType != null and filter.roomType != ''">AND r.room_type = #{filter.roomType}</if>
<if test="filter.status != null and filter.status != ''">AND r.status = #{filter.status}</if>
<if test="filter.guestId != null and filter.guestId != ''">AND r.guest_id = #{filter.guestId}</if>
<if test="filter.guestName != null and filter.guestName != ''">AND r.guest_name LIKE CONCAT('%', #{filter.guestName}, '%')</if>
AND r.deleted = false
</where>
ORDER BY create_time DESC
ORDER BY r.create_time DESC
LIMIT #{pageParam.pageSize} OFFSET #{pageParam.offset}
</select>