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.

105 lines
4.6 KiB

2 months ago
2 months ago
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) + COALESCE(current_task_gold, 0)) AS "nowSumGold",
  18. current_permanent_gold AS "nowPermanentGold",
  19. (COALESCE(current_free_june, 0) + COALESCE(current_free_december, 0)) AS "nowFreeGold",
  20. current_task_gold AS "nowTaskGold",
  21. (COALESCE(sum_permanent_gold, 0) + COALESCE(sum_free_june, 0) + COALESCE(sum_free_december, 0) + COALESCE(sum_task_gold, 0)) AS "historySumGold",
  22. sum_permanent_gold AS "historyPermanentGold",
  23. (COALESCE(sum_free_june, 0) + COALESCE(sum_free_december, 0)) AS "historyFreeGold",
  24. sum_task_gold AS "historyTaskGold",
  25. recharge_num AS "rechargeNum",
  26. consume_num AS "consumeNum",
  27. first_recharge AS "firstRecharge"
  28. FROM user
  29. WHERE jwcode = #{jwcode}
  30. </select>
  31. <!-- 根据精网号查询用户信息 -->
  32. <select id="selectAllUser" resultType="com.example.demo.domain.entity.User">
  33. SELECT
  34. *
  35. FROM user
  36. WHERE jwcode = #{jwcode}
  37. </select>
  38. <!-- 根据精网号查询金币余额 -->
  39. <select id="selectGold" resultType="com.example.demo.domain.vo.GoldUser">
  40. SELECT
  41. current_permanent_gold AS "NowPermanentGold",
  42. (COALESCE(current_free_june, 0) + COALESCE(current_free_december, 0)) AS "NowFreeGold",
  43. current_free_june AS "NowFreeJune",
  44. current_free_december AS "NowFreeDecember",
  45. current_task_gold AS "NowTaskGold",
  46. consume_num AS "consumeNum",
  47. recharge_num AS "rechargeNum"
  48. FROM user
  49. WHERE jwcode = #{jwcode}
  50. </select>
  51. <select id="getAllJwcode" resultType="java.lang.Integer">
  52. SELECT jwcode FROM user
  53. </select>
  54. <!--查用户最早的充值订单-->
  55. <select id="getEarliestRecharge" resultType="java.util.Date">
  56. select min(pay_time)
  57. from user_gold_record
  58. where jwcode = #{jwcode}
  59. and type = 0 and audit_status in (1,3)
  60. </select>
  61. <select id="selectUserByJwcode" resultType="com.example.demo.domain.entity.User">
  62. SELECT *
  63. FROM user
  64. WHERE jwcode = #{jwcode}
  65. </select>
  66. <!-- 根据精网号更新数据 -->
  67. <update id="updateGold" parameterType="com.example.demo.domain.entity.User">
  68. UPDATE user
  69. SET
  70. current_permanent_gold = #{currentPermanentGold},
  71. current_free_june = #{currentFreeJune},
  72. current_free_december = #{currentFreeDecember},
  73. current_task_gold = #{currentTaskGold},
  74. consume_num = #{consumeNum},
  75. sum_consume = sum_consume + #{sumConsume},
  76. update_time = NOW()
  77. WHERE jwcode = #{jwcode}
  78. </update>
  79. <update id="updateAllGold" parameterType="com.example.demo.domain.entity.User">
  80. UPDATE user
  81. SET
  82. <if test="sumPermanentGold != null">sum_permanent_gold = #{sumPermanentGold},</if>
  83. <if test="sumFreeJune != null">sum_free_june = #{sumFreeJune},</if>
  84. <if test="sumFreeDecember != null">sum_free_december = #{sumFreeDecember},</if>
  85. <if test="sumTaskGold != null">sum_task_gold = #{sumTaskGold},</if>
  86. <if test="currentPermanentGold != null">current_permanent_gold = #{currentPermanentGold},</if>
  87. <if test="currentFreeJune != null">current_free_june = #{currentFreeJune},</if>
  88. <if test="currentFreeDecember != null">current_free_december = #{currentFreeDecember},</if>
  89. <if test="currentTaskGold != null">current_task_gold = #{currentTaskGold},</if>
  90. <if test="consumeNum != null">consume_num = #{consumeNum},</if>
  91. <if test="rechargeNum != null">recharge_num = #{rechargeNum}</if>
  92. where jwcode = #{jwcode}
  93. </update>
  94. <!--更新用户首充时间-->
  95. <update id="updateFirstRecharge">
  96. update user
  97. set first_recharge = #{firstRecharge}
  98. where jwcode = #{jwcode}
  99. </update>
  100. </mapper>