ReviewCommentMapper.xml 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  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="send_user_id" property="sendUserId" />
  9. <result column="receive_user_id" property="receiveUserId" />
  10. <result column="user_name" property="sendUserName" />
  11. <result column="user_avatar" property="userAvatar" />
  12. <result column="receive_user_name" property="receiveUserName" />
  13. <result column="send_user_type" property="sendUserType" />
  14. <result column="receive_user_type" property="receiveUserType" />
  15. <result column="comment_content" property="commentContent" />
  16. <result column="like_count" property="likeCount" />
  17. <result column="reply_count" property="replyCount" />
  18. <result column="head_type" property="headType" />
  19. <result column="head_id" property="headId" />
  20. <result column="is_liked" property="isLiked" />
  21. <result column="created_time" property="createdTime" />
  22. </resultMap>
  23. <!-- 根据评价ID查询评论列表(包含用户信息) -->
  24. <select id="getCommentListByReviewId" resultMap="ReviewCommentVoResultMap">
  25. SELECT
  26. rc.id,
  27. rc.review_id,
  28. rc.send_user_id,
  29. rc.receive_user_id,
  30. lu.user_name AS user_name,
  31. lu.user_image AS user_avatar,
  32. lu2.user_name AS receive_user_name,
  33. rc.send_user_type,
  34. rc.receive_user_type,
  35. rc.comment_content,
  36. rc.like_count,
  37. rc.reply_count,
  38. rc.head_type,
  39. rc.head_id,
  40. CASE
  41. WHEN #{currentUserId} IS NOT NULL AND llr.id IS NOT NULL THEN 1
  42. ELSE 0
  43. END AS is_liked,
  44. rc.created_time
  45. FROM lawyer_review_comment rc
  46. LEFT JOIN life_user lu ON lu.id = rc.send_user_id AND lu.delete_flag = 0
  47. LEFT JOIN life_user lu2 ON lu2.id = rc.receive_user_id AND lu2.delete_flag = 0
  48. LEFT JOIN life_like_record llr ON CONVERT(llr.huifu_id, CHAR) = CONVERT(rc.id, CHAR)
  49. AND llr.type = '8'
  50. AND CONVERT(llr.dianzan_id, CHAR) = CONVERT(#{currentUserId}, CHAR)
  51. AND llr.delete_flag = 0
  52. WHERE rc.delete_flag = 0
  53. AND rc.review_id = #{reviewId}
  54. AND rc.head_type = 0
  55. ORDER BY rc.created_time DESC
  56. </select>
  57. <!-- 根据首评ID查询回复列表(包含用户信息) -->
  58. <select id="getReplyListByHeadId" resultMap="ReviewCommentVoResultMap">
  59. SELECT
  60. rc.id,
  61. rc.review_id,
  62. rc.send_user_id,
  63. rc.receive_user_id,
  64. lu.user_name AS user_name,
  65. lu.user_image AS user_avatar,
  66. lu2.user_name AS receive_user_name,
  67. rc.send_user_type,
  68. rc.receive_user_type,
  69. rc.comment_content,
  70. rc.like_count,
  71. rc.reply_count,
  72. rc.head_type,
  73. rc.head_id,
  74. CASE
  75. WHEN #{currentUserId} IS NOT NULL AND llr.id IS NOT NULL THEN 1
  76. ELSE 0
  77. END AS is_liked,
  78. rc.created_time
  79. FROM lawyer_review_comment rc
  80. LEFT JOIN life_user lu ON lu.id = rc.send_user_id AND lu.delete_flag = 0
  81. LEFT JOIN life_user lu2 ON lu2.id = rc.receive_user_id AND lu2.delete_flag = 0
  82. LEFT JOIN life_like_record llr ON CONVERT(llr.huifu_id, CHAR) = CONVERT(rc.id, CHAR)
  83. AND llr.type = '8'
  84. AND CONVERT(llr.dianzan_id, CHAR) = CONVERT(#{currentUserId}, CHAR)
  85. AND llr.delete_flag = 0
  86. WHERE rc.delete_flag = 0
  87. AND rc.head_id = #{headId}
  88. AND rc.head_type = 1
  89. ORDER BY rc.created_time ASC
  90. </select>
  91. <!-- 根据评价ID查询评论数量(只统计首评论) -->
  92. <select id="getCommentCountByReviewId" resultType="java.lang.Integer">
  93. SELECT COUNT(*)
  94. FROM lawyer_review_comment
  95. WHERE delete_flag = 0
  96. AND review_id = #{reviewId}
  97. AND head_type = 0
  98. </select>
  99. <!-- 根据评价ID查询总评论数量(包括首评论和子评论) -->
  100. <select id="getTotalCommentCountByReviewId" resultType="java.lang.Integer">
  101. SELECT COUNT(*)
  102. FROM lawyer_review_comment
  103. WHERE delete_flag = 0
  104. AND review_id = #{reviewId}
  105. </select>
  106. </mapper>