1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
<?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="cn.wisenergy.mapper.TradeRecordMapper">
<resultMap id="tradeMap" type="cn.wisenergy.model.app.TradeRecord">
<id column="id" property="id"/>
<result column="user_id" property="userId"/>
<result column="trade_type" property="tradeType"/>
<result column="trade_no" property="tradeNo"/>
<result column="status" property="status"/>
<result column="task_id" property="taskId"/>
<result column="money" property="money"/>
<result column="card_number" property="cardNumber"/>
<result column="create_time" property="createTime"/>
<result column="update_time" property="updateTime"/>
</resultMap>
<sql id="table">
trade_record
</sql>
<sql id="cols_all">
id,
<include refid="cols_exclude_id"/>
</sql>
<sql id="cols_exclude_id">
user_id,trade_type,trade_no,status,task_id,money,card_number,create_time,update_time
</sql>
<sql id="vals">
#{userId},#{tradeType},#{tradeNo},#{status},#{taskId},#{money},#{cardNumber},now(),now()
</sql>
<sql id="updateCondition">
<if test="userId != null">user_id = #{userId},</if>
<if test="tradeType != null">trade_type =#{tradeType},</if>
<if test="tradeNo != null">trade_no =#{tradeNo},</if>
<if test="status != null">status =#{status},</if>
<if test="taskId != null">task_id =#{taskId},</if>
<if test="money != null">money =#{money},</if>
<if test="cardNumber != null">card_number =#{cardNumber},</if>
update_time =now()
</sql>
<sql id="criteria">
<if test="id != null">id = #{id}</if>
<if test="userId != null">and user_id = #{userId}</if>
<if test="tradeType != null">and trade_type =#{tradeType}</if>
<if test="tradeNo != null">and trade_no =#{tradeNo}</if>
<if test="status != null">and status =#{status}</if>
<if test="taskId != null">and task_id =#{taskId}</if>
<if test="money != null">and money =#{money}</if>
<if test="cardNumber != null">and card_number =#{cardNumber}</if>
<if test="createTime != null">and create_time >= #{createTime}</if>
<if test="updateTime != null">and #{updateTime} >= update_time</if>
</sql>
<insert id="add" parameterType="cn.wisenergy.model.app.TradeRecord" keyProperty="id" useGeneratedKeys="true">
insert into
<include refid="table"/>
(<include refid="cols_exclude_id"/>)
value(
<include refid="vals"/>
)
</insert>
<update id="edit" parameterType="cn.wisenergy.model.app.TradeRecord">
UPDATE
<include refid="table"/>
<set>
<include refid="updateCondition"/>
</set>
<where>
id = #{id}
</where>
</update>
<delete id="delById" parameterType="java.lang.Integer">
delete from
<include refid="table"/>
where id = #{id}
</delete>
<select id="getByUserId" resultType="cn.wisenergy.model.app.TradeRecord">
select
<include refid="cols_all"/>
from
<include refid="table"/>
<where>
user_id=#{userId}
</where>
</select>
<select id="getByUserIdAndTime" resultType="cn.wisenergy.model.app.TradeRecord">
select
<include refid="cols_all"/>
from
<include refid="table"/>
<where>
<if test="userId">
user_id=#{userId}
</if>
<if test="yearMonth != null">
AND(
YEAR(year_month) = YEAR(#{yearMonth})
AND MONTH(year_month) = MONTH(#{yearMonth}))
</if>
</where>
</select>
<select id="getSixMonthIncome" resultType="cn.wisenergy.model.vo.AccumulatedIncomeVo">
SELECT user_id as userId,sum(money) as income ,
date_format(create_time,'%Y-%m') as yearMonth
FROM
<include refid="table"/>
WHERE date_format(create_time,'%Y-%m') < date_format(now(),'%Y-%m')
and date_format(create_time,'%Y-%m') >= date_format(now() - interval 7 month,'%Y-%m')
and (status=1 or status=3)
group by user_id ,create_time desc;
</select>
<select id="getWithdrawalRecord" resultType="cn.wisenergy.model.vo.WithdrawalRecordVo">
select user_id as userId, status as status, money as money, update_time as moneyTime
from
<include refid="table"/>
<where>
(status=2 or status=3)
<if test="userId">
and user_id=#{userId}
</if>
<if test="yearMonth != null">
AND(
YEAR(update_time) = YEAR(#{yearMonth})
AND MONTH(update_time) = MONTH(#{yearMonth}))
</if>
</where>
</select>
</mapper>