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.

183 lines
7.0 KiB

6 days ago
6 days ago
6 days ago
6 days ago
6 days ago
6 days ago
6 days ago
6 days ago
6 days ago
6 days ago
6 days ago
6 days ago
6 days ago
6 days ago
6 days ago
6 days ago
6 days ago
6 days ago
6 days ago
6 days ago
6 days 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.RechargeMapper">
  4. <!-- 查询所有充值记录 -->
  5. <select id="selectAll" resultType="com.example.demo.domain.vo.RechargeUser">
  6. SELECT
  7. u.name AS name,
  8. u.jwcode AS jwcode,
  9. u.market AS market,
  10. ugr.activity AS activity,
  11. ugr.rate_id AS rateId,
  12. r.rate_name AS rateName,
  13. ugr.money AS money,
  14. ugr.permanent_gold AS permanentGold,
  15. (COALESCE(ugr.free_june, 0) + COALESCE(ugr.free_december, 0)) AS freeGold,
  16. ugr.pay_model AS payModel,
  17. ugr.pay_platform AS payPlatform,
  18. ugr.remark AS remark,
  19. ugr.admin_id AS adminId,
  20. a.admin_name AS adminName,
  21. ugr.pay_time AS payTime
  22. FROM user u
  23. JOIN user_gold_record ugr ON u.jwcode = ugr.jwcode
  24. JOIN admin a ON ugr.admin_id = a.id
  25. JOIN rate r ON ugr.rate_id = r.id
  26. WHERE ugr.type = 0
  27. <trim prefix="ORDER BY" suffixOverrides=",">
  28. <choose>
  29. <!-- 当指定排序字段时使用指定字段排序 -->
  30. <when test="sortField != null and sortField != ''">
  31. <choose>
  32. <!-- 对金币数量的排序处理 -->
  33. <when test="sortField == 'permanentGold'">ugr.permanent_gold</when>
  34. <when test="sortField == 'freeGold'">(COALESCE(ugr.free_june, 0) + COALESCE(ugr.free_december, 0))</when>
  35. <!-- 对时间字段的排序处理 -->
  36. <when test="sortField == 'payTime'">ugr.pay_time</when>
  37. <!-- 其他字段不支持排序,使用默认排序 -->
  38. <otherwise>ugr.pay_time</otherwise>
  39. </choose>
  40. <!-- 排序方向处理 -->
  41. <if test="sortOrder != null and sortOrder != ''">
  42. <choose>
  43. <when test="sortOrder == 'ASC'">ASC</when>
  44. <when test="sortOrder == 'DESC'">DESC</when>
  45. <otherwise>DESC</otherwise>
  46. </choose>
  47. </if>
  48. <if test="sortOrder == null or sortOrder == ''">
  49. DESC
  50. </if>
  51. </when>
  52. <!-- 未指定排序字段时,使用默认的时间降序排序 -->
  53. <otherwise>
  54. ugr.pay_time DESC
  55. </otherwise>
  56. </choose>
  57. </trim>
  58. </select>
  59. <!-- 查询筛选后充值记录 -->
  60. <select id="selectBy" resultType="com.example.demo.domain.vo.RechargeUser">
  61. SELECT
  62. u.name AS name,
  63. u.jwcode AS jwcode,
  64. u.market AS market,
  65. ugr.activity AS activity,
  66. ugr.rate_id AS rateId,
  67. r.rate_name AS rateName,
  68. ugr.money AS money,
  69. ugr.permanent_gold AS permanentGold,
  70. (COALESCE(ugr.free_june, 0) + COALESCE(ugr.free_december, 0)) AS freeGold,
  71. ugr.pay_model AS payModel,
  72. ugr.pay_platform AS payPlatform,
  73. ugr.remark AS remark,
  74. ugr.admin_id AS adminId,
  75. a.admin_name AS adminName,
  76. ugr.pay_time AS payTime
  77. FROM user u
  78. JOIN user_gold_record ugr ON u.jwcode = ugr.jwcode
  79. JOIN admin a ON ugr.admin_id = a.id
  80. JOIN rate r ON ugr.rate_id = r.id
  81. <where>
  82. ugr.type = 0
  83. <if test="jwcode != null and jwcode != ''">
  84. AND ugr.jwcode = #{jwcode}
  85. </if>
  86. <if test="activity != null and activity != ''">
  87. AND ugr.activity = #{activity}
  88. </if>
  89. <if test="market != null and market != ''">
  90. AND u.market = #{market}
  91. </if>
  92. <if test="payPlatform != null and payPlatform != ''">
  93. AND ugr.pay_platform = #{payPlatform}
  94. </if>
  95. <if test="startTime != null and endTime != null">
  96. AND ugr.pay_time BETWEEN #{startTime} AND #{endTime}
  97. </if>
  98. </where>
  99. <trim prefix="ORDER BY" suffixOverrides=",">
  100. <choose>
  101. <!-- 当指定排序字段时使用指定字段排序 -->
  102. <when test="sortField != null and sortField != ''">
  103. <choose>
  104. <!-- 对金币数量的排序处理 -->
  105. <when test="sortField == 'permanentGold'">ugr.permanent_gold</when>
  106. <when test="sortField == 'money'">ugr.money</when>
  107. <when test="sortField == 'freeGold'">(COALESCE(ugr.free_june, 0) + COALESCE(ugr.free_december, 0))</when>
  108. <!-- 对时间字段的排序处理 -->
  109. <when test="sortField == 'payTime'">ugr.pay_time</when>
  110. <!-- 其他字段不支持排序,使用默认排序 -->
  111. <otherwise>ugr.pay_time</otherwise>
  112. </choose>
  113. <!-- 排序方向处理 -->
  114. <if test="sortOrder != null and sortOrder != ''">
  115. <choose>
  116. <when test="sortOrder == 'ASC'">ASC</when>
  117. <when test="sortOrder == 'DESC'">DESC</when>
  118. <otherwise>DESC</otherwise>
  119. </choose>
  120. </if>
  121. <if test="sortOrder == null or sortOrder == ''">
  122. DESC
  123. </if>
  124. </when>
  125. <!-- 未指定排序字段时,使用默认的时间降序排序 -->
  126. <otherwise>
  127. ugr.pay_time DESC
  128. </otherwise>
  129. </choose>
  130. </trim>
  131. </select>
  132. <insert id="add" parameterType="com.example.demo.domain.entity.UserGoldRecord" useGeneratedKeys="true" keyProperty="id">
  133. INSERT INTO user_gold_record
  134. <trim prefix="(" suffix=")" suffixOverrides=",">
  135. order_code,
  136. jwcode,
  137. activity,
  138. sum_gold,
  139. permanent_gold,
  140. free_june,
  141. free_december,
  142. rate_id,
  143. money,
  144. voucher,
  145. pay_platform,
  146. pay_model,
  147. pay_time,
  148. remark,
  149. admin_id,
  150. type,
  151. audit_status,
  152. create_time
  153. </trim>
  154. VALUES
  155. <trim prefix="(" suffix=")" suffixOverrides=",">
  156. #{orderCode},
  157. #{jwcode},
  158. #{activity},
  159. #{sumGold},
  160. #{permanentGold},
  161. #{freeJune},
  162. #{freeDecember},
  163. #{rateId},
  164. #{money},
  165. #{voucher},
  166. #{payPlatform},
  167. #{payModel},
  168. #{payTime},
  169. #{remark},
  170. #{adminId},
  171. #{type},
  172. #{auditStatus},
  173. #{createTime}
  174. </trim>
  175. </insert>
  176. </mapper>