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.

141 lines
6.2 KiB

2 months ago
2 months ago
2 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.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.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="selectUserCard" resultType="com.example.demo.domain.vo.GoldUser">
  37. SELECT
  38. name AS "name",
  39. jwcode AS "jwcode",
  40. market AS "market",
  41. (COALESCE(current_permanent_gold, 0) + COALESCE(current_free_june, 0) + COALESCE(current_free_december, 0) + COALESCE(current_task_gold, 0)) AS "nowSumGold",
  42. current_permanent_gold AS "nowPermanentGold",
  43. (COALESCE(current_free_june, 0) + COALESCE(current_free_december, 0)) AS "nowFreeGold",
  44. current_task_gold AS "nowTaskGold",
  45. (COALESCE(sum_permanent_gold, 0) + COALESCE(sum_free_june, 0) + COALESCE(sum_free_december, 0) + COALESCE(sum_task_gold, 0)) AS "historySumGold",
  46. sum_permanent_gold AS "historyPermanentGold",
  47. (COALESCE(sum_free_june, 0) + COALESCE(sum_free_december, 0)) AS "historyFreeGold",
  48. sum_task_gold AS "historyTaskGold",
  49. recharge_num AS "rechargeNum",
  50. consume_num AS "consumeNum",
  51. first_recharge AS "firstRecharge"
  52. FROM user
  53. <where>
  54. jwcode = #{jwcode}
  55. <!-- 判断 market 是否不为总部且 markets 不为空 -->
  56. <if test="markets != null and markets.size() > 0 and '总部' not in markets">
  57. AND (
  58. <foreach collection="markets" item="market" open="" close="" separator=" OR ">
  59. market LIKE CONCAT('%', #{market}, '%')
  60. </foreach>
  61. )
  62. </if>
  63. </where>
  64. </select>
  65. <!-- 根据精网号查询用户信息 -->
  66. <select id="selectAllUser" resultType="com.example.demo.domain.entity.User">
  67. SELECT
  68. *
  69. FROM user
  70. WHERE jwcode = #{jwcode}
  71. </select>
  72. <!-- 根据精网号查询金币余额 -->
  73. <select id="selectGold" resultType="com.example.demo.domain.vo.GoldUser">
  74. SELECT
  75. current_permanent_gold AS "NowPermanentGold",
  76. (COALESCE(current_free_june, 0) + COALESCE(current_free_december, 0)) AS "NowFreeGold",
  77. current_free_june AS "NowFreeJune",
  78. current_free_december AS "NowFreeDecember",
  79. current_task_gold AS "NowTaskGold",
  80. consume_num AS "consumeNum",
  81. recharge_num AS "rechargeNum"
  82. FROM user
  83. WHERE jwcode = #{jwcode}
  84. </select>
  85. <select id="getAllJwcode" resultType="java.lang.Integer">
  86. SELECT jwcode FROM user
  87. </select>
  88. <!--查用户最早的充值订单-->
  89. <select id="getEarliestRecharge" resultType="java.util.Date">
  90. select min(pay_time)
  91. from user_gold_record
  92. where jwcode = #{jwcode}
  93. and type = 0 and audit_status in (1,3)
  94. </select>
  95. <select id="selectUserByJwcode" resultType="com.example.demo.domain.entity.User">
  96. SELECT *
  97. FROM user
  98. WHERE jwcode = #{jwcode}
  99. </select>
  100. <!-- 根据精网号更新数据 -->
  101. <update id="updateGold" parameterType="com.example.demo.domain.entity.User">
  102. UPDATE user
  103. SET
  104. current_permanent_gold = #{currentPermanentGold},
  105. current_free_june = #{currentFreeJune},
  106. current_free_december = #{currentFreeDecember},
  107. current_task_gold = #{currentTaskGold},
  108. consume_num = #{consumeNum},
  109. update_time = NOW()
  110. WHERE jwcode = #{jwcode}
  111. </update>
  112. <update id="updateAllGold" parameterType="com.example.demo.domain.entity.User">
  113. UPDATE user
  114. SET
  115. <if test="sumPermanentGold != null">sum_permanent_gold = #{sumPermanentGold},</if>
  116. <if test="sumFreeJune != null">sum_free_june = #{sumFreeJune},</if>
  117. <if test="sumFreeDecember != null">sum_free_december = #{sumFreeDecember},</if>
  118. <if test="sumTaskGold != null">sum_task_gold = #{sumTaskGold},</if>
  119. <if test="currentPermanentGold != null">current_permanent_gold = #{currentPermanentGold},</if>
  120. <if test="currentFreeJune != null">current_free_june = #{currentFreeJune},</if>
  121. <if test="currentFreeDecember != null">current_free_december = #{currentFreeDecember},</if>
  122. <if test="currentTaskGold != null">current_task_gold = #{currentTaskGold},</if>
  123. <if test="consumeNum != null">consume_num = #{consumeNum},</if>
  124. <if test="rechargeNum != null">recharge_num = #{rechargeNum}</if>
  125. <if test="sumConsumePermanent != null">sum_consume_permanent = #{sumConsumePermanent},</if>
  126. <if test="sumConsumeTask != null">sum_consume_task = #{sumConsumeTask},</if>
  127. <if test="sumConsumeFree != null">sum_consume_free = #{sumConsumeFree},</if>
  128. where jwcode = #{jwcode}
  129. </update>
  130. <!--更新用户首充时间-->
  131. <update id="updateFirstRecharge">
  132. update user
  133. set first_recharge = #{firstRecharge}
  134. where jwcode = #{jwcode}
  135. </update>
  136. </mapper>