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.

193 lines
8.0 KiB

5 months ago
5 months ago
4 months ago
4 months ago
4 months ago
4 months ago
5 months ago
5 months ago
5 months ago
5 months ago
4 months ago
5 months ago
5 months ago
5 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.coin.AuditMapper">
  4. <insert id="addErrorRecord">
  5. insert into error_record (
  6. order_code,jwcode,error_type,permanent_gold,free_june,
  7. free_december,task_gold,origin_create_time
  8. ) values (
  9. #{orderCode},#{jwcode},#{remark},
  10. #{permanentGold},#{freeJune},#{freeDecember},#{taskGold},
  11. #{createTime}
  12. )
  13. </insert>
  14. <!-- 修改订单审核人与审核状态-->
  15. <update id="updateOrder">
  16. update user_gold_record
  17. set audit_id = #{auditId},
  18. audit_status = #{auditStatus},
  19. reject_reason = #{rejectReason},
  20. audit_time = #{auditTime}
  21. where order_code = #{orderCode} and audit_status = 0
  22. order by create_time DESC
  23. limit 1
  24. </update>
  25. <update id="updateUserGold">
  26. update user
  27. <set>
  28. <if test="currentPermanentGold != null">
  29. current_permanent_gold = current_permanent_gold + #{currentPermanentGold},
  30. </if>
  31. <if test="currentFreeJune != null">
  32. current_free_june = current_free_june + #{currentFreeJune},
  33. </if>
  34. <if test="currentFreeDecember != null">
  35. current_free_december = current_free_december + #{currentFreeDecember},
  36. </if>
  37. <if test="currentTaskGold != null">
  38. current_task_gold = current_task_gold + #{currentTaskGold},
  39. </if>
  40. </set>
  41. where jwcode = #{jwcode}
  42. </update>
  43. <update id="updateOrderRefund">
  44. update user_gold_record
  45. set is_refund = #{isRefund}
  46. where order_code = #{orderCode} and type in (0,1)
  47. </update>
  48. <select id="selectRechargeBy" resultType="com.example.demo.domain.vo.coin.RechargeAudit">
  49. SELECT ugr.*,
  50. (COALESCE(ugr.free_june, 0) + COALESCE(ugr.free_december, 0)) AS freeGold,
  51. u.name as name,
  52. m.name as market,
  53. r.rate_name AS rateName,
  54. a1.admin_name as adminName,
  55. a2.admin_name as auditName
  56. FROM user_gold_record as ugr
  57. LEFT JOIN user u ON ugr.jwcode = u.jwcode
  58. LEFT JOIN admin a1 ON ugr.admin_id = a1.id
  59. LEFT JOIN admin a2 ON ugr.audit_id = a2.id
  60. left join market m ON u.market = m.id
  61. left JOIN rate r ON ugr.rate_id = r.id
  62. <where>
  63. <!-- <if test="rechargeAudit.flag != 0">
  64. AND u.flag = 1
  65. </if>-->
  66. <if test="rechargeAudit.jwcode != null and rechargeAudit.jwcode != ''">
  67. AND ugr.jwcode = #{rechargeAudit.jwcode}
  68. </if>
  69. <if test="rechargeAudit.flag!=0">
  70. AND u.flag = 1
  71. </if>
  72. <if test="rechargeAudit.activity != null and rechargeAudit.activity != ''">
  73. AND ugr.activity = #{rechargeAudit.activity}
  74. </if>
  75. <!-- 判断 market 是否不为总部且 markets 不为空 -->
  76. <if test="rechargeAudit.markets != null and rechargeAudit.markets.size() > 0">
  77. AND (
  78. <foreach collection="rechargeAudit.markets" item="market" open="" close="" separator=" OR ">
  79. u.market = #{market}
  80. </foreach>
  81. )
  82. </if>
  83. <if test="rechargeAudit.payModel != null and rechargeAudit.payModel != ''">
  84. AND ugr.pay_model = #{rechargeAudit.payModel}
  85. </if>
  86. <!-- <if test="rechargeAudit.rateId != null and rechargeAudit.rateId != ''">
  87. AND ugr.rate_id = #{rechargeAudit.rateId}
  88. </if>-->
  89. <if test="rechargeAudit.market != null and rechargeAudit.market != ''">
  90. AND m.name = #{rechargeAudit.market}
  91. </if>
  92. <if test="rechargeAudit.startTime != null and rechargeAudit.endTime != null ">
  93. AND ugr.audit_time between #{rechargeAudit.startTime} and #{rechargeAudit.endTime}
  94. </if>
  95. <if test="rechargeAudit.auditStatus != null and rechargeAudit.auditStatus != ''">
  96. AND ugr.audit_status = #{rechargeAudit.auditStatus}
  97. </if>
  98. AND ugr.type = 0
  99. and ugr.flag=1
  100. </where>
  101. <choose>
  102. <when test="rechargeAudit.sortField != null and rechargeAudit.sortField.length > 0 or rechargeAudit.sortOrder != null and rechargeAudit.sortOrder.length > 0">
  103. ORDER BY ${rechargeAudit.sortField} ${rechargeAudit.sortOrder}
  104. </when>
  105. <otherwise>
  106. ORDER BY audit_time DESC
  107. </otherwise>
  108. </choose>
  109. </select>
  110. <select id="selectRefundBy" resultType="com.example.demo.domain.vo.coin.RefundAudit">
  111. SELECT ugr.*,
  112. (COALESCE(ugr.free_june, 0) + COALESCE(ugr.free_december, 0)) AS freeGold,
  113. u.name as name,
  114. r.rate_name AS rateName,
  115. m.name as market,
  116. a1.admin_name as adminName,
  117. a2.admin_name as auditName
  118. FROM user_gold_record as ugr
  119. LEFT JOIN user u ON ugr.jwcode = u.jwcode
  120. LEFT JOIN admin a1 ON ugr.admin_id = a1.id
  121. LEFT JOIN admin a2 ON ugr.audit_id = a2.id
  122. left join market m ON u.market = m.id
  123. left JOIN rate r ON ugr.rate_id = r.id
  124. <where>
  125. <!-- <if test="refundAudit.flag != 0">
  126. AND u.flag = 1
  127. </if>-->
  128. <if test="refundAudit.jwcode != null">
  129. AND ugr.jwcode = #{refundAudit.jwcode}
  130. </if>
  131. <if test="refundAudit.flag!=0">
  132. AND u.flag = 1
  133. </if>
  134. <if test="refundAudit.refundModel != null ">
  135. AND ugr.refund_model = #{refundAudit.refundModel}
  136. </if>
  137. <if test="refundAudit.refundType != null and refundAudit.refundType!='' ">
  138. AND ugr.refund_type = #{refundAudit.refundType}
  139. </if>
  140. <if test="refundAudit.goodsName != null and refundAudit.goodsName != ''">
  141. AND ugr.goods_name = #{refundAudit.goodsName}
  142. </if>
  143. <!-- 判断 market 是否不为总部且 markets 不为空 -->
  144. <if test="refundAudit.markets != null and refundAudit.markets.size() > 0">
  145. AND (
  146. <foreach collection="refundAudit.markets" item="market" open="" close="" separator=" OR ">
  147. u.market = #{market}
  148. </foreach>
  149. )
  150. </if>
  151. <if test="refundAudit.startTime != null and refundAudit.endTime != null ">
  152. AND ugr.audit_time between #{refundAudit.startTime} and #{refundAudit.endTime}
  153. </if>
  154. <if test="refundAudit.market != null and refundAudit.market != ''">
  155. AND m.name = #{refundAudit.market}
  156. </if>
  157. <if test="refundAudit.auditStatus != null and refundAudit.auditStatus != ''">
  158. AND ugr.audit_status = #{refundAudit.auditStatus}
  159. </if>
  160. AND ugr.type = 2
  161. and ugr.flag=1
  162. </where>
  163. <choose>
  164. <when test="refundAudit.sortField != null and refundAudit.sortField.length > 0 or refundAudit.sortOrder != null and refundAudit.sortOrder.length > 0">
  165. ORDER BY ${refundAudit.sortField} ${refundAudit.sortOrder}
  166. </when>
  167. <otherwise>
  168. ORDER BY audit_time DESC
  169. </otherwise>
  170. </choose>
  171. </select>
  172. <select id="getName" resultType="java.lang.String">
  173. select admin_name from admin where id = #{auditId}
  174. </select>
  175. <select id="getNamesByIds" resultType="com.example.demo.domain.entity.Admin">
  176. select id, admin_name from admin
  177. where id in
  178. <foreach collection="submitterIds" item="id" open="(" separator="," close=")">
  179. #{id}
  180. </foreach>
  181. </select>
  182. <update id="updateFirstRecharge">
  183. update user set first_recharge = now() where jwcode = #{jwcode} and first_recharge is null
  184. </update>
  185. </mapper>