ProdCommMapper.xml 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  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="com.yami.shop.dao.ProdCommMapper">
  4. <resultMap id="BaseResultMap" type="com.yami.shop.bean.model.ProdComm">
  5. <id column="prod_comm_id" jdbcType="BIGINT" property="prodCommId"/>
  6. <result property="prodId" column="prod_id"/>
  7. <result property="orderItemId" column="order_item_id"/>
  8. <result property="userId" column="user_id"/>
  9. <result property="content" column="content"/>
  10. <result property="replyContent" column="reply_content"/>
  11. <result property="recTime" column="rec_time"/>
  12. <result property="replyTime" column="reply_time"/>
  13. <result property="replySts" column="reply_sts"/>
  14. <result property="postip" column="postip"/>
  15. <result property="score" column="score"/>
  16. <result property="usefulCounts" column="useful_counts"/>
  17. <result property="pics" column="pics"/>
  18. <result property="isAnonymous" column="is_anonymous"/>
  19. <result property="status" column="status"/>
  20. <result property="evaluate" column="evaluate"/>
  21. </resultMap>
  22. <select id="getProdCommDataByProdId" resultType="com.yami.shop.bean.app.dto.ProdCommDataDto">
  23. SELECT count(1) AS number,
  24. count(CASE WHEN evaluate = 0 THEN 1 ELSE null END) AS praise_number,
  25. count(CASE WHEN evaluate = 1 THEN 1 ELSE null END) AS secondary_number,
  26. count(CASE WHEN evaluate = 2 THEN 1 ELSE null END) AS negative_number,
  27. count(CASE WHEN score = 1 THEN 1 ELSE null END) AS scoreNumber1,
  28. count(CASE WHEN score = 2 THEN 1 ELSE null END) AS scoreNumber2,
  29. count(CASE WHEN score = 3 THEN 1 ELSE null END) AS scoreNumber3,
  30. count(CASE WHEN score = 4 THEN 1 ELSE null END) AS scoreNumber4,
  31. count(CASE WHEN score = 5 THEN 1 ELSE null END) AS scoreNumber5,
  32. count(CASE WHEN pics is not null THEN 1 ELSE null END) AS pic_number
  33. FROM tz_prod_comm
  34. WHERE prod_id = #{prodId}
  35. and (status = 1)
  36. </select>
  37. <sql id="ProdCommDto_SQL">
  38. pc.prod_comm_id,
  39. pc.reply_content,
  40. pc.rec_time,
  41. pc.score,
  42. pc.is_anonymous,
  43. pc.pics,
  44. pc.user_id,
  45. pc.reply_sts,
  46. pc.evaluate,
  47. pc.content,
  48. u.nick_name,
  49. u.pic
  50. </sql>
  51. <resultMap id="ProdCommDto" type="com.yami.shop.bean.app.dto.ProdCommDto">
  52. <id column="prod_comm_id" jdbcType="BIGINT" property="prodCommId"/>
  53. <result column="reply_content" jdbcType="VARCHAR" property="replyContent"/>
  54. <result column="rec_time" jdbcType="TIMESTAMP" property="recTime"/>
  55. <result column="reply_time" jdbcType="TIMESTAMP" property="replyTime"/>
  56. <result column="score" jdbcType="TINYINT" property="score"/>
  57. <result column="is_anonymous" jdbcType="INTEGER" property="isAnonymous"/>
  58. <result column="pics" jdbcType="VARCHAR" property="pics"/>
  59. <result column="nick_name" jdbcType="VARCHAR" property="nickName"/>
  60. <result column="pic" jdbcType="VARCHAR" property="pic"/>
  61. <result column="reply_sts" jdbcType="VARCHAR" property="replySts"/>
  62. <result property="evaluate" jdbcType="TINYINT" column="evaluate"/>
  63. <result property="content" jdbcType="VARCHAR" column="content"/>
  64. </resultMap>
  65. <select id="getProdCommDtoPageByProdId" resultMap="ProdCommDto">
  66. select
  67. <include refid="ProdCommDto_SQL"/>
  68. from
  69. tz_prod_comm pc
  70. left join tz_user u on u.user_id=pc.user_id
  71. where pc.prod_id = #{prodId} and (pc.status = 1)
  72. <if test="evaluate != -1 and evaluate != 3">
  73. and pc.evaluate = #{evaluate}
  74. </if>
  75. <if test="evaluate == 3">
  76. and pc.pics is not null
  77. </if>
  78. </select>
  79. <select id="getProdCommDtoPageByUserId" resultMap="ProdCommDto">
  80. select
  81. <include refid="ProdCommDto_SQL"/>
  82. from
  83. tz_prod_comm pc
  84. left join tz_user u on u.user_id=pc.user_id
  85. where pc.user_id = #{userId} and pc.status = 1
  86. </select>
  87. <!--评论管理-->
  88. <resultMap id="ProdComm_Prod_User" type="com.yami.shop.bean.model.ProdComm">
  89. <id column="prod_comm_id" jdbcType="BIGINT" property="prodCommId"/>
  90. <result property="prodId" column="prod_id"/>
  91. <result property="orderItemId" column="order_item_id"/>
  92. <result property="userId" column="user_id"/>
  93. <result property="content" column="content"/>
  94. <result property="replyContent" column="reply_content"/>
  95. <result property="recTime" column="rec_time"/>
  96. <result property="replyTime" column="reply_time"/>
  97. <result property="replySts" column="reply_sts"/>
  98. <result property="postip" column="postip"/>
  99. <result property="score" column="score"/>
  100. <result property="usefulCounts" column="useful_counts"/>
  101. <result property="pics" column="pics"/>
  102. <result property="isAnonymous" column="is_anonymous"/>
  103. <result property="status" column="status"/>
  104. <result property="prodName" column="prod_name"/>
  105. <result property="evaluate" column="evaluate"/>
  106. <association property="user" javaType="com.yami.shop.bean.vo.UserVO">
  107. <id column="user_id" jdbcType="VARCHAR" property="userId"/>
  108. <result column="nick_name" jdbcType="VARCHAR" property="nickName"/>
  109. <result column="user_mobile" jdbcType="VARCHAR" property="userMobile"/>
  110. </association>
  111. </resultMap>
  112. <select id="getProdCommPage" resultMap="ProdComm_Prod_User">
  113. select
  114. pc.prod_comm_id,
  115. pc.score,
  116. pc.is_anonymous,
  117. pc.status,
  118. pc.rec_time,
  119. pc.reply_time,
  120. pc.evaluate,
  121. u.nick_name,
  122. u.user_mobile,
  123. p.prod_name
  124. from
  125. tz_prod_comm pc
  126. left join tz_prod p on p.prod_id=pc.prod_id
  127. left join tz_user u on pc.user_id=u.user_id
  128. <where>
  129. <if test="prodComm.status!=null">
  130. and pc.status=#{prodComm.status}
  131. </if>
  132. <if test="prodComm.status!=null">
  133. and pc.status=#{prodComm.status}
  134. </if>
  135. <if test="shopId!=null">
  136. and p.shop_id=#{shopId}
  137. </if>
  138. <if test="prodComm.prodName!=null and prodComm.prodName!= ''">
  139. and p.prod_name like concat('%',#{prodComm.prodName},'%')
  140. </if>
  141. </where>
  142. order by pc.prod_comm_id desc
  143. </select>
  144. </mapper>