(SELECT COUNT(id) FROM im_inbox WHERE fk_msg_id = msgId AND read_msg_status = 0) AS not_read_count,
(SELECT COUNT(id) FROM im_inbox WHERE fk_msg_id = msgId AND read_msg_status = 0) AS not_read_count,
(SELECT COUNT(id)
(SELECT COUNT(id)
FROM im_inbox
FROM im_inbox
WHERE fk_msg_id = msgId
WHERE fk_msg_id = msgId
AND receiver_msg_status = 0) AS not_receiver_count
AND receiver_msg_status = 0) AS not_receiver_count
FROM `im_message`
FROM `im_message`
INNER JOIN `im_client` ON `im_client`.id = `im_message`.sender
INNER JOIN `im_client` ON `im_client`.id = `im_message`.sender
WHERE fk_conversation_id = #{param.conversationId} and im_message.is_delete = 1 and im_message.withdraw = 0
WHERE fk_conversation_id = #{param.conversationId} and im_message.is_delete = 1 and im_message.withdraw = 0
and (im_message.`event`=0 || (im_message.`event`=1 and sender != #{param.currentFkClientId} and (receivers is null || (receivers !=null and FIND_IN_SET(#{param.currentFkClientId}, receivers))) ))
and (im_message.`event`=0 || (im_message.`event`=1 and sender != #{param.currentFkClientId} and (receivers is
null || (receivers !=null and FIND_IN_SET(#{param.currentFkClientId}, receivers))) ))
AND receiver_msg_status = 0) AS not_receiver_count
AND receiver_msg_status = 0) AS not_receiver_count
FROM `im_message`
FROM `im_message`
INNER JOIN `im_client` ON `im_client`.id = `im_message`.sender
INNER JOIN `im_client` ON `im_client`.id = `im_message`.sender
WHERE fk_conversation_id = #{param.conversationId} and im_message.is_delete = 1 and im_message.withdraw = 0
WHERE fk_conversation_id = #{param.conversationId} and im_message.is_delete = 1 and im_message.withdraw = 0
and (im_message.`event`=0 || (im_message.`event`=1 and sender != #{param.currentFkClientId} and (receivers is null || (receivers !=null and FIND_IN_SET(#{param.currentFkClientId}, receivers))) ))
and (im_message.`event`=0 || (im_message.`event`=1 and sender != #{param.currentFkClientId} and (receivers is
null || (receivers !=null and FIND_IN_SET(#{param.currentFkClientId}, receivers))) ))
<iftest="param.msgIdStart != null">
<iftest="param.msgIdStart != null">
AND im_message.id > #{param.msgIdStart}
AND im_message.id > #{param.msgIdStart}
</if>
</if>
...
@@ -137,14 +140,16 @@
...
@@ -137,14 +140,16 @@
im_message.`event`,
im_message.`event`,
im_message.system_flag,
im_message.system_flag,
im_message.`at`,
im_message.`at`,
im_message.`msg_type` AS 'type', im_message.send_status,
im_message.`msg_type` AS 'type',
im_message.send_status,
im_message.fk_conversation_id
im_message.fk_conversation_id
FROM im_inbox
FROM im_inbox
INNER JOIN im_message ON im_message.id = im_inbox.fk_msg_id
INNER JOIN im_message ON im_message.id = im_inbox.fk_msg_id
INNER JOIN im_client AS im_client ON im_client.id = im_message.sender
INNER JOIN im_client AS im_client ON im_client.id = im_message.sender
WHERE im_inbox.receiver = #{clientId}
WHERE im_inbox.receiver = #{clientId}
AND im_inbox.fk_conversation_id = #{conversationId}
AND im_inbox.fk_conversation_id = #{conversationId}
im_message.`msg_type` AS 'type', im_message.fk_conversation_id
im_message.`msg_type` AS 'type',
im_message.fk_conversation_id
FROM im_message
FROM im_message
INNER JOIN im_client AS im_client ON im_client.id = im_message.sender
INNER JOIN im_client AS im_client ON im_client.id = im_message.sender
WHERE im_message.fk_conversation_id = #{conversationId}
WHERE im_message.fk_conversation_id = #{conversationId}
and (im_message.`event`=0 || (im_message.`event`=1 and sender != #{currentFkClientId} and (receivers is null || (receivers !=null and FIND_IN_SET(#{currentFkClientId}, receivers))) ))
and (im_message.`event` = 0 || (im_message.`event` = 1 and sender != #{currentFkClientId} and
(receivers is null ||
(receivers != null and FIND_IN_SET(#{currentFkClientId}, receivers)))))