2 changed files with 203 additions and 0 deletions
-
203src/main/resources/jindouMapper/BeanRechargeMapper.xml
-
0src/main/resources/mapper/bean/BeanRechargeMapper
@ -0,0 +1,203 @@ |
|||||
|
<?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, |
||||
|
ugr.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_gold_record ugr |
||||
|
left JOIN user u ON u.jwcode = ugr.jwcode |
||||
|
left JOIN admin a ON ugr.admin_id = a.id |
||||
|
left JOIN rate r ON ugr.rate_id = r.id |
||||
|
<where> |
||||
|
ugr.type = 0 AND ugr.audit_status IN (1,3) |
||||
|
AND ugr.flag = 1 |
||||
|
<!-- 判断 market 是否不为总部且 markets 不为空 --> |
||||
|
<if test="markets != null and markets.size() > 0 and '总部' not in markets"> |
||||
|
AND ( |
||||
|
<foreach collection="markets" item="market" open="" close="" separator=" OR "> |
||||
|
u.market LIKE CONCAT('%', #{market}, '%') |
||||
|
</foreach> |
||||
|
) |
||||
|
</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> |
||||
|
|
||||
|
<!-- 查询筛选后充值记录 --> |
||||
|
<select id="selectBy" resultType="com.example.demo.domain.vo.RechargeUser"> |
||||
|
SELECT |
||||
|
u.name AS name, |
||||
|
ugr.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_gold_record ugr |
||||
|
left JOIN user u ON u.jwcode = ugr.jwcode |
||||
|
left JOIN admin a ON ugr.admin_id = a.id |
||||
|
left JOIN rate r ON ugr.rate_id = r.id |
||||
|
<where> |
||||
|
ugr.type = 0 AND ugr.audit_status IN (1,3) |
||||
|
AND ugr.flag = 1 |
||||
|
<!-- 判断 market 是否不为总部且 markets 不为空 --> |
||||
|
<if test="markets != null and markets.size() > 0 and '总部' not in markets"> |
||||
|
AND ( |
||||
|
<foreach collection="markets" item="market" open="" close="" separator=" OR "> |
||||
|
u.market LIKE CONCAT('%', #{market}, '%') |
||||
|
</foreach> |
||||
|
) |
||||
|
</if> |
||||
|
<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 == 'money'">ugr.money</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> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue