|
|
<?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>
|