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

126 lines
4.8 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.RechargeMapper">
  6. <select id="getRechargeA" resultType="com.example.demo.domain.vo.RechargeA">
  7. SELECT
  8. CASE
  9. WHEN audit.status = 0 THEN '待审核'
  10. WHEN audit.status = 1 THEN '已通过'
  11. WHEN audit.status = 2 THEN '已驳回'
  12. ELSE '其他状态'
  13. END AS auditStatus,
  14. COUNT(*) AS Raudit,
  15. SUM(paid_gold)/100 AS SumRaudit1,
  16. SUM(free_gold)/100 AS SumRaudit2,
  17. (SUM(paid_gold) + SUM(free_gold))/100 AS SumRaudit
  18. FROM
  19. recharge
  20. LEFT JOIN `user` ON recharge.jwcode = `user`.jwcode
  21. inner JOIN audit ON recharge.recharge_id = audit.recharge_id
  22. <where>
  23. <!-- 动态条件:flag -->
  24. <if test="flags != null and flags.size > 0">
  25. flag IN
  26. <foreach collection="flags" item="flag" open="(" separator="," close=")">
  27. #{flag}
  28. </foreach>
  29. </if>
  30. <if test='jwcode!=null and jwcode.length>0'>and recharge.jwcode=#{jwcode}</if>
  31. <if test='activityId!=null'>and recharge.activity_id=#{activityId}</if>
  32. <if test='adminId!=null'>and recharge.admin_id=#{adminId}</if>
  33. <if test='startDate != null and endDate != null'>AND recharge.create_time BETWEEN #{startDate} AND #{endDate}</if>
  34. <if test='payWay!=null and payWay.length>0 '>and pay_way like concat('%',#{payWay},'%')</if>
  35. <if test='rechargeWay!=null and rechargeWay.length>0 '>and recharge_way like concat('%',#{rechargeWay},'%')</if>
  36. <if test='area!=null and area.length>0'>and user.area=#{area}</if>
  37. <if test="areas != null">
  38. AND user.area IN
  39. <foreach collection="areas" item="areas" open="(" separator="," close=")">
  40. #{areas}
  41. </foreach>
  42. </if>
  43. </where>
  44. GROUP BY
  45. auditStatus;
  46. </select>
  47. <select id="getWay" resultType="java.lang.String">
  48. SELECT DISTINCT
  49. recharge_way
  50. FROM
  51. recharge
  52. </select>
  53. <select id="select" resultType="com.example.demo.domain.vo.RechargeVo">
  54. SELECT
  55. user.`name` AS user_name,
  56. recharge.jwcode,
  57. recharge.create_time,
  58. recharge.recharge_time,
  59. recharge.recharge_way,
  60. recharge.remark,
  61. recharge.paid_gold,
  62. recharge.free_gold,
  63. recharge.recharge_gold,
  64. recharge.pay_way,
  65. recharge.recharge_voucher,
  66. recharge.recharge_id,
  67. recharge.activity_id,
  68. recharge.admin_id,
  69. activity.activity_name,
  70. audit.`status`,
  71. audit.audit_id,
  72. audit.audit_time,
  73. audit.reson,
  74. admin.name,
  75. user.area,
  76. audit.detail_id
  77. FROM recharge
  78. LEFT JOIN audit ON recharge.recharge_id = audit.recharge_id
  79. LEFT JOIN `user` ON recharge.jwcode = `user`.jwcode
  80. LEFT JOIN activity ON recharge.activity_id = activity.activity_id
  81. LEFT JOIN `admin` ON recharge.admin_id = `admin`.admin_id
  82. <where>
  83. flag = '1'
  84. <if test='jwcode != null and jwcode.length > 0'>
  85. AND recharge.jwcode = #{jwcode}
  86. </if>
  87. <if test='activityId != null'>
  88. AND recharge.activity_id = #{activityId}
  89. </if>
  90. <if test='adminId != null'>
  91. AND recharge.admin_id = #{adminId}
  92. </if>
  93. <if test='startDate != null and endDate != null'>
  94. AND recharge.create_time BETWEEN #{startDate} AND #{endDate}
  95. </if>
  96. <if test='payWay != null and payWay.length > 0'>
  97. AND pay_way LIKE CONCAT('%', #{payWay}, '%')
  98. </if>
  99. <if test='rechargeWay != null and rechargeWay.length > 0'>
  100. AND recharge_way LIKE CONCAT('%', #{rechargeWay}, '%')
  101. </if>
  102. <if test='area != null and area.length > 0'>
  103. AND user.area = #{area}
  104. </if>
  105. <if test='status != null'>
  106. AND audit.status = #{status}
  107. </if>
  108. <if test="areas != null">
  109. AND user.area IN
  110. <foreach collection="areas" item="areas" open="(" separator="," close=")">
  111. #{areas}
  112. </foreach>
  113. </if>
  114. </where>
  115. <choose>
  116. <when test="sortField != null and sortField.length >0 or sortOrder != null and sortOrder.length >0">
  117. ORDER BY ${sortField} ${sortOrder}
  118. </when>
  119. <otherwise>
  120. ORDER BY recharge.create_time DESC
  121. </otherwise>
  122. </choose>
  123. </select>
  124. </mapper>