You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

161 lines
6.9 KiB

10 months ago
10 months ago
10 months ago
10 months ago
9 months ago
  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.example.demo.mapper.coin.UserMapper">
  4. <insert id="addUser">
  5. INSERT INTO user(
  6. name,jwcode,market
  7. ) VALUES (
  8. #{name},#{jwcode},#{market}
  9. )
  10. </insert>
  11. <!-- 根据精网号查询用户信息 -->
  12. <select id="selectUser" resultType="com.example.demo.domain.vo.coin.GoldUser">
  13. SELECT
  14. name AS "name",
  15. jwcode AS "jwcode",
  16. market AS "market",
  17. (COALESCE(current_permanent_gold, 0) + COALESCE(current_free_june, 0) + COALESCE(current_free_december, 0) +
  18. COALESCE(current_task_gold, 0)) AS "nowSumGold",
  19. current_permanent_gold AS "nowPermanentGold",
  20. (COALESCE(current_free_june, 0) + COALESCE(current_free_december, 0)) AS "nowFreeGold",
  21. current_task_gold AS "nowTaskGold",
  22. (COALESCE(sum_permanent_gold, 0) + COALESCE(sum_free_june, 0) + COALESCE(sum_free_december, 0) +
  23. COALESCE(sum_task_gold, 0)) AS "historySumGold",
  24. sum_permanent_gold AS "historyPermanentGold",
  25. (COALESCE(sum_free_june, 0) + COALESCE(sum_free_december, 0)) AS "historyFreeGold",
  26. sum_task_gold AS "historyTaskGold",
  27. recharge_num AS "rechargeNum",
  28. consume_num AS "consumeNum",
  29. first_recharge AS "firstRecharge"
  30. FROM user
  31. <where>
  32. jwcode = #{jwcode}
  33. </where>
  34. </select>
  35. <!-- 检查用户是否存在 -->
  36. <select id="checkUserExists" resultType="int">
  37. SELECT COUNT(*)
  38. FROM user
  39. WHERE jwcode = #{jwcode}
  40. </select>
  41. <!-- 获取用户的市场信息 -->
  42. <select id="getUserMarket" resultType="java.lang.String">
  43. SELECT market
  44. FROM user
  45. WHERE jwcode = #{jwcode}
  46. </select>
  47. <!-- 根据精网号查询用户信息 -->
  48. <select id="selectUserCard" resultType="com.example.demo.domain.vo.coin.GoldUser">
  49. SELECT
  50. u.name AS "name",
  51. u.jwcode AS "jwcode",
  52. m.name AS "market",
  53. ROUND((IFNULL(u.current_permanent_gold, 0) + IFNULL(u.current_free_june, 0) + IFNULL(u.current_free_december, 0) + IFNULL(u.current_task_gold, 0)) / 100.0, 2) AS nowSumGold,
  54. ROUND(IFNULL(u.current_permanent_gold, 0) / 100.0, 2) AS nowPermanentGold,
  55. ROUND((IFNULL(u.current_free_june, 0) + IFNULL(u.current_free_december, 0)) / 100.0, 2) AS nowFreeGold,
  56. ROUND(IFNULL(u.current_task_gold, 0) / 100.0, 2) AS nowTaskGold,
  57. ROUND((IFNULL(u.sum_permanent_gold, 0) + IFNULL(u.sum_free_june, 0) + IFNULL(u.sum_free_december, 0) + IFNULL(u.sum_task_gold, 0)) / 100.0, 2) AS historySumGold,
  58. ROUND(IFNULL(u.sum_permanent_gold, 0) / 100.0, 2) AS historyPermanentGold,
  59. ROUND((IFNULL(u.sum_free_june, 0) + IFNULL(u.sum_free_december, 0)) / 100.0, 2) AS historyFreeGold,
  60. u.sum_task_gold AS "historyTaskGold",
  61. u.recharge_num AS "rechargeNum",
  62. u.consume_num AS "consumeNum",
  63. u.first_recharge AS "firstRecharge"
  64. FROM user u
  65. LEFT JOIN market m on u.market = m.id
  66. <where>
  67. jwcode = #{jwcode}
  68. <!-- 判断 market 是否不为总部且 markets 不为空 -->
  69. <if test="markets != null and markets.size() > 0 and '9999' not in markets and '9' not in markets">
  70. AND (
  71. <foreach collection="markets" item="market" open="" close="" separator=" OR ">
  72. u.market = #{market}
  73. </foreach>
  74. )
  75. </if>
  76. </where>
  77. </select>
  78. <!-- 根据精网号查询用户信息 -->
  79. <select id="selectAllUser" resultType="com.example.demo.domain.entity.User">
  80. SELECT
  81. *
  82. FROM user
  83. WHERE jwcode = #{jwcode}
  84. </select>
  85. <!-- 根据精网号查询金币余额 -->
  86. <select id="selectGold" resultType="com.example.demo.domain.vo.coin.GoldUser">
  87. SELECT
  88. current_permanent_gold AS "NowPermanentGold",
  89. (COALESCE(current_free_june, 0) + COALESCE(current_free_december, 0)) AS "NowFreeGold",
  90. current_free_june AS "NowFreeJune",
  91. current_free_december AS "NowFreeDecember",
  92. current_task_gold AS "NowTaskGold",
  93. consume_num AS "consumeNum",
  94. recharge_num AS "rechargeNum"
  95. FROM user
  96. WHERE jwcode = #{jwcode}
  97. </select>
  98. <select id="getAllJwcode" resultType="java.lang.Integer">
  99. SELECT jwcode FROM user
  100. </select>
  101. <!--查用户最早的充值订单-->
  102. <select id="getEarliestRecharge" resultType="java.util.Date">
  103. select min(pay_time)
  104. from user_gold_record
  105. where jwcode = #{jwcode}
  106. and type = 0 and audit_status in (1,3)
  107. </select>
  108. <select id="selectUserByJwcode" resultType="com.example.demo.domain.entity.User">
  109. SELECT *
  110. FROM user
  111. WHERE jwcode = #{jwcode}
  112. </select>
  113. <select id="getFirstRecharge" resultType="java.util.Date">
  114. SELECT first_recharge
  115. FROM user
  116. WHERE jwcode = #{jwcode}
  117. </select>
  118. <!-- 根据精网号更新数据 -->
  119. <update id="updateGold" parameterType="com.example.demo.domain.entity.User">
  120. UPDATE user
  121. SET
  122. current_permanent_gold = #{currentPermanentGold},
  123. current_free_june = #{currentFreeJune},
  124. current_free_december = #{currentFreeDecember},
  125. current_task_gold = #{currentTaskGold},
  126. consume_num = #{consumeNum},
  127. update_time = NOW()
  128. WHERE jwcode = #{jwcode}
  129. </update>
  130. <update id="updateAllGold" parameterType="com.example.demo.domain.entity.User">
  131. UPDATE user
  132. SET
  133. <if test="sumPermanentGold != null">sum_permanent_gold = #{sumPermanentGold},</if>
  134. <if test="sumFreeJune != null">sum_free_june = #{sumFreeJune},</if>
  135. <if test="sumFreeDecember != null">sum_free_december = #{sumFreeDecember},</if>
  136. <if test="sumTaskGold != null">sum_task_gold = #{sumTaskGold},</if>
  137. <if test="currentPermanentGold != null">current_permanent_gold = #{currentPermanentGold},</if>
  138. <if test="currentFreeJune != null">current_free_june = #{currentFreeJune},</if>
  139. <if test="currentFreeDecember != null">current_free_december = #{currentFreeDecember},</if>
  140. <if test="currentTaskGold != null">current_task_gold = #{currentTaskGold},</if>
  141. <if test="consumeNum != null">consume_num = #{consumeNum},</if>
  142. <if test="rechargeNum != null">recharge_num = #{rechargeNum},</if>
  143. <if test="sumConsumePermanent != null">sum_consume_permanent = #{sumConsumePermanent},</if>
  144. <if test="sumConsumeTask != null">sum_consume_task = #{sumConsumeTask},</if>
  145. <if test="sumConsumeFree != null">sum_consume_free = #{sumConsumeFree}</if>
  146. where jwcode = #{jwcode}
  147. </update>
  148. <!--更新用户首充时间-->
  149. <update id="updateFirstRecharge">
  150. update user
  151. set first_recharge = #{firstRecharge}
  152. where jwcode = #{jwcode}
  153. </update>
  154. </mapper>