useIntegralMapper.xml 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224
  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.iamberry.wechat.service.mapper.UseIntegralMapper">
  4. <sql id="AllUseField">
  5. integral_id integralId,
  6. user_openid userOpenId,
  7. integral_type integralType,
  8. integral_number integralNumber,
  9. config_id configId,
  10. integral_remarks integralRemarks,
  11. integral_create_time integralCreateTime,
  12. integral_before_number integralBeforeNumber,
  13. integral_end_number integralEndNumber
  14. </sql>
  15. <!--全部积分记录-->
  16. <select id="listIntegralInfo" resultType="UseIntegral" parameterType="UseIntegral">
  17. SELECT
  18. i.integral_type integralType,
  19. i.integral_number integralNumber,
  20. i.integral_remarks integralRemarks,
  21. i.integral_create_time integralCreateTime,
  22. i.integral_before_number integralBeforeNumber,
  23. i.integral_end_number integralEndNumber,
  24. c.integral_config_name integralConfigName,
  25. s.stay_recorded_time stayRecordedTime
  26. FROM
  27. tb_iamberry_use_integral i
  28. LEFT JOIN tb_iamberry_integral_config c ON i.config_id = c.integral_config_id
  29. LEFT JOIN tb_iamberry_stay_integral s ON i.stay_id=s.stay_id
  30. WHERE i.user_openid=#{userOpenId}
  31. <if test="integralType != null and integralType != ''">
  32. AND i.integral_type = #{integralType}
  33. </if>
  34. ORDER BY i.integral_id DESC
  35. <if test="page!=null and page.recordBegin>0 and page.pageSize>0 ">
  36. limit ${page.recordBegin},${page.pageSize}
  37. </if>
  38. <if test="page!=null and page.recordBegin==0 and page.pageSize>0 ">
  39. limit ${page.pageSize}
  40. </if>
  41. </select>
  42. <!--获得的总积分数-->
  43. <select id="getGainIntegralCount" parameterType="String" resultType="Integer">
  44. SELECT SUM(integral_number)
  45. FROM tb_iamberry_use_integral
  46. WHERE user_openid=#{userOpenid} AND integral_type=1
  47. </select>
  48. <!--使用的总积分数-->
  49. <select id="getUseIntegralCount" parameterType="String" resultType="Integer">
  50. SELECT SUM(integral_number)
  51. FROM tb_iamberry_use_integral
  52. WHERE user_openid=#{userOpenid} AND integral_type=2
  53. </select>
  54. <!--待入账的总积分数-->
  55. <select id="getStayIntegralCount" parameterType="String" resultType="Integer">
  56. SELECT SUM(stay_number)
  57. FROM tb_iamberry_stay_integral
  58. WHERE user_openid=#{userOpenid} AND stay_status=1
  59. </select>
  60. <!--查询积分等级信息-->
  61. <select id="getRankRule" resultType="RankRule">
  62. SELECT *
  63. FROM tb_iamberry_rank_rule
  64. </select>
  65. <!-- 查询积分来源信息 -->
  66. <select id="listIntegralConfig" parameterType="IntegralConfig" resultType="IntegralConfig">
  67. SELECT
  68. *
  69. FROM
  70. tb_iamberry_integral_config
  71. <where>
  72. <if test="integralConfigId != null and integralConfigId != ''">
  73. integral_config_id = #{integralConfigId}
  74. </if>
  75. </where>
  76. </select>
  77. <!-- 添加积分日志 -->
  78. <insert id="addUseIntegral" parameterType="UseIntegral" keyProperty="integralId" useGeneratedKeys="true">
  79. INSERT INTO tb_iamberry_use_integral
  80. (
  81. user_openid,
  82. integral_type,
  83. stay_id,
  84. config_id,
  85. integral_number,
  86. integral_before_number,
  87. integral_end_number,
  88. integral_remarks,
  89. integral_create_time
  90. )
  91. VALUES
  92. (
  93. #{userOpenId},#{integralType},#{stayId},#{configId},#{integralNumber},
  94. #{integralBeforeNumber},#{integralEndNumber},#{integralRemark},NOW()
  95. )
  96. </insert>
  97. <!-- 查询会员积分等级规则信息 -->
  98. <select id="listRankRule" parameterType="RankRule" resultType="RankRule">
  99. SELECT
  100. *
  101. FROM
  102. tb_iamberry_rank_rule
  103. ORDER BY rank_rule_integral DESC
  104. </select>
  105. <!-- 添加会员信息 -->
  106. <insert id="addMemberIntegral" parameterType="MemberIntegral"
  107. useGeneratedKeys="true" keyProperty="memberId">
  108. INSERT INTO tb_iamberry_member_integral
  109. (
  110. rank_rule_id, user_openid, member_status, member_all_integral,
  111. member_surplus_integral, member_used_integral, member_create_time,
  112. member_update_time
  113. )
  114. VALUES
  115. (
  116. #{rankRuleId},#{userOpenid},#{memberStatus},#{memberAllIntegral},
  117. #{memberSurplusIntegral},#{memberUsedIntegral},NOW(),NOW()
  118. )
  119. </insert>
  120. <!-- 查询所有待入账积分 -->
  121. <select id="listStayIntegral" parameterType="StayIntegral" resultType="StayIntegral">
  122. SELECT
  123. t.stay_id AS stayId,
  124. t.user_openid AS userOpenId,
  125. t.config_id AS configId,
  126. t.sales_orderid AS orderId,
  127. t.stay_number AS stayNumber,
  128. t.stay_recorded_time AS stayRecordedTime,
  129. t.stay_status AS stayStatus,
  130. t.stay_remark AS stayRemark,
  131. t.stay_create_time AS stayCreateTime,
  132. t.stay_update_time AS stayUpdateTime
  133. FROM
  134. tb_iamberry_stay_integral t
  135. <where>
  136. <if test="stayId != null">
  137. AND stay_id = #{stayId}
  138. </if>
  139. <if test="stayStatus != null">
  140. AND stay_status = #{stayStatus}
  141. </if>
  142. <if test="orderId != null and orderId != ''">
  143. AND sales_orderid = #{orderId}
  144. </if>
  145. <if test="userOpenId != null">
  146. AND user_openid = #{userOpenId}
  147. </if>
  148. <if test="configId != null">
  149. AND config_id = #{configId}
  150. </if>
  151. <if test="stayRecordedTime != null and stayRecordedTime != ''">
  152. AND stay_recorded_time &lt;= #{stayRecordedTime}
  153. </if>
  154. </where>
  155. </select>
  156. <!-- 修改待入账积分状态 -->
  157. <update id="updateStayIntegral" parameterType="StayIntegral">
  158. UPDATE tb_iamberry_stay_integral
  159. <set>
  160. <if test="configId != null">
  161. config_id = #{configId},
  162. </if>
  163. <if test="orderId != null">
  164. sales_orderid = #{orderId},
  165. </if>
  166. <if test="stayNumber != null">
  167. stay_number = #{stayNumber},
  168. </if>
  169. <if test="stayRecordedTime != null">
  170. stay_recorded_time = #{stayRecordedTime},
  171. </if>
  172. <if test="stayStatus != null">
  173. stay_status = #{stayStatus},
  174. </if>
  175. <if test="stayRemark != null">
  176. stay_remark = #{stayRemark}
  177. </if>
  178. </set>
  179. <where>
  180. stay_id = #{stayId}
  181. </where>
  182. </update>
  183. <!-- 根据banner图片ID,删除图片 -->
  184. <delete id="delUseIntegral" parameterType="UseIntegral">
  185. DELETE FROM
  186. tb_iamberry_use_integral
  187. <where>
  188. <if test="integralType != null">
  189. AND integral_type = #{integralType}
  190. </if>
  191. <if test="stayId != null">
  192. AND stay_id = #{stayId}
  193. </if>
  194. <if test="userOpenId != null">
  195. AND user_openid = #{userOpenId}
  196. </if>
  197. </where>
  198. </delete>
  199. <select id="listUseIntegral" parameterType="UseIntegral" resultType="UseIntegral">
  200. SELECT
  201. i.*, u.user_nickname,
  202. u.user_name
  203. FROM
  204. tb_iamberry_use_integral i
  205. LEFT JOIN tb_iamberry_user_userinfo u ON i.user_openid = u.user_openid
  206. WHERE
  207. i.integral_type IN (1, 2)
  208. <if test="page!=null and page.recordBegin>0 and page.pageSize>0 ">
  209. limit ${page.recordBegin},${page.pageSize}
  210. </if>
  211. <if test="page!=null and page.recordBegin==0 and page.pageSize>0 ">
  212. limit ${page.pageSize}
  213. </if>
  214. </select>
  215. </mapper>