UserRechargeStatisticsMapper.xml
2.15 KB
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
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"
"http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">
<!-- 不使用namespace的话sql搜索定位会比较方便 -->
<mapper namespace="UserRechargeStatistics">
<resultMap id="UserRechargeStatistics" type="com.bjivt.job.executor.service.jobhandler.mijia.model.UserRechargeStatistics">
<id column="id" jdbcType="INTEGER" property="id" />
<result property="date" column="date" jdbcType="TIMESTAMP"/>
<result property="userId" column="user_id" jdbcType="INTEGER"/>
<result property="recharge" column="recharge" jdbcType="FLOAT"/>
</resultMap>
<resultMap id="UserMoneyMap" type="com.bjivt.job.executor.service.jobhandler.mijia.model.UserMoney">
<result property="userId" column="user_id" jdbcType="INTEGER"/>
<result property="money" column="money" jdbcType="FLOAT"/>
</resultMap>
<!-- 用于select查询公用抽取的列 -->
<sql id="columns">
<![CDATA[
id,date,user_id,recharge
]]>
</sql>
<!-- useGeneratedKeys="true" keyProperty="xxx" for sqlserver and mysql -->
<insert id="insert" parameterType="com.bjivt.job.executor.service.jobhandler.mijia.model.UserRechargeStatistics">
<![CDATA[
INSERT INTO tbl_user_recharge_statistics (
date ,
user_id ,
recharge
) VALUES (
#{date} ,
#{userId} ,
#{recharge}
)
]]>
</insert>
<insert id="insertSaveBatch" parameterType="java.util.List">
insert into db_showtime_stat.tbl_user_live_statistics (
date ,
user_id ,
recharge
)
values
<foreach collection="list" item="item" index="index" separator=",">
(#{item.date},#{item.userId},#{item.recharge})
</foreach>
</insert>
<!-- 获取每日发送礼物的数量 -->
<select id="getUserMoneyStatistics" resultMap="UserMoneyMap" parameterType="java.util.HashMap">
select rr.user_id, sum(money) as money from db_showtime_log.tbl_recharge_record rr
where date_format(rr.record_time,'%Y-%m-%d') = date_sub(curdate(),interval 1 day)
group by rr.user_id
</select>
</mapper>