UserMembershipCardMapper.xml 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="beilv.usermembershipcard.mapper.UserMembershipCardMapper">
  6. <resultMap type="UserMembershipCard" id="UserMembershipCardResult">
  7. <result property="id" column="id" />
  8. <result property="userId" column="user_id" />
  9. <result property="recordId" column="record_id" />
  10. <result property="totalNumber" column="total_number" />
  11. <result property="remainingNumber" column="remaining_number" />
  12. <result property="version" column="version" />
  13. <result property="createBy" column="create_by" />
  14. <result property="createTime" column="create_time" />
  15. <result property="updateBy" column="update_by" />
  16. <result property="updateTime" column="update_time" />
  17. <result property="userName" column="username" />
  18. <result property="realName" column="real_name" />
  19. <result property="mobile" column="mobile" />
  20. <result property="cardName" column="cardName" />
  21. <result property="state" column="state" />
  22. </resultMap>
  23. <sql id="selectUserMembershipCardVo">
  24. select id, user_id, record_id, remaining_number, version, create_by, create_time, update_by, update_time from user_membership_card
  25. </sql>
  26. <select id="selectUserMembershipCardList" parameterType="UserMembershipCard" resultMap="UserMembershipCardResult">
  27. SELECT
  28. a.id,
  29. a.user_id,
  30. b.username,
  31. b.real_name,
  32. b.mobile,
  33. a.record_id,
  34. c.card_name cardName,
  35. c.total_number,
  36. a.remaining_number,
  37. a.state
  38. FROM
  39. user_membership_card a
  40. left join sys_member b on a.user_id = b.id
  41. left join card_purchase_record c on a.record_id = c.id
  42. <where>
  43. <if test="userId != null and userId != ''"> and a.user_id = #{userId}</if>
  44. <if test="recordId != null and recordId != ''"> and a.record_id = #{recordId}</if>
  45. <if test="totalNumber != null "> and c.total_number = #{totalNumber}</if>
  46. <if test="remainingNumber != null "> and a.remaining_number = #{remainingNumber}</if>
  47. <if test="version != null and version != ''"> and a.version = #{version}</if>
  48. <if test="realName != null and realName != ''"> and b.real_name like concat('%', #{realName}, '%')</if>
  49. <if test="mobile != null and mobile != ''"> and b.mobile like concat('%', #{mobile}, '%')</if>
  50. <if test="cardName != null and cardName != ''"> and c.name like concat('%', #{cardName}, '%')</if>
  51. </where>
  52. order by a.create_time desc
  53. </select>
  54. <select id="selectUserMembershipCardById" parameterType="Long" resultMap="UserMembershipCardResult">
  55. <include refid="selectUserMembershipCardVo"/>
  56. where id = #{id}
  57. </select>
  58. <insert id="insertUserMembershipCard" parameterType="UserMembershipCard">
  59. insert into user_membership_card
  60. <trim prefix="(" suffix=")" suffixOverrides=",">
  61. <if test="id != null">id,</if>
  62. <if test="userId != null">user_id,</if>
  63. <if test="recordId != null">record_id,</if>
  64. <if test="totalNumber != null">total_number,</if>
  65. <if test="remainingNumber != null">remaining_number,</if>
  66. <if test="version != null">version,</if>
  67. <if test="createBy != null">create_by,</if>
  68. <if test="createTime != null">create_time,</if>
  69. <if test="updateBy != null">update_by,</if>
  70. <if test="updateTime != null">update_time,</if>
  71. <if test="state != null">state,</if>
  72. </trim>
  73. <trim prefix="values (" suffix=")" suffixOverrides=",">
  74. <if test="id != null">#{id},</if>
  75. <if test="userId != null">#{userId},</if>
  76. <if test="recordId != null">#{recordId},</if>
  77. <if test="totalNumber != null">#{totalNumber},</if>
  78. <if test="remainingNumber != null">#{remainingNumber},</if>
  79. <if test="version != null">#{version},</if>
  80. <if test="createBy != null">#{createBy},</if>
  81. <if test="createTime != null">#{createTime},</if>
  82. <if test="updateBy != null">#{updateBy},</if>
  83. <if test="updateTime != null">#{updateTime},</if>
  84. <if test="state != null">#{state},</if>
  85. </trim>
  86. </insert>
  87. <update id="updateUserMembershipCard" parameterType="UserMembershipCard">
  88. update user_membership_card
  89. <trim prefix="SET" suffixOverrides=",">
  90. <if test="userId != null">user_id = #{userId},</if>
  91. <if test="recordId != null">record_id = #{recordId},</if>
  92. <if test="totalNumber != null">total_number = #{totalNumber},</if>
  93. <if test="remainingNumber != null">remaining_number = #{remainingNumber}</if>
  94. <if test="version != null">version = #{version},</if>
  95. <if test="createBy != null">create_by = #{createBy},</if>
  96. <if test="createTime != null">create_time = #{createTime},</if>
  97. <if test="updateBy != null">update_by = #{updateBy},</if>
  98. <if test="updateTime != null">update_time = #{updateTime},</if>
  99. <if test="state != null">state = #{state},</if>
  100. </trim>
  101. where id = #{id}
  102. </update>
  103. <delete id="deleteUserMembershipCardById" parameterType="Long">
  104. delete from user_membership_card where id = #{id}
  105. </delete>
  106. <delete id="deleteUserMembershipCardByIds" parameterType="String">
  107. delete from user_membership_card where id in
  108. <foreach item="id" collection="array" open="(" separator="," close=")">
  109. #{id}
  110. </foreach>
  111. </delete>
  112. <select id="getStream" parameterType="Long" resultType="java.util.Map">
  113. SELECT
  114. a.id,
  115. d.username,
  116. d.real_name realName,
  117. d.mobile,
  118. c.card_name cardName,
  119. DATE_FORMAT(a.create_time, '%Y-%m-%d %H:%i:%s') createTime
  120. FROM
  121. member_stream a
  122. left join user_membership_card b on a.user_card_id = b.id
  123. left join card_purchase_record c on b.record_id = c.id
  124. left join sys_member d on b.user_id = d.id
  125. WHERE a.user_card_id = #{id}
  126. order by a.create_time desc
  127. </select>
  128. <insert id="addStream" parameterType="MemberStream">
  129. insert into member_stream
  130. <trim prefix="(" suffix=")" suffixOverrides=",">
  131. <if test="id != null">id,</if>
  132. <if test="userCardId != null">user_card_id,</if>
  133. <if test="type != null">type,</if>
  134. <if test="createBy != null">create_by,</if>
  135. <if test="createTime != null">create_time,</if>
  136. <if test="updateBy != null">update_by,</if>
  137. <if test="updateTime != null">update_time,</if>
  138. </trim>
  139. <trim prefix="values (" suffix=")" suffixOverrides=",">
  140. <if test="id != null">#{id},</if>
  141. <if test="userCardId != null">#{userCardId},</if>
  142. <if test="type != null">#{type},</if>
  143. <if test="createBy != null">#{createBy},</if>
  144. <if test="createTime != null">#{createTime},</if>
  145. <if test="updateBy != null">#{updateBy},</if>
  146. <if test="updateTime != null">#{updateTime},</if>
  147. </trim>
  148. </insert>
  149. <update id="updateRemainingNumber" parameterType="UserMembershipCard">
  150. update user_membership_card
  151. <trim prefix="SET" suffixOverrides=",">
  152. <if test="remainingNumber != null">
  153. <choose>
  154. <when test="remainingNumber == 0">
  155. remaining_number = (select remaining_number-1 from user_membership_card where id = #{id})
  156. </when>
  157. <otherwise>remaining_number = (select remaining_number+1 from user_membership_card where id = #{id})</otherwise>
  158. </choose>
  159. </if>
  160. </trim>
  161. where id = #{id}
  162. </update>
  163. </mapper>