useIntegralMapper.xml 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  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. <include refid="AllUseField"></include>,
  19. c.integral_config_name integralConfigName
  20. FROM
  21. tb_iamberry_use_integral i
  22. LEFT JOIN tb_iamberry_integral_config c ON i.config_id = c.integral_config_id
  23. WHERE i.user_openid=#{userOpenId}
  24. <if test="integralType != null||integralType != ''">
  25. AND i.integral_type = #{integralType}
  26. </if>
  27. ORDER BY i.integral_id DESC
  28. <if test="page!=null and page.recordBegin>0 and page.pageSize>0 ">
  29. limit ${page.recordBegin},${page.pageSize}
  30. </if>
  31. <if test="page!=null and page.recordBegin==0 and page.pageSize>0 ">
  32. limit ${page.pageSize}
  33. </if>
  34. </select>
  35. <!--获得的总积分数-->
  36. <select id="getGainIntegralCount" parameterType="String" resultType="Integer">
  37. SELECT avg(integral_number)
  38. FROM tb_iamberry_use_integral
  39. WHERE user_openid=#{userOpenid} AND integral_type=1
  40. </select>
  41. <!--使用的总积分数-->
  42. <select id="getUseIntegralCount" parameterType="String" resultType="Integer">
  43. SELECT avg(integral_number)
  44. FROM tb_iamberry_use_integral
  45. WHERE user_openid=#{userOpenid} AND integral_type=2
  46. </select>
  47. <!--待入账的总积分数-->
  48. <select id="getStayIntegralCount" parameterType="String" resultType="Integer">
  49. SELECT avg(stay_number)
  50. FROM tb_iamberry_stay_integral
  51. WHERE user_openid=#{userOpenid} AND stay_status=1
  52. </select>
  53. <!--查询积分等级信息-->
  54. <select id="getRankRule" resultType="RankRule">
  55. SELECT *
  56. FROM tb_iamberry_rank_rule
  57. </select>
  58. <!-- 查询积分来源信息 -->
  59. <select id="listIntegralConfig" parameterType="IntegralConfig" resultType="IntegralConfig">
  60. SELECT
  61. *
  62. FROM
  63. tb_iamberry_integral_config
  64. <where>
  65. <if test="integralConfigId != null and integralConfigId != ''">
  66. integral_config_id = #{integralConfigId}
  67. </if>
  68. </where>
  69. </select>
  70. <!-- 添加积分日志 -->
  71. <insert id="addUseIntegral" parameterType="UseIntegral" keyProperty="integralId" useGeneratedKeys="true">
  72. INSERT INTO tb_iamberry_use_integral
  73. (
  74. user_openid,
  75. integral_type,
  76. config_id,
  77. integral_number,
  78. integral_before_number,
  79. integral_end_number,
  80. integral_remarks,
  81. integral_create_time
  82. )
  83. VALUES
  84. (
  85. #{userOpenId},#{integralType},#{configId},#{integralNumber},
  86. #{integralBeforeNumber},#{integralEndNumber},#{integralRemark},NOW()
  87. )
  88. </insert>
  89. <!-- 查询会员积分等级规则信息 -->
  90. <select id="listRankRule" parameterType="RankRule" resultType="RankRule">
  91. SELECT
  92. *
  93. FROM
  94. tb_iamberry_rank_rule
  95. ORDER BY rank_rule_integral DESC
  96. </select>
  97. <!-- 添加会员信息 -->
  98. <insert id="addMemberIntegral" parameterType="MemberIntegral"
  99. useGeneratedKeys="true" keyProperty="memberId">
  100. INSERT INTO tb_iamberry_member_integral
  101. (
  102. rank_rule_id, user_openid, member_status, member_all_integral,
  103. member_surplus_integral, member_used_integral, member_create_time,
  104. member_update_time
  105. )
  106. VALUES
  107. (
  108. #{rankRuleId},#{userOpenid},#{memberStatus},#{memberAllIntegral},
  109. #{memberSurplusIntegral},#{memberUsedIntegral},NOW(),NOW()
  110. )
  111. </insert>
  112. <!-- 查询积分来源信息 -->
  113. <select id="listStayIntegral" parameterType="StayIntegral" resultType="StayIntegral">
  114. SELECT
  115. t.stay_id AS stayId,
  116. t.user_openid AS userOpenId,
  117. t.config_id AS configId,
  118. t.sales_orderid AS orderId,
  119. t.stay_number AS stayNumber,
  120. t.stay_recorded_time AS stayRecordedTime,
  121. t.stay_status AS stayStatus,
  122. t.stay_remark AS stayRemark,
  123. t.stay_create_time AS stayCreateTime,
  124. t.stay_update_time AS stayUpdateTime
  125. FROM
  126. tb_iamberry_stay_integral t
  127. <where>
  128. <if test="stayId != null">
  129. AND stay_id = #{stayId}
  130. </if>
  131. <if test="userOpenId != null">
  132. AND user_openid = #{userOpenId}
  133. </if>
  134. <if test="configId != null">
  135. AND config_id = #{configId}
  136. </if>
  137. <if test="stayRecordedTime != null and stayRecordedTime != ''">
  138. AND stay_recorded_time &gt;= #{stayRecordedTime}
  139. </if>
  140. </where>
  141. </select>
  142. </mapper>