CommentAppealMapper.xml 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  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.CommentAppealMapper">
  4. <!-- 通用查询映射结果 -->
  5. <resultMap id="BaseResultMap" type="shop.alien.entity.store.CommentAppeal">
  6. <id column="id" property="id" />
  7. <result column="comment_id" property="commentId" />
  8. <result column="comment_info" property="commentInfo" />
  9. <result column="appeal_reason" property="appealReason" />
  10. <result column="status" property="status" />
  11. <result column="delete_flag" property="deleteFlag" />
  12. <result column="created_time" property="createdTime" />
  13. <result column="created_user_id" property="createdUserId" />
  14. <result column="updated_time" property="updatedTime" />
  15. <result column="updated_user_id" property="updatedUserId" />
  16. <result column="appeal_time" property="appealTime" />
  17. <result column="order_id" property="orderId" />
  18. </resultMap>
  19. <!-- 申诉历史列表查询结果映射 -->
  20. <resultMap id="CommentAppealVoResultMap" type="shop.alien.entity.store.vo.CommentAppealVo">
  21. <id column="id" property="id" />
  22. <result column="comment_id" property="commentId" />
  23. <result column="comment_info" property="commentInfo" />
  24. <result column="appeal_reason" property="appealReason" />
  25. <result column="status" property="status" />
  26. <result column="appeal_time" property="appealTime" />
  27. <result column="appeal_review_time" property="appealReviewTime" />
  28. <result column="review_reasons" property="reviewReasons" />
  29. <result column="img_url" property="imgUrl" />
  30. <result column="created_time" property="createdTime" />
  31. <result column="created_user_id" property="createdUserId" />
  32. <result column="updated_time" property="updatedTime" />
  33. <result column="updated_user_id" property="updatedUserId" />
  34. <result column="audit_user_id" property="auditUserId" />
  35. <result column="appeal_number" property="appealNumber" />
  36. <!-- 评价相关信息 -->
  37. <result column="review_user_id" property="reviewUserId" />
  38. <result column="review_user_name" property="reviewUserName" />
  39. <result column="user_name" property="userName" />
  40. <result column="review_user_avatar" property="reviewUserAvatar" />
  41. <result column="overall_rating" property="overallRating" />
  42. <result column="service_attitude_rating" property="serviceAttitudeRating" />
  43. <result column="response_time_rating" property="responseTimeRating" />
  44. <result column="professional_ability_rating" property="professionalAbilityRating" />
  45. <result column="review_content" property="reviewContent" />
  46. <result column="review_time" property="reviewTime" />
  47. <result column="review_images" property="reviewImages" />
  48. <!-- 中台列表展示字段 -->
  49. <result column="order_number" property="orderNumber" />
  50. <result column="user_phone" property="userPhone" />
  51. <result column="lawyer_user_id" property="lawyerUserId" />
  52. <result column="lawyer_name" property="lawyerName" />
  53. <result column="lawyer_phone" property="lawyerPhone" />
  54. <result column="order_id" property="orderId" />
  55. </resultMap>
  56. <!-- 查询申诉历史列表(包含评价和用户信息) -->
  57. <select id="getAppealHistoryList" resultMap="CommentAppealVoResultMap">
  58. SELECT
  59. ca.id,
  60. ca.comment_id,
  61. ca.comment_info,
  62. ca.appeal_reason,
  63. ca.status,
  64. ca.appeal_time,
  65. ca.appeal_review_time,
  66. ca.review_reasons,
  67. ca.img_url,
  68. ca.created_time,
  69. ca.created_user_id,
  70. ca.updated_time,
  71. ca.updated_user_id,
  72. ca.updated_user_id AS audit_user_id,
  73. ca.order_id,
  74. orv.user_id AS review_user_id,
  75. lu.user_name,
  76. CASE
  77. WHEN orv.is_anonymous = 1 THEN NULL
  78. ELSE lu.user_image
  79. END AS review_user_avatar,
  80. orv.overall_rating,
  81. orv.service_attitude_rating,
  82. orv.response_time_rating,
  83. orv.professional_ability_rating,
  84. orv.review_content,
  85. orv.created_time AS review_time,
  86. orv.review_images
  87. FROM comment_appeals ca
  88. LEFT JOIN lawyer_order_review orv ON orv.id = ca.comment_id
  89. LEFT JOIN life_user lu ON lu.id = orv.user_id AND lu.delete_flag = 0
  90. WHERE ca.delete_flag = 0
  91. <if test="status != null">
  92. AND ca.status = #{status}
  93. </if>
  94. <if test="lawyerUserId != null">
  95. AND orv.lawyer_user_id = #{lawyerUserId}
  96. </if>
  97. ORDER BY ca.appeal_time DESC
  98. </select>
  99. <!-- 根据ID查询申诉详情(包含评价和用户信息) -->
  100. <select id="getAppealDetailById" resultMap="CommentAppealVoResultMap">
  101. SELECT
  102. ca.id,
  103. ca.comment_id,
  104. ca.comment_info,
  105. ca.appeal_reason,
  106. ca.status,
  107. ca.appeal_time,
  108. ca.appeal_review_time,
  109. ca.review_reasons,
  110. ca.img_url,
  111. ca.created_time,
  112. ca.created_user_id,
  113. ca.updated_time,
  114. ca.updated_user_id,
  115. ca.updated_user_id AS audit_user_id,
  116. ca.appeal_number,
  117. ca.order_id,
  118. orv.user_id AS review_user_id,
  119. lu.user_name AS review_user_name,
  120. CASE
  121. WHEN orv.is_anonymous = 1 THEN NULL
  122. ELSE lu.user_image
  123. END AS review_user_avatar,
  124. orv.overall_rating,
  125. orv.service_attitude_rating,
  126. orv.response_time_rating,
  127. orv.professional_ability_rating,
  128. orv.review_content,
  129. orv.created_time AS review_time,
  130. orv.review_images
  131. FROM comment_appeals ca
  132. LEFT JOIN lawyer_order_review orv ON orv.id = ca.comment_id
  133. LEFT JOIN life_user lu ON lu.id = orv.user_id AND lu.delete_flag = 0
  134. WHERE ca.delete_flag = 0
  135. AND ca.id = #{id}
  136. LIMIT 1
  137. </select>
  138. <!-- 分页查询申诉列表(中台使用,支持多条件筛选) -->
  139. <select id="getAppealPageWithFilters" resultMap="CommentAppealVoResultMap">
  140. SELECT
  141. ca.id,
  142. ca.comment_id,
  143. ca.comment_info,
  144. ca.appeal_reason,
  145. ca.status,
  146. ca.appeal_time,
  147. ca.appeal_review_time,
  148. ca.review_reasons,
  149. ca.img_url,
  150. ca.created_time,
  151. ca.created_user_id,
  152. ca.updated_time,
  153. ca.updated_user_id,
  154. ca.updated_user_id AS audit_user_id,
  155. ca.order_id,
  156. orv.order_number,
  157. orv.user_id AS review_user_id,
  158. CASE
  159. WHEN orv.is_anonymous = 1 THEN '匿名用户'
  160. ELSE lu.user_name
  161. END AS user_name,
  162. CASE
  163. WHEN orv.is_anonymous = 1 THEN NULL
  164. ELSE lu.user_image
  165. END AS review_user_avatar,
  166. lu.user_phone AS user_phone,
  167. orv.lawyer_user_id AS lawyer_user_id,
  168. lu2.name AS lawyer_name,
  169. lu2.phone AS lawyer_phone,
  170. orv.overall_rating,
  171. orv.service_attitude_rating,
  172. orv.response_time_rating,
  173. orv.professional_ability_rating,
  174. orv.review_content,
  175. orv.created_time AS review_time,
  176. orv.review_images
  177. FROM comment_appeals ca
  178. LEFT JOIN lawyer_order_review orv ON orv.id = ca.comment_id
  179. LEFT JOIN life_user lu ON lu.id = orv.user_id AND lu.delete_flag = 0
  180. LEFT JOIN lawyer_user lu2 ON lu2.id = orv.lawyer_user_id AND lu2.delete_flag = 0
  181. WHERE ca.delete_flag = 0
  182. <if test="status != null">
  183. AND ca.status = #{status}
  184. </if>
  185. <if test="orderNumber != null and orderNumber != ''">
  186. AND orv.order_number LIKE CONCAT('%', #{orderNumber}, '%')
  187. </if>
  188. <if test="userName != null and userName != ''">
  189. AND lu.user_name LIKE CONCAT('%', #{userName}, '%')
  190. </if>
  191. <if test="userPhone != null and userPhone != ''">
  192. AND lu.user_phone LIKE CONCAT('%', #{userPhone}, '%')
  193. </if>
  194. <if test="lawyerName != null and lawyerName != ''">
  195. AND lu2.name LIKE CONCAT('%', #{lawyerName}, '%')
  196. </if>
  197. <if test="lawyerPhone != null and lawyerPhone != ''">
  198. AND lu2.phone LIKE CONCAT('%', #{lawyerPhone}, '%')
  199. </if>
  200. <if test="startTime != null and startTime != ''">
  201. AND ca.appeal_time &gt;= #{startTime}
  202. </if>
  203. <if test="endTime != null and endTime != ''">
  204. AND ca.appeal_time &lt;= #{endTime}
  205. </if>
  206. ORDER BY ca.appeal_time DESC
  207. </select>
  208. </mapper>