useIntegralMapper.xml 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  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. integral_type useType,
  10. config_id configId,
  11. integral_remarks integralRemarks,
  12. integral_create_time integralCreateTime,
  13. integral_before_number integralBeforeNumber,
  14. integral_end_number integralEndNumber
  15. </sql>
  16. <!--全部积分记录-->
  17. <select id="listIntegralInfo" resultType="UseIntegral" parameterType="UseIntegral">
  18. SELECT
  19. <include refid="AllUseField"></include>,
  20. c.integral_config_name integralConfigName
  21. FROM
  22. tb_iamberry_use_integral i
  23. LEFT JOIN tb_iamberry_integral_config c ON i.config_id = c.integral_config_id
  24. WHERE i.user_openid=#{userOpenId}
  25. <if test="useType != null||useType != ''">
  26. AND i.integral_type = #{useType}
  27. </if>
  28. ORDER BY i.integral_id DESC
  29. <if test="page!=null and page.recordBegin>0 and page.pageSize>0 ">
  30. limit ${page.recordBegin},${page.pageSize}
  31. </if>
  32. <if test="page!=null and page.recordBegin==0 and page.pageSize>0 ">
  33. limit ${page.pageSize}
  34. </if>
  35. </select>
  36. <!--获得的总积分数-->
  37. <select id="getGainIntegralCount" parameterType="String" resultType="int">
  38. SELECT avg(integral_number)
  39. FROM tb_iamberry_use_integral
  40. WHERE user_openid=#{userOpenid} AND integral_type=1
  41. </select>
  42. <!--使用的总积分数-->
  43. <select id="getUseIntegralCount" parameterType="String" resultType="int">
  44. SELECT avg(integral_number)
  45. FROM tb_iamberry_use_integral
  46. WHERE user_openid=#{userOpenid} AND integral_type=2
  47. </select>
  48. <!--待入账的总积分数-->
  49. <select id="getStayIntegralCount" parameterType="String" resultType="int">
  50. SELECT avg(stay_number)
  51. FROM tb_iamberry_stay_integral
  52. WHERE user_openid=#{userOpenid} AND stay_status=1
  53. </select>
  54. <!--查询积分等级信息-->
  55. <select id="getRankRule" resultType="RankRule">
  56. SELECT *
  57. FROM tb_iamberry_rank_rule
  58. </select>
  59. <!-- 查询积分来源信息 -->
  60. <select id="listIntegralConfig" parameterType="IntegralConfig" resultType="IntegralConfig">
  61. SELECT
  62. *
  63. FROM
  64. tb_iamberry_integral_config
  65. <where>
  66. <if test="integralConfigId != null and integralConfigId != ''">
  67. integral_config_id = #{integralConfigId}
  68. </if>
  69. </where>
  70. </select>
  71. <!-- 添加积分日志 -->
  72. <insert id="addUseIntegral" parameterType="UseIntegral" keyProperty="integralId" useGeneratedKeys="true">
  73. INSERT INTO tb_iamberry_use_integral
  74. (
  75. user_openid,
  76. integral_type,
  77. config_id,
  78. integral_number,
  79. integral_before_number,
  80. integral_end_number,
  81. integral_remark,
  82. integral_create_time
  83. )
  84. VALUES
  85. (
  86. #{userOpenid},#{integralType},#{configId},#{integralNumber},
  87. #{integralBeforeNumber},#{integralEndNumber},#{integralRemark},NOW()
  88. )
  89. </insert>
  90. <!-- 查询会员积分等级规则信息 -->
  91. <select id="listRankRule" parameterType="RankRule" resultType="RankRule">
  92. SELECT
  93. *
  94. FROM
  95. tb_iamberry_rank_rule
  96. ORDER BY rank_rule_integral DESC
  97. </select>
  98. <!-- 添加会员信息 -->
  99. <insert id="addMemberIntegral" parameterType="MemberIntegral"
  100. useGeneratedKeys="true" keyProperty="memberId">
  101. INSERT INTO tb_iamberry_member_integral
  102. (
  103. rank_rule_id, user_openid, member_status, member_all_integral,
  104. member_surplus_integral, member_used_integral, member_create_time,
  105. member_update_time
  106. )
  107. VALUES
  108. (
  109. #{rankRuleId},#{userOpenid},#{memberStatus},#{memberAllIntegral},
  110. #{memberSurplusIntegral},#{memberUsedIntegral},NOW(),NOW()
  111. )
  112. </insert>
  113. </mapper>