qrcodeMapper.xml 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  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.QrcodeMapper">
  4. <!-- 根据ID,获取二维码的类型、使用人 -->
  5. <select id="selectQrcodeByQrcodeId" parameterType="Integer" resultType="Qrcode">
  6. SELECT
  7. QRCODE_TYPE qrcodeType,
  8. QRCODE_REPLACE_OPENID qrcodeReplaceOpenid
  9. FROM
  10. TB_IAMBERRY_USER_QRCODE
  11. WHERE
  12. QRCODE_ID = #{qrcodeId}
  13. </select>
  14. <!-- 根据二维码ID, 更新二维码状态 -->
  15. <update id="updateQrcodeStatusById" parameterType="Integer">
  16. UPDATE
  17. TB_IAMBERRY_USER_QRCODE
  18. SET
  19. QRCODE_STATUS = 2
  20. WHERE
  21. QRCODE_ID = #{qrcodeId}
  22. </update>
  23. <!-- 根据二维码会员Openid, 更新二维码状态 -->
  24. <update id="updateQRcodeStatusByUserOpenid" parameterType="String">
  25. UPDATE
  26. TB_IAMBERRY_USER_QRCODE
  27. SET
  28. QRCODE_STATUS = 2
  29. WHERE
  30. QRCODE_REPLACE_OPENID = #{openid}
  31. </update>
  32. <!-- 为二维码叠加访问次数和吸收用户人数 -->
  33. <update id="updateQRcodeScannNumAndSubNum" parameterType="Qrcode">
  34. UPDATE
  35. TB_IAMBERRY_USER_QRCODE
  36. SET
  37. QRCODE_SCANN_NUM = (QRCODE_SCANN_NUM + #{qrcodeScannNum}),
  38. QRCODE_SUB_NUM = (QRCODE_SUB_NUM + #{qrcodeSubNum})
  39. WHERE
  40. QRCODE_ID = #{qrcodeId}
  41. </update>
  42. <!-- 获取数据库中空余的二维码 -->
  43. <select id="selectSpareQrcode" resultType="Qrcode">
  44. SELECT
  45. QRCODE_ID qrcodeId, QRCODE_URL qrcodeUrl
  46. FROM
  47. TB_IAMBERRY_USER_QRCODE
  48. WHERE
  49. QRCODE_TYPE = 1 AND QRCODE_STATUS = 2
  50. LIMIT 0, 1
  51. </select>
  52. <!-- 修改二维码所属人、状态,但是二维码状态必须是空余的 -->
  53. <update id="updateQRcodeUserAndStatusById" parameterType="Qrcode">
  54. UPDATE
  55. TB_IAMBERRY_USER_QRCODE
  56. SET
  57. QRCODE_REPLACE_OPENID = #{qrcodeReplaceOpenid},
  58. QRCODE_STATUS = #{qrcodeStatus}
  59. WHERE
  60. QRCODE_ID = #{qrcodeId} AND QRCODE_STATUS = 2
  61. </update>
  62. <!-- 添加一个二维码 -->
  63. <insert id="insertQrcode" parameterType="Qrcode" useGeneratedKeys="true" keyProperty="qrcodeId">
  64. INSERT INTO
  65. TB_IAMBERRY_USER_QRCODE
  66. (
  67. QRCODE_TYPE, QRCODE_OPENID, QRCODE_REPLACE_OPENID,
  68. QRCODE_CREATE_DATE, QRCODE_URL, QRCODE_VALUE, QRCODE_STATUS,
  69. QRCODE_SCANN_NUM, QRCODE_SUB_NUM
  70. )
  71. VALUES
  72. (
  73. #{qrcodeType},
  74. #{qrcodeOpenid},
  75. #{qrcodeReplaceOpenid},
  76. NOW(),
  77. #{qrcodeUrl},
  78. #{qrcodeValue},
  79. #{qrcodeStatus},
  80. #{qrcodeScannNum},
  81. #{qrcodeSubNum}
  82. )
  83. </insert>
  84. <!-- 根据当前使用人,获取对应的Qrcode -->
  85. <select id="selectQrcodeUrlByReplaceUser" parameterType="String" resultType="String">
  86. SELECT
  87. QRCODE_URL qrcodeUrl
  88. FROM
  89. TB_IAMBERRY_USER_QRCODE
  90. WHERE
  91. QRCODE_REPLACE_OPENID = #{qrcodeReplaceOpenid} AND QRCODE_STATUS = 1
  92. </select>
  93. <!-- 根据ID,修改二维码URL -->
  94. <update id="updateQrcodeURLByOpenid" parameterType="Qrcode">
  95. UPDATE
  96. TB_IAMBERRY_USER_QRCODE
  97. SET
  98. QRCODE_URL = #{qrcodeUrl}
  99. <if test="qrcodeValue != null">
  100. , QRCODE_VALUE = #{qrcodeValue}
  101. </if>
  102. WHERE
  103. QRCODE_ID = #{qrcodeId}
  104. </update>
  105. </mapper>