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.

84 lines
3.9 KiB

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. FROM user
  48. WHERE jwcode = #{jwcode}
  49. </select>
  50. <select id="selectRechargeNumByJwcode" resultType="java.lang.Integer">
  51. select recharge_num from user where jwcode = #{jwcode}
  52. </select>
  53. <!-- 根据精网号更新数据 -->
  54. <update id="updateGold" parameterType="com.example.demo.domain.entity.User">
  55. UPDATE user
  56. SET
  57. current_permanent_gold = #{currentPermanentGold},
  58. current_free_june = #{currentFreeJune},
  59. current_free_december = #{currentFreeDecember},
  60. current_task_gold = #{currentTaskGold},
  61. consume_num = #{consumeNum},
  62. sum_consume = sum_consume + #{sumConsume},
  63. update_time = NOW()
  64. WHERE jwcode = #{jwcode}
  65. </update>
  66. <update id="updateAllGold">
  67. UPDATE user
  68. SET
  69. <if test="sum_permanent_gold != null">sum_permanent_gold = #{sumPermanentGold},</if>
  70. <if test="sum_free_june != null">sum_free_june = #{sumFreeJune},</if>
  71. <if test="sum_free_december != null">sum_free_december = #{sumFreeDecember},</if>
  72. <if test="sum_task_gold != null">sum_task_gold = #{sumTaskGold},</if>
  73. <if test="current_permanent_gold != null">current_permanent_gold = #{currentPermanentGold},</if>
  74. <if test="current_free_june != null">current_free_june = #{currentFreeJune},</if>
  75. <if test="current_free_december != null">current_free_december = #{currentFreeDecember},</if>
  76. <if test="current_task_gold != null">current_task_gold = #{currentTaskGold},</if>
  77. <if test="consume_num != null">consume_num = #{consumeNum},</if>
  78. <if test="recharge_num != null">recharge_num = #{rechargeNum}</if>
  79. where jwcode = #{jwcode}
  80. </update>
  81. </mapper>