|
|
<?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="selectAll" resultType="com.example.demo.domain.vo.RechargeUser"> SELECT u.name AS name, u.jwcode AS jwcode, u.market AS market, ugr.activity AS activity, ugr.rate_id AS rateId, r.rate_name AS rateName, ugr.money AS money, ugr.permanent_gold AS permanentGold, (COALESCE(ugr.free_june, 0) + COALESCE(ugr.free_december, 0)) AS freeGold, ugr.pay_model AS payModel, ugr.pay_platform AS payPlatform, ugr.remark AS remark, ugr.admin_id AS adminId, a.admin_name AS adminName, ugr.pay_time AS payTime FROM user u JOIN user_gold_record ugr ON u.jwcode = ugr.jwcode JOIN admin a ON ugr.admin_id = a.id JOIN rate r ON ugr.rate_id = r.id WHERE ugr.type = 0
<trim prefix="ORDER BY" suffixOverrides=","> <choose> <!-- 当指定排序字段时使用指定字段排序 --> <when test="sortField != null and sortField != ''"> <choose> <!-- 对金币数量的排序处理 --> <when test="sortField == 'permanentGold'">ugr.permanent_gold</when> <when test="sortField == 'freeGold'">(COALESCE(ugr.free_june, 0) + COALESCE(ugr.free_december, 0))</when> <!-- 对时间字段的排序处理 --> <when test="sortField == 'payTime'">ugr.pay_time</when> <!-- 其他字段不支持排序,使用默认排序 --> <otherwise>ugr.pay_time</otherwise> </choose>
<!-- 排序方向处理 --> <if test="sortOrder != null and sortOrder != ''"> <choose> <when test="sortOrder == 'ASC'">ASC</when> <when test="sortOrder == 'DESC'">DESC</when> <otherwise>DESC</otherwise> </choose> </if> <if test="sortOrder == null or sortOrder == ''"> DESC </if> </when>
<!-- 未指定排序字段时,使用默认的时间降序排序 --> <otherwise> ugr.pay_time DESC </otherwise> </choose> </trim> </select>
<!-- 查询筛选后充值记录 --> <select id="selectBy" resultType="com.example.demo.domain.vo.RechargeUser"> SELECT u.name AS name, u.jwcode AS jwcode, u.market AS market, ugr.activity AS activity, ugr.rate_id AS rateId, r.rate_name AS rateName, ugr.money AS money, ugr.permanent_gold AS permanentGold, (COALESCE(ugr.free_june, 0) + COALESCE(ugr.free_december, 0)) AS freeGold, ugr.pay_model AS payModel, ugr.pay_platform AS payPlatform, ugr.remark AS remark, ugr.admin_id AS adminId, a.admin_name AS adminName, ugr.pay_time AS payTime FROM user u JOIN user_gold_record ugr ON u.jwcode = ugr.jwcode JOIN admin a ON ugr.admin_id = a.id JOIN rate r ON ugr.rate_id = r.id <where> ugr.type = 0 <if test="jwcode != null and jwcode != ''"> AND ugr.jwcode = #{jwcode} </if> <if test="activity != null and activity != ''"> AND ugr.activity = #{activity} </if> <if test="market != null and market != ''"> AND u.market = #{market} </if> <if test="payPlatform != null and payPlatform != ''"> AND ugr.pay_platform = #{payPlatform} </if> <if test="startTime != null and endTime != null"> AND ugr.pay_time BETWEEN #{startTime} AND #{endTime} </if> </where> <trim prefix="ORDER BY" suffixOverrides=","> <choose> <!-- 当指定排序字段时使用指定字段排序 --> <when test="sortField != null and sortField != ''"> <choose> <!-- 对金币数量的排序处理 --> <when test="sortField == 'permanentGold'">ugr.permanent_gold</when> <when test="sortField == 'freeGold'">(COALESCE(ugr.free_june, 0) + COALESCE(ugr.free_december, 0))</when> <!-- 对时间字段的排序处理 --> <when test="sortField == 'payTime'">ugr.pay_time</when> <!-- 其他字段不支持排序,使用默认排序 --> <otherwise>ugr.pay_time</otherwise> </choose>
<!-- 排序方向处理 --> <if test="sortOrder != null and sortOrder != ''"> <choose> <when test="sortOrder == 'ASC'">ASC</when> <when test="sortOrder == 'DESC'">DESC</when> <otherwise>DESC</otherwise> </choose> </if> <if test="sortOrder == null or sortOrder == ''"> DESC </if> </when>
<!-- 未指定排序字段时,使用默认的时间降序排序 --> <otherwise> ugr.pay_time DESC </otherwise> </choose> </trim> </select>
<insert id="add" parameterType="com.example.demo.domain.entity.UserGoldRecord" useGeneratedKeys="true" keyProperty="id"> INSERT INTO user_gold_record <trim prefix="(" suffix=")" suffixOverrides=","> order_code, jwcode, activity, sum_gold, permanent_gold, free_june, free_december, rate_id, money, voucher, pay_platform, pay_model, pay_time, remark, admin_id, type, audit_status, create_time </trim> VALUES <trim prefix="(" suffix=")" suffixOverrides=","> #{orderCode}, #{jwcode}, #{activity}, #{sumGold}, #{permanentGold}, #{freeJune}, #{freeDecember}, #{rateId}, #{money}, #{voucher}, #{payPlatform}, #{payModel}, #{payTime}, #{remark}, #{adminId}, #{type}, #{auditStatus}, #{createTime} </trim> </insert> </mapper>
|