<resultMap id="queryImMsgListMap" type="java.util.Map">
<id column="USER_CODE" property="USER_CODE"/>
<id column="OBJ_TYPE" property="OBJ_TYPE"/>
<id column="OBJ_ID" property="OBJ_ID"/>
<result column="GROUP_TYPE" property="GROUP_TYPE"/>
<result column="OBJ_NAME" property="OBJ_NAME"/>
<result column="ICP_CODE" property="ICP_CODE"/>
<result column="ICON" property="ICON"/>
<result column="FORM_TYPE" property="FORM_TYPE"/>
<result column="NO_READER_COUNT" property="NO_READER_COUNT"/>
<result column="LAST_UPDATE_TIME" property="LAST_UPDATE_TIME"/>
<association property="LAST_MESG" column="{userCode=USER_CODE,objType=OBJ_TYPE,objId=OBJ_ID}" javaType="java.util.Map" select="queryImLastMsgByOption" />
</resultMap>
<select id="queryImLastMsgByOption" resultType="java.util.Map" parameterType="java.util.HashMap" >
select * from t_icp_im_message where
RECEIVE_TYPE = #{objType} and
(
SEND_USER = #{userCode} and RECEIVE_OBJ=#{objId}
or SEND_USER = #{objId} and RECEIVE_OBJ=#{userCode}
)
order by MESSAGE_ID desc limit 1
</select>