CmCouponClubMapper.xml 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243
  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.caimei.modules.coupon.dao.CmCouponClubDao">
  4. <sql id="cmCouponClubColumns">
  5. a.id AS "id",
  6. a.userId AS "userId",
  7. a.couponId AS "couponId",
  8. a.orderId AS "orderId",
  9. a.source AS "source",
  10. a.status AS "status",
  11. a.createDate AS "createDate",
  12. a.useDate AS "useDate",
  13. a.delFlag AS "delFlag",
  14. u.name AS "clubName"
  15. </sql>
  16. <sql id="cmCouponClubJoins">
  17. LEFT JOIN user u ON u.userID = a.userId
  18. </sql>
  19. <select id="get" resultType="CmCouponClub">
  20. SELECT
  21. <include refid="cmCouponClubColumns"/>
  22. FROM cm_coupon_club a
  23. <include refid="cmCouponClubJoins"/>
  24. WHERE a.id = #{id}
  25. </select>
  26. <select id="findList" resultType="CmCouponClub">
  27. SELECT
  28. <include refid="cmCouponClubColumns"/>
  29. FROM cm_coupon_club a
  30. <include refid="cmCouponClubJoins"/>
  31. <where>
  32. <if test="couponId != null">
  33. AND a.couponId = #{couponId}
  34. </if>
  35. <if test="userId != null">
  36. AND a.userId = #{userId}
  37. </if>
  38. <if test="source != null and source != ''">
  39. AND a.source = #{source}
  40. </if>
  41. <if test="status != null and status != ''">
  42. AND a.status = #{status}
  43. </if>
  44. <if test="createDate != null and createDate != ''">
  45. AND a.createDate > #{createDate}
  46. </if>
  47. <if test="useDate != null and useDate != ''">
  48. AND a.useDate > #{useDate}
  49. </if>
  50. <if test="clubName != null and clubName != ''">
  51. AND u.name LIKE CONCAT('%',#{clubName},'%')
  52. </if>
  53. </where>
  54. <choose>
  55. <when test="page !=null and page.orderBy != null and page.orderBy != ''">
  56. ORDER BY ${page.orderBy}
  57. </when>
  58. <otherwise>
  59. ORDER BY a.createDate DESC
  60. </otherwise>
  61. </choose>
  62. </select>
  63. <select id="findAllList" resultType="CmCouponClub">
  64. SELECT
  65. <include refid="cmCouponClubColumns"/>
  66. FROM cm_coupon_club a
  67. <include refid="cmCouponClubJoins"/>
  68. <where>
  69. </where>
  70. <choose>
  71. <when test="page !=null and page.orderBy != null and page.orderBy != ''">
  72. ORDER BY ${page.orderBy}
  73. </when>
  74. <otherwise>
  75. </otherwise>
  76. </choose>
  77. </select>
  78. <insert id="insert" parameterType="CmCouponClub" keyProperty="id" useGeneratedKeys="true">
  79. INSERT INTO cm_coupon_club(
  80. userId,
  81. couponId,
  82. orderId,
  83. returnedId,
  84. source,
  85. status,
  86. createDate,
  87. useDate,
  88. delFlag
  89. ) VALUES (
  90. #{userId},
  91. #{couponId},
  92. #{orderId},
  93. #{returnedId},
  94. #{source},
  95. #{status},
  96. #{createDate},
  97. #{useDate},
  98. #{delFlag}
  99. )
  100. </insert>
  101. <update id="update">
  102. UPDATE cm_coupon_club SET
  103. userId = #{userId},
  104. couponId = #{couponId},
  105. orderId = #{orderId},
  106. source = #{source},
  107. status = #{status},
  108. createDate = #{createDate},
  109. useDate = #{useDate},
  110. delFlag = #{delFlag}
  111. WHERE id = #{id}
  112. </update>
  113. <select id="receivingUserList" resultType="com.caimei.modules.coupon.entity.CmCouponClub">
  114. SELECT
  115. c.userID AS "userId",
  116. c.name AS "clubName",
  117. COUNT(cc.id) AS "num"
  118. FROM
  119. club c
  120. LEFT JOIN cm_coupon_club ccc ON c.userID = ccc.userId
  121. AND ccc.delFlag = 0
  122. AND ccc.status = 1
  123. LEFT JOIN cm_coupon cc ON ccc.couponId = cc.id
  124. AND cc.delFlag = 0
  125. AND NOW() BETWEEN cc.startDate
  126. AND cc.endDate
  127. AND cc.status != 2
  128. WHERE
  129. c.status IN (1, 90)
  130. <if test="clubName != null and clubName != ''">
  131. AND c.name LIKE CONCAT('%',#{clubName},'%')
  132. </if>
  133. <if test="userId != null">
  134. AND c.userID = #{userId}
  135. </if>
  136. GROUP BY
  137. c.userID
  138. ORDER BY
  139. COUNT(cc.id) DESC
  140. </select>
  141. <select id="findClubCoupon" resultType="com.caimei.modules.coupon.entity.CmCouponClub">
  142. SELECT
  143. <include refid="cmCouponClubColumns"/>,
  144. cc.couponAmount,
  145. cc.touchPrice,
  146. cc.couponType,
  147. cc.status AS "couponStatus",
  148. cc.startDate,
  149. cc.endDate,
  150. co.orderNo
  151. FROM
  152. cm_coupon_club a
  153. <include refid="cmCouponClubJoins"/>
  154. LEFT JOIN cm_coupon cc ON a.couponId = cc.id
  155. LEFT JOIN cm_order co ON co.orderID = a.orderId
  156. WHERE
  157. a.delFlag = 0
  158. AND cc.delFlag = 0
  159. AND a.userId = #{userId}
  160. <if test="couponType != null and couponType != ''">
  161. AND cc.couponType = #{couponType}
  162. </if>
  163. <if test="status != null and status != ''">
  164. AND a.status = #{status}
  165. </if>
  166. <if test='couponStatus == "0"'>
  167. AND cc.startDate <![CDATA[ > ]]> NOW()
  168. </if>
  169. <if test='couponStatus == "1"'>
  170. AND cc.startDate <![CDATA[ <= ]]> NOW()
  171. AND cc.endDate <![CDATA[ >= ]]> NOW()
  172. </if>
  173. <if test='couponStatus == "2"'>
  174. AND cc.status = '2'
  175. </if>
  176. <if test='couponStatus == "3"'>
  177. AND cc.endDate <![CDATA[ < ]]> NOW()
  178. </if>
  179. ORDER BY
  180. a.createDate DESC
  181. </select>
  182. <select id="findCouponRedemptionCode" resultType="com.caimei.modules.coupon.entity.CmCouponRedemptionCode">
  183. SELECT
  184. `id`,
  185. `couponId`,
  186. `clubCouponId`,
  187. `redemptionCode`,
  188. `status`,
  189. `redemptionTime`,
  190. `addTime`
  191. FROM
  192. `cm_coupon_redemption_code`
  193. WHERE
  194. redemptionCode = #{redemptionCode}
  195. </select>
  196. <select id="getCoupons" resultType="com.caimei.modules.coupon.entity.CmCoupon">
  197. SELECT
  198. `id` AS "couponId",
  199. `couponAmount`,
  200. `touchPrice`,
  201. `startDate`,
  202. `endDate`,
  203. `couponType`,
  204. `userId`,
  205. `shopId`,
  206. `productType`,
  207. `categoryType`
  208. FROM
  209. cm_coupon
  210. WHERE
  211. delFlag = 0
  212. AND status != 2
  213. AND id = #{couponId}
  214. </select>
  215. <update id="updateRedemptionCode">
  216. UPDATE
  217. cm_coupon_redemption_code
  218. SET
  219. status = 2,
  220. redemptionTime = NOW(),
  221. clubCouponId = #{clubCouponId}
  222. WHERE
  223. id = #{id}
  224. </update>
  225. <update id="deleteByReturnedId">
  226. UPDATE cm_coupon_club SET delFlag = 1 WHERE returnedId = #{returnedId} AND status = 1 AND source = 3
  227. </update>
  228. </mapper>