|
@@ -362,4 +362,149 @@
|
|
|
</if>
|
|
|
limit #{offset},#{limit}
|
|
|
</select>
|
|
|
+ <select id="getCommentListByUserId2" resultType="com.ruoyi.generator.vo.CommentVo">
|
|
|
+ SELECT
|
|
|
+ c.id,
|
|
|
+ c.joinId,
|
|
|
+ c.parentReplyId,
|
|
|
+ c.article_id,
|
|
|
+ c.user_id,
|
|
|
+ c.image_url,
|
|
|
+ c.type,
|
|
|
+ c.avatar,
|
|
|
+ c.nick_name,
|
|
|
+ c.create_time,
|
|
|
+ c.content,
|
|
|
+ c.is_read,
|
|
|
+ c.isLike
|
|
|
+ FROM (
|
|
|
+ SELECT
|
|
|
+ cac.id,
|
|
|
+ cac.id as joinId,
|
|
|
+ cac.id as parentReplyId,
|
|
|
+ cac.article_id,
|
|
|
+ (SELECT cai.image_url FROM community_article_images cai WHERE cac.article_id = cai.article_id AND (cai.is_delete IS NULL OR cai.is_delete != 1) ORDER BY cai.create_time DESC LIMIT 1) AS image_url,
|
|
|
+ '8' AS type,
|
|
|
+ su.avatar,
|
|
|
+ su.nick_name,
|
|
|
+ cac.user_id,
|
|
|
+ cac.create_time,
|
|
|
+ cac.content,
|
|
|
+ cac.is_read,
|
|
|
+ CASE WHEN EXISTS (SELECT 1 FROM community_comment_like cck WHERE cck.comment_id = cac.id AND cck.user_id = #{userId} ) THEN TRUE ELSE FALSE END AS isLike
|
|
|
+ FROM community_article ca
|
|
|
+ LEFT JOIN community_article_comment cac ON ca.id = cac.article_id
|
|
|
+ LEFT JOIN sys_user su ON cac.user_id = su.user_id
|
|
|
+ WHERE ca.user_id = #{userId}
|
|
|
+ AND cac.user_id != #{userId}
|
|
|
+ AND cac.id IS NOT NULL
|
|
|
+ AND (ca.is_delete IS NULL OR ca.is_delete != 1)
|
|
|
+ AND (cac.is_delete IS NULL OR cac.is_delete != 1)
|
|
|
+ AND (cac.is_notice != 1 or cac.is_notice is null)
|
|
|
+ AND cac.ID not in ( select comment_id from community_article_at caa where peer_id = #{userId})
|
|
|
+
|
|
|
+ UNION ALL
|
|
|
+
|
|
|
+ SELECT
|
|
|
+ ccr.id,
|
|
|
+ ccr.comment_id as joinId,
|
|
|
+ ccr.parent_reply_id as parentReplyId,
|
|
|
+ cac.article_id,
|
|
|
+ (SELECT cai.image_url FROM community_article_images cai WHERE cac.article_id = cai.article_id AND (cai.is_delete IS NULL OR cai.is_delete != 1) ORDER BY cai.create_time DESC LIMIT 1) AS image_url,
|
|
|
+ '9' AS type,
|
|
|
+ su.avatar,
|
|
|
+ su.nick_name,
|
|
|
+ ccr.user_id,
|
|
|
+ ccr.create_time,
|
|
|
+ ccr.content,
|
|
|
+ ccr.is_read,
|
|
|
+ CASE WHEN EXISTS (SELECT 1 FROM community_comment_like cck WHERE cck.reply_id = ccr.id AND cck.user_id = #{userId} ) THEN TRUE ELSE FALSE END AS isLike
|
|
|
+ FROM community_article_comment cac
|
|
|
+ LEFT JOIN community_comment_reply ccr ON cac.id = ccr.comment_id
|
|
|
+ LEFT JOIN sys_user su ON ccr.user_id = su.user_id
|
|
|
+ WHERE cac.user_id = #{userId}
|
|
|
+ AND ccr.user_id != #{userId}
|
|
|
+ AND ccr.id IS NOT NULL
|
|
|
+ AND (cac.is_delete IS NULL OR cac.is_delete != 1)
|
|
|
+ AND (ccr.is_delete IS NULL OR ccr.is_delete != 1)
|
|
|
+ AND (ccr.is_notice != 1 or ccr.is_notice is null)
|
|
|
+
|
|
|
+ UNION ALL
|
|
|
+
|
|
|
+ SELECT
|
|
|
+ caa.id,
|
|
|
+ caa.article_id as joinId,
|
|
|
+ null as parentReplyId,
|
|
|
+ caa.article_id,
|
|
|
+ (SELECT cai.image_url FROM community_article_images cai WHERE caa.article_id = cai.article_id AND (cai.is_delete IS NULL OR cai.is_delete != 1) ORDER BY cai.create_time DESC LIMIT 1) AS image_url,
|
|
|
+ '5' AS type,
|
|
|
+ su.avatar,
|
|
|
+ su.nick_name,
|
|
|
+ caa.peer_id as user_id,
|
|
|
+ caa.create_time,
|
|
|
+ NULL AS content,
|
|
|
+ caa.is_read,
|
|
|
+ CASE WHEN EXISTS (SELECT 1 FROM community_like cl WHERE cl.article_id = caa.article_id AND cl.user_id = #{userId}) THEN TRUE ELSE FALSE END AS isLike
|
|
|
+ FROM community_article_at caa
|
|
|
+ LEFT JOIN sys_user su ON caa.user_id = su.user_id
|
|
|
+ WHERE caa.type = 0
|
|
|
+ AND caa.peer_id = #{userId}
|
|
|
+ AND (caa.is_delete IS NULL OR caa.is_delete != 1)
|
|
|
+ AND (caa.is_notice != 1 or caa.is_notice is null)
|
|
|
+ UNION ALL
|
|
|
+
|
|
|
+ SELECT
|
|
|
+ caa.id,
|
|
|
+ cac.id as joinId,
|
|
|
+ cac.id as parentReplyId,
|
|
|
+ caa.article_id,
|
|
|
+ (SELECT cai.image_url FROM community_article_images cai WHERE caa.article_id = cai.article_id AND (cai.is_delete IS NULL OR cai.is_delete != 1) ORDER BY cai.create_time DESC LIMIT 1) AS image_url,
|
|
|
+ '6' AS type,
|
|
|
+ su.avatar,
|
|
|
+ su.nick_name,
|
|
|
+ caa.peer_id as user_id,
|
|
|
+ caa.create_time,
|
|
|
+ cac.content,
|
|
|
+ caa.is_read,
|
|
|
+ CASE WHEN EXISTS (SELECT 1 FROM community_comment_like cck WHERE cck.comment_id = cac.id AND cck.user_id = #{userId}) THEN TRUE ELSE FALSE END AS isLike
|
|
|
+ FROM community_article_at caa
|
|
|
+ LEFT JOIN community_article_comment cac ON caa.comment_id = cac.id
|
|
|
+ LEFT JOIN sys_user su ON caa.user_id = su.user_id
|
|
|
+ WHERE caa.type = 1
|
|
|
+ AND caa.peer_id = #{userId}
|
|
|
+ AND (caa.is_delete IS NULL OR caa.is_delete != 1)
|
|
|
+ AND (cac.is_delete IS NULL OR cac.is_delete != 1)
|
|
|
+ AND (caa.is_notice != 1 or caa.is_notice is null)
|
|
|
+ UNION ALL
|
|
|
+
|
|
|
+ SELECT
|
|
|
+ caa.id,
|
|
|
+ ccr.comment_id as joinId,
|
|
|
+ ccr.parent_reply_id as parentReplyId,
|
|
|
+ caa.article_id,
|
|
|
+ (SELECT cai.image_url FROM community_article_images cai WHERE caa.article_id = cai.article_id AND (cai.is_delete IS NULL OR cai.is_delete != 1) ORDER BY cai.create_time DESC LIMIT 1) AS image_url,
|
|
|
+ '7' AS type,
|
|
|
+ su.avatar,
|
|
|
+ su.nick_name,
|
|
|
+ caa.peer_id as user_id,
|
|
|
+ caa.create_time,
|
|
|
+ ccr.content,
|
|
|
+ caa.is_read,
|
|
|
+ CASE WHEN EXISTS (SELECT 1 FROM community_comment_like cck WHERE cck.reply_id = ccr.id AND cck.user_id = #{userId}) THEN TRUE ELSE FALSE END AS isLike
|
|
|
+ FROM community_article_at caa
|
|
|
+ LEFT JOIN community_comment_reply ccr ON caa.reply_id = ccr.id
|
|
|
+ LEFT JOIN sys_user su ON caa.user_id = su.user_id
|
|
|
+ WHERE caa.type = 2
|
|
|
+ AND caa.peer_id = #{userId}
|
|
|
+ AND (caa.is_delete IS NULL OR caa.is_delete != 1)
|
|
|
+ AND (ccr.is_delete IS NULL OR ccr.is_delete != 1)
|
|
|
+ AND (caa.is_notice != 1 or caa.is_notice is null)
|
|
|
+ ) c
|
|
|
+ <if test="searchType == 1">
|
|
|
+ order by c.create_time desc
|
|
|
+ </if>
|
|
|
+ <if test="searchType == 2">
|
|
|
+ order by c.create_time asc
|
|
|
+ </if>
|
|
|
+ </select>
|
|
|
</mapper>
|