ApiGoodsGroupOpenDetailMapper.xml 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  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.kmall.api.dao.ApiGoodsGroupOpenDetailMapper">
  4. <resultMap type="com.kmall.api.entity.GoodsGroupOpenDetailVo" id="goodsGroupOpenDetailMap">
  5. <result property="id" column="id"/>
  6. <result property="open_id" column="open_id"/>
  7. <result property="user_id" column="user_id"/>
  8. <result property="attend_time" column="attend_time"/>
  9. <result property="attend_status" column="attend_status"/>
  10. <result property="avatar" column="avatar"/>
  11. <result property="nickname" column="nickname"/>
  12. <result property="open_time" column="open_time"/>
  13. <result property="end_time" column="end_time"/>
  14. <result property="attend_status" column="attend_status"/>
  15. <result property="attend_num" column="attend_num"/>
  16. <result property="title" column="title"/>
  17. <result property="item_pic_url" column="item_pic_url"/>
  18. <result property="abbr_pic_url" column="abbr_pic_url"/>
  19. <result property="market_price" column="market_price"/>
  20. <result property="goods_id" column="goods_id"/>
  21. <result property="subtitle" column="subtitle"/>
  22. <result property="retail_min_price" column="retail_min_price"/>
  23. <result property="min_open_group" column="min_open_group"/>
  24. <result property="order_price" column="order_price"/>
  25. <result property="goods_specification_name_value" column="goods_specification_name_value"/>
  26. <result property="open_attend_status" column="open_attend_status"/>
  27. <result property="retail_price" column="retail_price"/>
  28. <result property="number" column="number"/>
  29. <result property="group_id" column="group_id"/>
  30. <result property="order_id" column="order_id"/>
  31. <result property="actual_price" column="actual_price"/>
  32. </resultMap>
  33. <select id="queryObject" resultMap="goodsGroupOpenDetailMap">
  34. SELECT
  35. a.`id`,
  36. a.`open_id`,
  37. a.`user_id`,
  38. a.`attend_time`,
  39. a.`attend_status`,
  40. b.`group_id`,
  41. g.title,
  42. g.`item_pic_url`,
  43. g.`abbr_pic_url`,
  44. c.`market_price`,
  45. c.retail_price,
  46. o.order_price,
  47. o.actual_price,
  48. g.`goods_id`,
  49. g.`subtitle`,
  50. g.`min_open_group`,
  51. g.`retail_min_price`,
  52. b.`attend_status` AS open_attend_status,
  53. b.`attend_num`,
  54. b.`open_time`,
  55. b.`end_time`,
  56. og.goods_specification_name_value,
  57. og.number,
  58. o.id as order_id,
  59. d.avatar,
  60. d.nickname
  61. FROM
  62. mall_goods_group_open_detail a
  63. LEFT JOIN mall_goods_group_open b ON a.open_id = b.id
  64. LEFT JOIN mall_goods_group g ON g.id = b.group_id
  65. LEFT JOIN mall_goods c ON c.id = g.goods_id
  66. LEFT JOIN mall_user d ON d.id = a.user_id
  67. LEFT JOIN mall_order o ON o.activity_id = a.id and o.order_type = 2
  68. LEFT JOIN mall_order_goods og ON og.order_id = o.id
  69. where a.id = #{id}
  70. </select>
  71. <select id="queryList" resultMap="goodsGroupOpenDetailMap">
  72. SELECT
  73. a.`id`,
  74. a.`open_id`,
  75. a.`user_id`,
  76. a.`attend_time`,
  77. a.`attend_status`,
  78. b.`group_id`,
  79. g.title,
  80. g.`item_pic_url`,
  81. g.`abbr_pic_url`,
  82. c.`market_price`,
  83. c.retail_price,
  84. o.order_price,
  85. o.actual_price,
  86. g.`goods_id`,
  87. g.`subtitle`,
  88. g.`min_open_group`,
  89. g.`retail_min_price`,
  90. b.`attend_status` AS open_attend_status,
  91. b.`attend_num`,
  92. b.`open_time`,
  93. b.`end_time`,
  94. og.goods_specification_name_value,
  95. og.number,
  96. o.id as order_id,
  97. d.avatar,
  98. d.nickname
  99. FROM
  100. mall_goods_group_open_detail a
  101. LEFT JOIN mall_goods_group_open b ON a.open_id = b.id
  102. LEFT JOIN mall_goods_group g ON g.id = b.group_id
  103. LEFT JOIN mall_goods c ON c.id = g.goods_id
  104. LEFT JOIN mall_user d ON d.id = a.user_id
  105. LEFT JOIN mall_order o ON o.activity_id = a.id and o.order_type = 2
  106. LEFT JOIN mall_order_goods og ON og.order_id = o.id
  107. WHERE 1=1
  108. <if test="group_id != null">
  109. AND a.group_id = #{group_id}
  110. </if>
  111. <if test="open_id != null">
  112. AND a.open_id = #{open_id}
  113. </if>
  114. <if test="attend_status != null">
  115. AND a.attend_status = #{attend_status}
  116. </if>
  117. <if test="attend_statuss != null and attend_statuss.length > 0">
  118. and a.attend_status in
  119. <foreach item="item" collection="attend_statuss" open="(" separator="," close=")">
  120. #{item}
  121. </foreach>
  122. </if>
  123. <if test="user_id != null">
  124. AND a.user_id = #{user_id}
  125. </if>
  126. <choose>
  127. <when test="sidx != null and sidx.trim() != ''">
  128. order by ${sidx} ${order}
  129. </when>
  130. <otherwise>
  131. order by a.id desc
  132. </otherwise>
  133. </choose>
  134. <if test="offset != null and limit != null">
  135. limit #{offset}, #{limit}
  136. </if>
  137. </select>
  138. <select id="queryTotal" resultType="int">
  139. select count(*) from mall_goods_group_open_detail a
  140. WHERE 1=1
  141. <if test="open_id != null">
  142. AND a.open_id = #{open_id}
  143. </if>
  144. </select>
  145. <insert id="save" parameterType="com.kmall.api.entity.GoodsGroupOpenDetailVo" useGeneratedKeys="true" keyProperty="id">
  146. insert into mall_goods_group_open_detail(
  147. `open_id`,
  148. `user_id`,
  149. `attend_time`,
  150. `attend_status`)
  151. values(
  152. #{open_id},
  153. #{user_id},
  154. #{attend_time},
  155. #{attend_status})
  156. </insert>
  157. <update id="updateComplete">
  158. update mall_goods_group_open_detail
  159. set attend_status = 2
  160. where 1 = 1 and attend_status = 1
  161. AND open_id = #{open_id}
  162. </update>
  163. <update id="update" parameterType="com.kmall.api.entity.GoodsGroupOpenDetailVo">
  164. update mall_goods_group_open_detail
  165. <set>
  166. <if test="open_id != null">`open_id` = #{open_id},</if>
  167. <if test="user_id != null">`user_id` = #{user_id},</if>
  168. <if test="attend_time != null">`attend_time` = #{attend_time},</if>
  169. <if test="attend_status != null">`attend_status` = #{attend_status},</if>
  170. </set>
  171. where id = #{id}
  172. </update>
  173. </mapper>