金币系统后端
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.

241 lines
9.2 KiB

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="com.example.demo.mapper.OneMapper">
  6. <!-- 第一个查询:getOne -->
  7. <select id="getOne" resultType="com.example.demo.domain.work.One">
  8. SELECT
  9. COALESCE((SELECT SUM(recharge_coin + free_coin + task_coin)
  10. FROM detail_y
  11. WHERE DATE(create_time) = CURDATE()
  12. <if test="areas != null">
  13. AND area IN
  14. <foreach collection="areas" item="areas" open="(" separator="," close=")">
  15. #{areas}
  16. </foreach>
  17. </if>), 0) AS differr,
  18. COALESCE((SELECT SUM(free_6 + free_12 + core_jb + buy_jb)
  19. FROM user_gold
  20. left join user on user.jwcode = user_gold.jwcode
  21. <where> <if test="areas != null">
  22. area IN
  23. <foreach collection="areas" item="areas" open="(" separator="," close=")">
  24. #{areas}
  25. </foreach>
  26. </if>
  27. </where>), 0) AS sumgold,
  28. COALESCE((SELECT SUM(buy_jb)
  29. FROM user_gold
  30. left join user on user.jwcode = user_gold.jwcode
  31. <where> <if test="areas != null">
  32. area IN
  33. <foreach collection="areas" item="areas" open="(" separator="," close=")">
  34. #{areas}
  35. </foreach>
  36. </if>
  37. </where>), 0) AS rechargegold,
  38. COALESCE((SELECT SUM(free_6)
  39. FROM user_gold
  40. left join user on user.jwcode = user_gold.jwcode
  41. <where> <if test="areas != null">
  42. area IN
  43. <foreach collection="areas" item="areas" open="(" separator="," close=")">
  44. #{areas}
  45. </foreach>
  46. </if>
  47. </where>), 0) AS sfreegold,
  48. COALESCE((SELECT SUM(free_12)
  49. FROM user_gold
  50. left join user on user.jwcode = user_gold.jwcode
  51. <where> <if test="areas != null">
  52. area IN
  53. <foreach collection="areas" item="areas" open="(" separator="," close=")">
  54. #{areas}
  55. </foreach>
  56. </if>
  57. </where>), 0) AS dfreegold,
  58. COALESCE((SELECT SUM(core_jb)
  59. FROM user_gold
  60. left join user on user.jwcode = user_gold.jwcode
  61. <where> <if test="areas != null">
  62. area IN
  63. <foreach collection="areas" item="areas" open="(" separator="," close=")">
  64. #{areas}
  65. </foreach>
  66. </if>
  67. </where>), 0) AS taskgold,
  68. COALESCE((SELECT SUM(free_6) + SUM(free_12)
  69. FROM user_gold
  70. left join user on user.jwcode = user_gold.jwcode
  71. <where> <if test="areas != null">
  72. area IN
  73. <foreach collection="areas" item="areas" open="(" separator="," close=")">
  74. #{areas}
  75. </foreach>
  76. </if>
  77. </where>), 0) AS freegold;
  78. </select>
  79. <!-- 第二个查询:getTwo -->
  80. <select id="getTwo" resultType="com.example.demo.domain.work.Two">
  81. SELECT
  82. COALESCE((SELECT SUM(recharge_coin + free_coin + task_coin)
  83. FROM detail_y
  84. WHERE YEAR(create_time) = YEAR(CURDATE())
  85. AND update_type = 0
  86. <if test="areas != null">
  87. AND area IN
  88. <foreach collection="areas" item="areas" open="(" separator="," close=")">
  89. #{areas}
  90. </foreach>
  91. </if>), 0) AS totalgold,
  92. COALESCE((SELECT SUM(recharge_coin)
  93. FROM detail_y
  94. WHERE YEAR(create_time) = YEAR(CURDATE())
  95. AND update_type = 0
  96. <if test="areas != null">
  97. AND area IN
  98. <foreach collection="areas" item="areas" open="(" separator="," close=")">
  99. #{areas}
  100. </foreach>
  101. </if>), 0) AS totalcoin,
  102. COALESCE((SELECT SUM(recharge_coin + free_coin + task_coin)
  103. FROM detail_y
  104. WHERE DATE(create_time) = DATE_SUB(CURDATE(), INTERVAL 1 DAY)
  105. AND update_type = 0
  106. <if test="areas != null">
  107. AND area IN
  108. <foreach collection="areas" item="areas" open="(" separator="," close=")">
  109. #{areas}
  110. </foreach>
  111. </if>), 0) AS yesterdaytotal,
  112. COALESCE((SELECT SUM(recharge_coin)
  113. FROM detail_y
  114. WHERE DATE(create_time) = DATE_SUB(CURDATE(), INTERVAL 1 DAY)
  115. AND update_type = 0
  116. <if test="areas != null">
  117. AND area IN
  118. <foreach collection="areas" item="areas" open="(" separator="," close=")">
  119. #{areas}
  120. </foreach>
  121. </if>), 0) AS yesterdayrecharge,
  122. COALESCE((SELECT SUM(recharge_coin)
  123. FROM detail_y
  124. WHERE YEAR(create_time) = YEAR(CURDATE())
  125. AND update_type = 0
  126. <if test="areas != null">
  127. AND area IN
  128. <foreach collection="areas" item="areas" open="(" separator="," close=")">
  129. #{areas}
  130. </foreach>
  131. </if>), 0) AS rechargegold,
  132. COALESCE((SELECT SUM(free_coin)
  133. FROM detail_y
  134. WHERE YEAR(create_time) = YEAR(CURDATE())
  135. AND update_type = 0
  136. <if test="areas != null">
  137. AND area IN
  138. <foreach collection="areas" item="areas" open="(" separator="," close=")">
  139. #{areas}
  140. </foreach>
  141. </if>), 0) AS freegold,
  142. COALESCE((SELECT SUM(task_coin)
  143. FROM detail_y
  144. WHERE YEAR(create_time) = YEAR(CURDATE())
  145. AND update_type = 0
  146. <if test="areas != null">
  147. AND area IN
  148. <foreach collection="areas" item="areas" open="(" separator="," close=")">
  149. #{areas}
  150. </foreach>
  151. </if>), 0) AS taskgold
  152. </select>
  153. <!-- 第三个查询:getThree -->
  154. <select id="getThree" resultType="com.example.demo.domain.work.Three">
  155. SELECT
  156. COALESCE((SELECT SUM(recharge_coin + free_coin + task_coin)
  157. FROM detail_y
  158. WHERE YEAR(create_time) = YEAR(CURDATE())
  159. AND update_type = 1
  160. <if test="areas != null">
  161. AND area IN
  162. <foreach collection="areas" item="areas" open="(" separator="," close=")">
  163. #{areas}
  164. </foreach>
  165. </if>), 0) AS consumeGold,
  166. COALESCE((SELECT SUM(recharge_coin + free_coin + task_coin)
  167. FROM detail_y
  168. WHERE YEAR(create_time) = YEAR(CURDATE())
  169. AND update_type = 2
  170. <if test="areas != null">
  171. AND area IN
  172. <foreach collection="areas" item="areas" open="(" separator="," close=")">
  173. #{areas}
  174. </foreach>
  175. </if>), 0) AS refundcoin,
  176. COALESCE((SELECT SUM(recharge_coin + free_coin + task_coin)
  177. FROM detail_y
  178. WHERE DATE(create_time) = DATE_SUB(CURDATE(), INTERVAL 1 DAY)
  179. AND update_type = 1
  180. <if test="areas != null">
  181. AND area IN
  182. <foreach collection="areas" item="areas" open="(" separator="," close=")">
  183. #{areas}
  184. </foreach>
  185. </if>), 0) AS yesterdayGold,
  186. COALESCE((SELECT SUM(recharge_coin)
  187. FROM detail_y
  188. WHERE DATE(create_time) = DATE_SUB(CURDATE(), INTERVAL 1 DAY)
  189. AND update_type = 2
  190. <if test="areas != null">
  191. AND area IN
  192. <foreach collection="areas" item="areas" open="(" separator="," close=")">
  193. #{areas}
  194. </foreach>
  195. </if>), 0) AS yesterdayrefund,
  196. COALESCE((SELECT SUM(recharge_coin)
  197. FROM detail_y
  198. WHERE YEAR(create_time) = YEAR(CURDATE())
  199. AND update_type = 1
  200. <if test="areas != null">
  201. AND area IN
  202. <foreach collection="areas" item="areas" open="(" separator="," close=")">
  203. #{areas}
  204. </foreach>
  205. </if>), 0) AS rechargegold,
  206. COALESCE((SELECT SUM(task_coin)
  207. FROM detail_y
  208. WHERE YEAR(create_time) = YEAR(CURDATE())
  209. AND update_type = 1
  210. <if test="areas != null">
  211. AND area IN
  212. <foreach collection="areas" item="areas" open="(" separator="," close=")">
  213. #{areas}
  214. </foreach>
  215. </if>), 0) AS taskgold,
  216. COALESCE((SELECT SUM(free_coin)
  217. FROM detail_y
  218. WHERE YEAR(create_time) = YEAR(CURDATE())
  219. AND update_type = 1
  220. <if test="areas != null">
  221. AND area IN
  222. <foreach collection="areas" item="areas" open="(" separator="," close=")">
  223. #{areas}
  224. </foreach>
  225. </if>), 0) AS freegold
  226. </select>
  227. </mapper>