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.
127 lines
4.8 KiB
127 lines
4.8 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.RechargeMapper">
|
|
|
|
<select id="getRechargeA" resultType="com.example.demo.domain.vo.RechargeA">
|
|
SELECT
|
|
CASE
|
|
WHEN audit.status = 0 THEN '待审核'
|
|
WHEN audit.status = 1 THEN '已通过'
|
|
WHEN audit.status = 2 THEN '已驳回'
|
|
ELSE '其他状态'
|
|
END AS auditStatus,
|
|
COUNT(*) AS Raudit,
|
|
SUM(paid_gold)/100 AS SumRaudit1,
|
|
SUM(free_gold)/100 AS SumRaudit2,
|
|
(SUM(paid_gold) + SUM(free_gold))/100 AS SumRaudit
|
|
FROM
|
|
recharge
|
|
LEFT JOIN `user` ON recharge.jwcode = `user`.jwcode
|
|
inner JOIN audit ON recharge.recharge_id = audit.recharge_id
|
|
<where>
|
|
<!-- 动态条件:flag -->
|
|
<if test="flags != null and flags.size > 0">
|
|
flag IN
|
|
<foreach collection="flags" item="flag" open="(" separator="," close=")">
|
|
#{flag}
|
|
</foreach>
|
|
</if>
|
|
<if test='jwcode!=null and jwcode.length>0'>and recharge.jwcode=#{jwcode}</if>
|
|
<if test='activityId!=null'>and recharge.activity_id=#{activityId}</if>
|
|
<if test='adminId!=null'>and recharge.admin_id=#{adminId}</if>
|
|
<if test='startDate != null and endDate != null'>AND recharge.create_time BETWEEN #{startDate} AND #{endDate}</if>
|
|
<if test='payWay!=null and payWay.length>0 '>and pay_way like concat('%',#{payWay},'%')</if>
|
|
<if test='rechargeWay!=null and rechargeWay.length>0 '>and recharge_way like concat('%',#{rechargeWay},'%')</if>
|
|
<if test='area!=null and area.length>0'>and user.area=#{area}</if>
|
|
|
|
<if test="areas != null">
|
|
AND user.area IN
|
|
<foreach collection="areas" item="areas" open="(" separator="," close=")">
|
|
#{areas}
|
|
</foreach>
|
|
</if>
|
|
</where>
|
|
GROUP BY
|
|
auditStatus;
|
|
</select>
|
|
<select id="getWay" resultType="java.lang.String">
|
|
SELECT DISTINCT
|
|
recharge_way
|
|
FROM
|
|
recharge
|
|
</select>
|
|
<select id="select" resultType="com.example.demo.domain.vo.RechargeVo">
|
|
SELECT
|
|
user.`name` AS user_name,
|
|
recharge.jwcode,
|
|
recharge.create_time,
|
|
recharge.recharge_time,
|
|
recharge.recharge_way,
|
|
recharge.remark,
|
|
recharge.paid_gold,
|
|
recharge.free_gold,
|
|
recharge.recharge_gold,
|
|
recharge.pay_way,
|
|
recharge.recharge_voucher,
|
|
recharge.recharge_id,
|
|
recharge.activity_id,
|
|
recharge.admin_id,
|
|
activity.activity_name,
|
|
audit.`status`,
|
|
audit.audit_id,
|
|
audit.audit_time,
|
|
audit.reson,
|
|
admin.name,
|
|
user.area,
|
|
audit.detail_id
|
|
FROM recharge
|
|
LEFT JOIN audit ON recharge.recharge_id = audit.recharge_id
|
|
LEFT JOIN `user` ON recharge.jwcode = `user`.jwcode
|
|
LEFT JOIN activity ON recharge.activity_id = activity.activity_id
|
|
LEFT JOIN `admin` ON recharge.admin_id = `admin`.admin_id
|
|
<where>
|
|
flag = '1'
|
|
<if test='jwcode != null and jwcode.length > 0'>
|
|
AND recharge.jwcode = #{jwcode}
|
|
</if>
|
|
<if test='activityId != null'>
|
|
AND recharge.activity_id = #{activityId}
|
|
</if>
|
|
<if test='adminId != null'>
|
|
AND recharge.admin_id = #{adminId}
|
|
</if>
|
|
<if test='startDate != null and endDate != null'>
|
|
AND recharge.create_time BETWEEN #{startDate} AND #{endDate}
|
|
</if>
|
|
<if test='payWay != null and payWay.length > 0'>
|
|
AND pay_way LIKE CONCAT('%', #{payWay}, '%')
|
|
</if>
|
|
<if test='rechargeWay != null and rechargeWay.length > 0'>
|
|
AND recharge_way LIKE CONCAT('%', #{rechargeWay}, '%')
|
|
</if>
|
|
<if test='area != null and area.length > 0'>
|
|
AND user.area = #{area}
|
|
</if>
|
|
<if test='status != null'>
|
|
AND audit.status = #{status}
|
|
</if>
|
|
<if test="areas != null">
|
|
AND user.area IN
|
|
<foreach collection="areas" item="areas" open="(" separator="," close=")">
|
|
#{areas}
|
|
</foreach>
|
|
</if>
|
|
</where>
|
|
<choose>
|
|
<when test="sortField != null and sortField.length >0 or sortOrder != null and sortOrder.length >0">
|
|
ORDER BY ${sortField} ${sortOrder}
|
|
</when>
|
|
<otherwise>
|
|
ORDER BY recharge.create_time DESC
|
|
</otherwise>
|
|
</choose>
|
|
</select>
|
|
</mapper>
|