ReviewCommentMapper.xml 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="shop.alien.mapper.ReviewCommentMapper">
  4. <!-- 评论列表查询结果映射 -->
  5. <resultMap id="ReviewCommentVoResultMap" type="shop.alien.entity.store.vo.ReviewCommentVo">
  6. <id column="id" property="id" />
  7. <result column="review_id" property="reviewId" />
  8. <result column="user_id" property="userId" />
  9. <result column="user_name" property="userName" />
  10. <result column="user_avatar" property="userAvatar" />
  11. <result column="comment_content" property="commentContent" />
  12. <result column="like_count" property="likeCount" />
  13. <result column="reply_count" property="replyCount" />
  14. <result column="is_liked" property="isLiked" />
  15. <result column="created_time" property="createdTime" />
  16. </resultMap>
  17. <!-- 根据评价ID查询评论列表(包含用户信息) -->
  18. <select id="getCommentListByReviewId" resultMap="ReviewCommentVoResultMap">
  19. SELECT
  20. rc.id,
  21. rc.review_id,
  22. rc.user_id,
  23. lu.user_name AS user_name,
  24. lu.user_image AS user_avatar,
  25. rc.comment_content,
  26. rc.like_count,
  27. rc.reply_count,
  28. CASE
  29. WHEN #{currentUserId} IS NOT NULL AND llr.id IS NOT NULL THEN 1
  30. ELSE 0
  31. END AS is_liked,
  32. rc.created_time
  33. FROM review_comment rc
  34. LEFT JOIN life_user lu ON lu.id = rc.user_id AND lu.delete_flag = 0
  35. LEFT JOIN life_like_record llr ON CONVERT(llr.huifu_id, CHAR) = CONVERT(rc.id, CHAR)
  36. AND llr.type = '8'
  37. AND CONVERT(llr.dianzan_id, CHAR) = CONVERT(#{currentUserId}, CHAR)
  38. AND llr.delete_flag = 0
  39. WHERE rc.delete_flag = 0
  40. AND rc.review_id = #{reviewId}
  41. ORDER BY rc.created_time DESC
  42. </select>
  43. <!-- 根据评价ID查询评论数量 -->
  44. <select id="getCommentCountByReviewId" resultType="java.lang.Integer">
  45. SELECT COUNT(*)
  46. FROM review_comment
  47. WHERE delete_flag = 0
  48. AND review_id = #{reviewId}
  49. </select>
  50. </mapper>