couponItemMapper.xml 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256
  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. <!-- 命名,每一个映射对象不一样
  4. namespace:必须与对应的接口全类名一致
  5. -->
  6. <mapper namespace="com.iamberry.wechat.service.mapper.CouponItemMapper">
  7. <sql id="allField">
  8. CI.COUPON_ITEM_ID couponItemId,
  9. CI.COUPON_ID couponId,
  10. CI.COUPON_ITEM_USER_OPENID useropenid,
  11. CI.COUPON_USE_END_DATE couponUseEndDate,
  12. CI.COUPON_RECEIVE_DATE couponReceiveDate,
  13. CI.COUPON_USE_STATUS couponUseStatus,
  14. CI.COUPON_USE_DATE couponUseDate,
  15. CI.COUPON_ITEM_REMARK couponItemRemark,
  16. CI.coupon_item_current_user_openid couponItemCurrentUserOpenid,
  17. CT.coupon_is_new_people couponIsNewPeople,
  18. CT.coupon_is_give couponIsGive,
  19. CT.COUPON_NAME couponName,
  20. CT.coupon_type couponType,
  21. CT.COUPON_REDUCE couponReduce,
  22. CT.COUPON_IS_PURCHASE,
  23. CT.COUPON_CONSUME_ENOUGH couponConsumeEnough,
  24. CT.coupon_toothbrush_enough couponToothbrushEnough
  25. </sql>
  26. <!-- 查询优惠券详情列表 分页 -->
  27. <select id="getCouponItemDtoList" resultType="CouponItemDto" parameterType="CouponItemDto">
  28. SELECT
  29. <include refid="allField"></include>,
  30. CT.COUPON_TYPE couponType
  31. FROM TB_IAMBERRY_COUPON_ITEM CI
  32. JOIN TB_IAMBERRY_COUPON_TYPE CT ON CI.COUPON_ID=CT.COUPON_ID
  33. <where>
  34. <if test="couponId != null and couponId != ''">
  35. AND CI.COUPON_ID=#{couponId}
  36. </if>
  37. <if test="useropenid != null and useropenid != ''">
  38. AND CI.COUPON_ITEM_USER_OPENID=#{useropenid}
  39. </if>
  40. <!-- couponReduce 是将状态是7的优惠券 属于已使用的优惠券-->
  41. <if test="couponUseStatus != null and couponUseStatus != ''">
  42. AND CI.COUPON_USE_STATUS IN (#{couponUseStatus},#{couponReduce})
  43. </if>
  44. <if test="beginDate != null and beginDate != ''">
  45. AND date_format(CI.COUPON_USE_END_DATE,'%Y-%m-%d') >= date_format(#{beginDate},'%Y-%m-%d')
  46. </if>
  47. <if test="endDate != null and endDate != ''">
  48. AND CI.COUPON_USE_END_DATE<![CDATA[<]]>#{endDate}
  49. </if>
  50. <!-- 查已过期的优惠券时需去掉已经使用的优惠券 -->
  51. <if test="couponItemRemark != null and couponItemRemark != ''">
  52. AND CI.COUPON_USE_STATUS != 2
  53. </if>
  54. <if test="couponIsNewPeople != null and couponIsNewPeople != ''">
  55. AND CT.coupon_is_new_people = #{couponIsNewPeople}
  56. </if>
  57. </where>
  58. ORDER BY CI.COUPON_RECEIVE_DATE DESC
  59. <if test="page!=null and page.recordBegin>0 and page.pageSize>0 ">
  60. LIMIT ${page.recordBegin},${page.pageSize}
  61. </if>
  62. <if test="page!=null and page.recordBegin==0 and page.pageSize>0 ">
  63. LIMIT ${page.pageSize}
  64. </if>
  65. </select>
  66. <!-- 查询优惠券详情总数 -->
  67. <select id="getCouponItemCount" resultType="Integer" parameterType="CouponItemDto">
  68. SELECT COUNT(COUPON_ITEM_ID) FROM TB_IAMBERRY_COUPON_ITEM
  69. <where>
  70. <if test="couponId != null and couponId != ''">
  71. COUPON_ID=#{couponId}
  72. </if>
  73. <if test="useropenid != null and useropenid != ''">
  74. AND COUPON_ITEM_USER_OPENID=#{useropenid}
  75. </if>
  76. <if test="couponUseStatus != null and couponUseStatus != ''">
  77. AND COUPON_USE_STATUS=#{couponUseStatus}
  78. </if>
  79. <if test="beginDate != null and beginDate != ''">
  80. AND COUPON_USE_END_DATE<![CDATA[>]]>#{beginDate}
  81. </if>
  82. <if test="endDate != null and endDate != ''">
  83. AND COUPON_USE_END_DATE<![CDATA[<]]>#{endDate}
  84. </if>
  85. </where>
  86. </select>
  87. <!--查询待用的优惠卷-->
  88. <select id="getStandByCoupon" resultType="CouponItem">
  89. SELECT CT.COUPON_NAME,CI.COUPON_USE_END_DATE ,CI.COUPON_RECEIVE_DATE
  90. FROM TB_IAMBERRY_COUPON_ITEM CI
  91. LEFT JOIN TB_IAMBERRY_COUPON_TYPE CT
  92. ON CI.COUPON_ID=CT.COUPON_ID
  93. WHERE CI.ITEM_CURRENT_USER_OPENID=#{openid} AND CI.COUPON_USE_STATUS=1
  94. ORDER BY CI.COUPON_ITEM_ID
  95. </select>
  96. <!--查询已使用的优惠卷-->
  97. <select id="getUseCoupon" resultType="CouponItem">
  98. SELECT CT.COUPON_NAME,CI.COUPON_USE_END_DATE ,CI.COUPON_RECEIVE_DATE
  99. FROM TB_IAMBERRY_COUPON_ITEM CI
  100. LEFT JOIN TB_IAMBERRY_COUPON_TYPE CT
  101. ON CI.COUPON_ID=CT.COUPON_ID
  102. WHERE CI.ITEM_CURRENT_USER_OPENID=#{openid} AND CI.COUPON_USE_STATUS=2
  103. ORDER BY CI.COUPON_ITEM_ID
  104. </select>
  105. <!--查询全部的优惠券-->
  106. <!-- 添加一张优惠券 -->
  107. <insert id="insertCouponItem" parameterType="CouponItem"
  108. useGeneratedKeys="true" keyProperty="couponItemId">
  109. INSERT INTO TB_IAMBERRY_COUPON_ITEM
  110. (
  111. COUPON_ITEM_ID ,
  112. COUPON_ID ,
  113. COUPON_ITEM_USER_OPENID ,
  114. COUPON_ITEM_CURRENT_USER_OPENID,
  115. COUPON_USE_END_DATE ,
  116. COUPON_RECEIVE_DATE ,
  117. COUPON_USE_STATUS ,
  118. COUPON_IS_DONATION ,
  119. COUPON_USE_DATE ,
  120. COUPON_ITEM_REMARK
  121. )
  122. VALUES
  123. (
  124. #{couponItemId},#{couponId},#{couponItemUseropenid},#{couponItemCurrentUserOpenid},#{couponUseEndDate},
  125. NOW(),#{couponUseStatus},#{couponIsDonation},#{couponUseDate},#{couponItemRemark}
  126. )
  127. </insert>
  128. <select id="getCouponItemById" resultType="CouponItemDto" parameterType="String">
  129. SELECT
  130. <include refid="allField"></include>
  131. FROM TB_IAMBERRY_COUPON_ITEM CI
  132. JOIN TB_IAMBERRY_COUPON_TYPE CT ON CI.COUPON_ID=CT.COUPON_ID
  133. WHERE CI.COUPON_ITEM_ID=#{couponItemId}
  134. </select>
  135. <!-- 根据id修改 -->
  136. <update id="updateCouponItemById" parameterType="CouponItem">
  137. UPDATE TB_IAMBERRY_COUPON_ITEM
  138. <set>
  139. <if test="couponUseEndDate!=null and couponUseEndDate!=''">
  140. COUPON_USE_END_DATE=#{couponUseEndDate},
  141. </if>
  142. <if test="couponUseStatus!=null and couponUseStatus!=''">
  143. COUPON_USE_STATUS=#{couponUseStatus},
  144. </if>
  145. <if test="couponUseDate!=null and couponUseDate!=''">
  146. COUPON_USE_DATE=#{couponUseDate},
  147. </if>
  148. <if test="couponItemRemark!=null and couponItemRemark!=''">
  149. COUPON_ITEM_REMARK=#{couponItemRemark},
  150. </if>
  151. </set>
  152. WHERE COUPON_ITEM_ID=#{couponItemId}
  153. <if test="couponItemUseropenid!=null and couponItemUseropenid!=''">
  154. AND COUPON_ITEM_USER_OPENID=#{couponItemUseropenid}
  155. </if>
  156. <if test="oldCouponUseStatus!=null and oldCouponUseStatus!=''">
  157. AND COUPON_USE_STATUS=#{oldCouponUseStatus}
  158. </if>
  159. </update>
  160. <update id="updateCouponItemList" parameterType="java.util.List">
  161. <foreach collection="list" item="item" index="index" separator=";" open="" close="">
  162. UPDATE TB_IAMBERRY_COUPON_ITEM
  163. <set>
  164. <if test="item.couponUseEndDate!=null and item.couponUseEndDate!=''">
  165. COUPON_USE_END_DATE=#{item.couponUseEndDate},
  166. </if>
  167. <if test="item.couponUseStatus!=null and item.couponUseStatus!=''">
  168. COUPON_USE_STATUS=#{item.couponUseStatus},
  169. </if>
  170. <if test="item.couponUseDate!=null and item.couponUseDate!=''">
  171. COUPON_USE_DATE=#{item.couponUseDate},
  172. </if>
  173. <if test="item.couponItemRemark!=null and item.couponItemRemark!=''">
  174. COUPON_ITEM_REMARK=#{item.couponItemRemark},
  175. </if>
  176. </set>
  177. WHERE COUPON_ITEM_ID=#{item.couponItemId}
  178. <if test="item.couponItemUseropenid!=null and item.couponItemUseropenid!=''">
  179. AND COUPON_ITEM_USER_OPENID=#{item.couponItemUseropenid}
  180. </if>
  181. <if test="item.oldCouponUseStatus!=null and item.oldCouponUseStatus!=''">
  182. AND COUPON_USE_STATUS=#{item.oldCouponUseStatus}
  183. </if>
  184. </foreach>
  185. </update>
  186. <!--根据openid查询是否已领取新人优惠券-->
  187. <select id="getIsReceive" parameterType="String" resultType="Integer">
  188. SELECT
  189. COUNT(1)
  190. FROM TB_IAMBERRY_COUPON_ITEM CI
  191. JOIN TB_IAMBERRY_COUPON_TYPE CT ON CI.COUPON_ID=CT.COUPON_ID
  192. where
  193. CI.COUPON_ITEM_USER_OPENID=#{openId}
  194. AND CT.COUPON_IS_NEW_PEOPLE = 1
  195. ORDER BY CI.COUPON_RECEIVE_DATE DESC
  196. </select>
  197. <!--根据openid和优惠券类型查询领取了多少张优惠券-->
  198. <select id="isReceive" parameterType="CouponItem" resultType="Integer">
  199. SELECT
  200. COUNT(CI.coupon_item_id)
  201. FROM
  202. TB_IAMBERRY_COUPON_ITEM CI
  203. WHERE
  204. CI.COUPON_ITEM_USER_OPENID = #{couponItemUseropenid}
  205. AND CI.coupon_id = #{couponId}
  206. </select>
  207. <!--根据openid查询领取了多少张优惠券-->
  208. <select id="userCouponNum" parameterType="CouponItem" resultType="Integer">
  209. SELECT
  210. COUNT(CI.coupon_item_id)
  211. FROM
  212. TB_IAMBERRY_COUPON_ITEM CI
  213. <where>
  214. CI.COUPON_ITEM_USER_OPENID = #{couponItemUseropenid}
  215. <if test="couponUseStatus != null and couponUseStatus != ''">
  216. AND COUPON_USE_STATUS=#{couponUseStatus}
  217. </if>
  218. </where>
  219. </select>
  220. <!--获取所有领取优惠券的人-->
  221. <select id="allCouponItemNumber" parameterType="CouponItem" resultType="Integer">
  222. SELECT
  223. COUNT(CI.coupon_item_id)
  224. FROM
  225. TB_IAMBERRY_COUPON_ITEM CI
  226. <where>
  227. <if test="couponId != null and couponId != ''">
  228. CI.COUPON_ID=#{couponId}
  229. </if>
  230. <if test="couponIds!=null and couponIds!=''">
  231. AND CI.COUPON_ID IN
  232. <foreach collection="couponIds" item="node" index="index" separator="," open="(" close=")">
  233. #{node}
  234. </foreach >
  235. </if>
  236. <if test="couponUseStatus != null and couponUseStatus != ''">
  237. AND CI.coupon_use_status = #{couponUseStatus}
  238. </if>
  239. </where>
  240. </select>
  241. </mapper>