SknFlowMapper.xml
5.5 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
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
139
140
141
142
143
144
<?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.yoho.search.dal.SknFlowMapper">
<resultMap id="BaseResultMap" type="com.yoho.search.dal.model.SknFlow">
<id column="product_skn" property="productSkn" jdbcType="INTEGER"/>
<result column="date_id" property="dateId" jdbcType="VARCHAR"/>
<result column="flow_type" property="flowType" jdbcType="INTEGER"/>
<result column="create_time" property="createTime" jdbcType="INTEGER"/>
</resultMap>
<resultMap id="MonitorResultMap" type="com.yoho.search.dal.model.BigdataMonitor">
<result column="date_id" property="dateId" jdbcType="VARCHAR"/>
<result column="flow_type" property="flowType" jdbcType="INTEGER"/>
<result column="num" property="num" jdbcType="INTEGER"/>
</resultMap>
<resultMap id="DayCountResultMap" type="com.yoho.search.dal.model.SknFlowDayCount">
<id column="product_skn" property="productSkn" jdbcType="INTEGER"/>
<result column="date_id" property="dateId" jdbcType="VARCHAR"/>
<result column="flow_type" property="flowType" jdbcType="INTEGER"/>
<result column="day_count" property="dayCount" jdbcType="INTEGER"/>
<result column="create_time" property="createTime" jdbcType="INTEGER"/>
</resultMap>
<sql id="Base_Column_List">
product_skn, date_id, flow_type, create_time
</sql>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer">
select
<include refid="Base_Column_List"/>
from skn_flow
where product_skn = #{productSkn,jdbcType=INTEGER}
limit 1
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
delete from skn_flow
where product_skn = #{productSkn,jdbcType=INTEGER}
</delete>
<insert id="insert" parameterType="com.yoho.search.dal.model.SknFlow">
insert into skn_flow (product_skn, date_id, flow_type,
create_time)
values (#{productSkn,jdbcType=INTEGER}, #{dateId,jdbcType=VARCHAR}, #{flowType,jdbcType=INTEGER},
#{createTime,jdbcType=INTEGER})
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.yoho.search.dal.model.SknFlow">
update skn_flow
<set>
<if test="dateId != null">
date_id = #{dateId,jdbcType=VARCHAR},
</if>
<if test="flowType != null">
flow_type = #{flowType,jdbcType=INTEGER},
</if>
<if test="createTime != null">
create_time = #{createTime,jdbcType=INTEGER},
</if>
</set>
where product_skn = #{productSkn,jdbcType=INTEGER}
</update>
<select id="selectLatestDateId" resultType="java.lang.Integer">
select max(date_id) from skn_flow
</select>
<select id="selectLatestDateBySkn" resultMap="BaseResultMap" timeout="20000">
<![CDATA[
select * from skn_flow s
where
date_id = #{dateId}
and
s.product_skn in
]]>
<foreach item="item" index="index" collection="sknList"
open="(" separator="," close=")">
#{item}
</foreach>
</select>
<select id="selectSknByDate" resultType="java.lang.Long" timeout="20000">
SELECT product_skn FROM skn_flow where date_id = #{dateId,jdbcType=VARCHAR} limit #{pageSize}
</select>
<delete id="deleteBatch">
<![CDATA[
DELETE FROM skn_flow
WHERE
date_id = #{dateId,jdbcType=VARCHAR}
AND
]]>
product_skn in
<foreach item="item" index="index" collection="sknList" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<select id="selectCountGroupByDateId" resultMap="MonitorResultMap">
select date_id,flow_type,count(*) num from skn_flow group by date_id,flow_type order by date_id desc limit 4;
</select>
<select id="selectCountByDateId" resultType="java.lang.Integer" timeout="20000">
select count(*) from skn_flow where date_id = #{dateId}
</select>
<select id="selectPageListsByDateId" resultMap="BaseResultMap" timeout="20000">
select
<include refid="Base_Column_List"/>
from skn_flow
where date_id = #{dateId}
limit #{offset},#{pageSize}
</select>
<update id="updateBatch" parameterType="java.util.List">
update skn_flow
<trim prefix="set" suffixOverrides=",">
<trim prefix="flow_type =case" suffix="end,">
<foreach collection="sknFlowList" item="item" index="index">
<if test="item.flowType != null">
when product_skn=#{item.productSkn} then #{item.flowType}
</if>
</foreach>
</trim>
</trim>
where
date_id = #{dateId,jdbcType=VARCHAR}
and
product_skn in
<foreach collection="sknFlowList" index="index" item="item" separator="," open="(" close=")">
#{item.productSkn,jdbcType=BIGINT}
</foreach>
</update>
<select id="selectCount" resultType="int">
select count(0) from skn_flow
</select>
<select id="selectPageLists" resultMap="DayCountResultMap" timeout="20000">
select s.product_skn, s.date_id, s.flow_type, s.create_time, l.day_count from skn_flow s left join skn_flow_log l on s.product_skn = l.product_skn and s.flow_type=l.flow_type limit #{start}, #{limit}
</select>
</mapper>