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
10 KiB

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.demo.mapper.coin.AuditMapper">
<update id="updateOrder">
update user_gold_record
set audit_id = #{auditId},
audit_status = #{auditStatus},
red_diff = #{redDiff},
reject_reason = #{rejectReason},
audit_time = #{auditTime}
where order_code = #{orderCode} and audit_status = 0
order by create_time DESC
limit 1
</update>
<update id="updateUserGold">
update user
<set>
<if test="currentPermanentGold != null">
current_permanent_gold = current_permanent_gold + #{currentPermanentGold},
</if>
<if test="currentFreeJune != null">
current_free_june = current_free_june + #{currentFreeJune},
</if>
<if test="currentFreeDecember != null">
current_free_december = current_free_december + #{currentFreeDecember},
</if>
<if test="currentTaskGold != null">
current_task_gold = current_task_gold + #{currentTaskGold},
</if>
</set>
where jwcode = #{jwcode}
</update>
<update id="updateOrderRefund">
update user_gold_record
set is_refund = #{isRefund}
where order_code = #{orderCode} and type in (0,1)
</update>
<select id="selectRechargeBy" resultType="com.example.demo.domain.vo.coin.RechargeAudit">
SELECT ugr.id,ugr.order_code,ugr.jwcode,ugr.activity,
ugr.rate_id,ugr.money,ugr.sum_gold,ugr.permanent_gold,ugr.free_june,ugr.free_december,
ugr.task_gold,ugr.remark,ugr.pay_model,ugr.pay_platform,ugr.voucher,
ugr.goods_name,ugr.type,ugr.is_refund,ugr.admin_id,ugr.audit_id,
ugr.audit_status,ugr.reject_reason,ugr.pay_time,
ugr.create_time,ugr.audit_time,ugr.update_time,
(COALESCE(ugr.free_june, 0) + COALESCE(ugr.free_december, 0)) AS freeGold,
u.name as name,
m.name as market,
r.rate_name AS rateName,
a1.admin_name as adminName,
a2.admin_name as auditName
FROM user_gold_record as ugr
LEFT JOIN user u ON ugr.jwcode = u.jwcode
LEFT JOIN admin a1 ON ugr.admin_id = a1.id
LEFT JOIN admin a2 ON ugr.audit_id = a2.id
left join market m ON u.market = m.id
left JOIN rate r ON ugr.rate_id = r.id
<where>
<!-- <if test="rechargeAudit.flag != 0">
AND u.flag = 1
</if>-->
<if test="rechargeAudit.jwcode != null and rechargeAudit.jwcode != ''">
AND ugr.jwcode = #{rechargeAudit.jwcode}
</if>
<if test="rechargeAudit.flag!=0">
AND u.flag = 1
</if>
<if test="rechargeAudit.activity != null and rechargeAudit.activity != ''">
AND ugr.activity = #{rechargeAudit.activity}
</if>
<!-- 判断 market 是否不为总部且 markets 不为空 -->
<!-- <if test="rechargeAudit.markets != null and rechargeAudit.markets.size() > 0">
AND (
<foreach collection="rechargeAudit.markets" item="market" open="" close="" separator=" OR ">
u.market = #{market}
</foreach>
)
</if>-->
<if test="rechargeAudit.markets != null and rechargeAudit.markets.size() > 0">
AND u.market IN
<foreach collection="rechargeAudit.markets" item="market" open="(" separator="," close=")">
#{market}
</foreach>
</if>
<if test="rechargeAudit.payModel != null and rechargeAudit.payModel != ''">
AND ugr.pay_model = #{rechargeAudit.payModel}
</if>
<!-- <if test="rechargeAudit.rateId != null and rechargeAudit.rateId != ''">
AND ugr.rate_id = #{rechargeAudit.rateId}
</if>-->
<if test="rechargeAudit.market != null and rechargeAudit.market != ''">
AND m.id = #{rechargeAudit.market}
</if>
<if test="rechargeAudit.startTime != null and rechargeAudit.endTime != null ">
AND ugr.audit_time between #{rechargeAudit.startTime} and #{rechargeAudit.endTime}
</if>
<if test="rechargeAudit.auditStatus != null and rechargeAudit.auditStatus != ''">
AND ugr.audit_status = #{rechargeAudit.auditStatus}
</if>
AND ugr.type = 0
and ugr.flag=1
</where>
<choose>
<when test="rechargeAudit.sortField != null and rechargeAudit.sortField.length > 0 or rechargeAudit.sortOrder != null and rechargeAudit.sortOrder.length > 0">
ORDER BY ${rechargeAudit.sortField} ${rechargeAudit.sortOrder}
</when>
<otherwise>
ORDER BY audit_time DESC
</otherwise>
</choose>
</select>
<select id="selectRefundBy" resultType="com.example.demo.domain.vo.coin.RefundAudit">
SELECT ugr.id,ugr.order_code,ugr.jwcode,
ugr.sum_gold,ugr.permanent_gold,ugr.free_june,ugr.free_december,
ugr.task_gold,ugr.remark,ugr.pay_platform,
ugr.goods_name,ugr.refund_type,ugr.refund_model,ugr.type,ugr.admin_id,ugr.audit_id,
ugr.audit_status,ugr.reject_reason,ugr.create_time,ugr.audit_time,
ugr.update_time,ugr.flag,ugr.uid,ugr.price,ugr.link_id,ugr.red_diff,
(COALESCE(ugr.free_june, 0) + COALESCE(ugr.free_december, 0)) AS freeGold,
u.name as name,
r.rate_name AS rateName,
m.name as market,
a1.admin_name as adminName,
a2.admin_name as auditName
FROM user_gold_record as ugr
LEFT JOIN user u ON ugr.jwcode = u.jwcode
LEFT JOIN admin a1 ON ugr.admin_id = a1.id
LEFT JOIN admin a2 ON ugr.audit_id = a2.id
left join market m ON u.market = m.id
left JOIN rate r ON ugr.rate_id = r.id
<where>
<!-- <if test="refundAudit.flag != 0">
AND u.flag = 1
</if>-->
<if test="refundAudit.jwcode != null">
AND ugr.jwcode = #{refundAudit.jwcode}
</if>
<if test="refundAudit.flag!=0">
AND u.flag = 1
</if>
<if test="refundAudit.refundModel != null ">
AND ugr.refund_model = #{refundAudit.refundModel}
</if>
<if test="refundAudit.refundType != null and refundAudit.refundType!='' ">
AND ugr.refund_type = #{refundAudit.refundType}
</if>
<if test="refundAudit.goodsName != null and refundAudit.goodsName != ''">
AND ugr.goods_name = #{refundAudit.goodsName}
</if>
<!-- 判断 market 是否不为总部且 markets 不为空 -->
<if test="refundAudit.markets != null and refundAudit.markets.size() > 0">
AND (
<foreach collection="refundAudit.markets" item="market" open="" close="" separator=" OR ">
u.market = #{market}
</foreach>
)
</if>
<if test="refundAudit.startTime != null and refundAudit.endTime != null ">
AND ugr.audit_time between #{refundAudit.startTime} and #{refundAudit.endTime}
</if>
<if test="refundAudit.market != null and refundAudit.market != ''">
AND m.id = #{refundAudit.market}
</if>
<if test="refundAudit.auditStatus != null and refundAudit.auditStatus != ''">
AND ugr.audit_status = #{refundAudit.auditStatus}
</if>
AND ugr.type = 2
and ugr.flag=1
</where>
<choose>
<when test="refundAudit.sortField != null and refundAudit.sortField.length > 0 or refundAudit.sortOrder != null and refundAudit.sortOrder.length > 0">
ORDER BY ${refundAudit.sortField} ${refundAudit.sortOrder}
</when>
<otherwise>
ORDER BY audit_time DESC
</otherwise>
</choose>
</select>
<select id="getName" resultType="java.lang.String">
select admin_name from admin where id = #{auditId}
</select>
<select id="getNamesByIds" resultType="com.example.demo.domain.entity.Admin">
select id, admin_name from admin
<where>
<if test="submitterIds != null and submitterIds.size() > 0">
id in
<foreach collection="submitterIds" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</if>
<if test="submitterIds == null or submitterIds.size() == 0">
1=0
</if>
</where>
</select>
<update id="updateFirstRecharge">
update user set first_recharge = now() where jwcode = #{jwcode} and first_recharge is null
</update>
<!--根据订单号查订单-->
<select id="selectAllOrderByOrderCode" resultType="com.example.demo.domain.entity.UserGoldRecord">
select * from user_gold_record where order_code = #{orderCode} and flag=1
ORDER BY create_time DESC
limit 1
</select>
<select id="getAdminMarket" resultType="java.lang.String">
</select>
<!--根据订单号查未审核订单-->
<select id="selectOrderByOrderCode" resultType="com.example.demo.domain.entity.UserGoldRecord">
select * from user_gold_record
where order_code = #{orderCode} and audit_status = 0
and flag=1
ORDER BY create_time DESC
limit 1
</select>
<select id="getNamesByJwcodes" resultType="com.example.demo.domain.entity.Admin">
select account, admin_name from admin
<where>
<if test="executorIds != null and executorIds.size() > 0">
account in
<foreach collection="executorIds" item="account" open="(" separator="," close=")">
#{account}
</foreach>
</if>
<if test="executorIds == null or executorIds.size() == 0">
1=0
</if>
</where>
</select>
</mapper>