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.

182 lines
6.9 KiB

5 days ago
5 days ago
5 days ago
5 days ago
5 days ago
5 days ago
5 days ago
5 days ago
5 days ago
5 days ago
5 days ago
5 days ago
5 days ago
5 days ago
5 days ago
5 days ago
5 days ago
5 days ago
5 days ago
5 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 == 'freeGold'">(COALESCE(ugr.free_june, 0) + COALESCE(ugr.free_december, 0))</when>
  107. <!-- 对时间字段的排序处理 -->
  108. <when test="sortField == 'payTime'">ugr.pay_time</when>
  109. <!-- 其他字段不支持排序,使用默认排序 -->
  110. <otherwise>ugr.pay_time</otherwise>
  111. </choose>
  112. <!-- 排序方向处理 -->
  113. <if test="sortOrder != null and sortOrder != ''">
  114. <choose>
  115. <when test="sortOrder == 'ASC'">ASC</when>
  116. <when test="sortOrder == 'DESC'">DESC</when>
  117. <otherwise>DESC</otherwise>
  118. </choose>
  119. </if>
  120. <if test="sortOrder == null or sortOrder == ''">
  121. DESC
  122. </if>
  123. </when>
  124. <!-- 未指定排序字段时,使用默认的时间降序排序 -->
  125. <otherwise>
  126. ugr.pay_time DESC
  127. </otherwise>
  128. </choose>
  129. </trim>
  130. </select>
  131. <insert id="add" parameterType="com.example.demo.domain.entity.UserGoldRecord" useGeneratedKeys="true" keyProperty="id">
  132. INSERT INTO user_gold_record
  133. <trim prefix="(" suffix=")" suffixOverrides=",">
  134. order_code,
  135. jwcode,
  136. activity,
  137. sum_gold,
  138. permanent_gold,
  139. free_june,
  140. free_december,
  141. rate_id,
  142. money,
  143. voucher,
  144. pay_platform,
  145. pay_model,
  146. pay_time,
  147. remark,
  148. admin_id,
  149. type,
  150. audit_status,
  151. create_time
  152. </trim>
  153. VALUES
  154. <trim prefix="(" suffix=")" suffixOverrides=",">
  155. #{orderCode},
  156. #{jwcode},
  157. #{activity},
  158. #{sumGold},
  159. #{permanentGold},
  160. #{freeJune},
  161. #{freeDecember},
  162. #{rateId},
  163. #{money},
  164. #{voucher},
  165. #{payPlatform},
  166. #{payModel},
  167. #{payTime},
  168. #{remark},
  169. #{adminId},
  170. #{type},
  171. #{auditStatus},
  172. #{createTime}
  173. </trim>
  174. </insert>
  175. </mapper>