EvalGroupMapper.xml
4.85 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
<?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.fw.morax.dao.eval.EvalGroupDao">
<sql id="all_columns">
id,eval_group_rank_id,eval_group_rank_stage_id,egc,post_id,post_name,shop_ids,
shop_names,indicator_num,group_id,yn,create_time,update_time
</sql>
<sql id="left_join_columns">
t3.id,t3.eval_group_rank_id,
t3.eval_group_rank_stage_id,t3.egc,t3.post_ids,t3.post_names,
t3.shop_ids,t3.shop_names,t3.indicator_num,t3.group_id
</sql>
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="cn.fw.morax.domain.db.eval.EvalGroup">
<result column="id" property="id"/>
<result column="egc" property="egc"/>
<result column="eval_group_rank_id" property="evalGroupRankId"/>
<result column="eval_group_rank_stage_id" property="evalGroupRankStageId"/>
<result column="post_ids" property="postIds" typeHandler="cn.fw.common.data.mybatis.handler.LongListTypeHandler"/>
<result column="post_names" property="postNames" typeHandler="cn.fw.common.data.mybatis.handler.StringListTypeHandler"/>
<result column="shop_ids" property="shopIds" typeHandler="cn.fw.common.data.mybatis.handler.LongListTypeHandler"/>
<result column="shop_names" property="shopNames" typeHandler="cn.fw.common.data.mybatis.handler.StringListTypeHandler"/>
<result column="indicator_num" property="indicatorNum"/>
<result column="yn" property="yn"/>
<result column="create_time" property="createTime"/>
<result column="update_time" property="updateTime"/>
</resultMap>
<select id="getAllEffectGroups" resultMap="BaseResultMap">
select
<include refid="left_join_columns"/>
FROM
eval_group_rank t1
LEFT JOIN eval_group_rank_stage t2 ON t1.id = t2.eval_group_rank_id AND t2.yn = 1
LEFT JOIN eval_group t3 ON t2.id = t3.eval_group_rank_stage_id AND t3.yn = 1
WHERE
t1.yn = 1
AND t1.`status` IN ( 3, 4 )
and DATE_FORMAT(t2.begin_time, '%Y-%m-%d') <= DATE_FORMAT(#{day}, '%Y-%m-%d')
and DATE_FORMAT(t2.over_time, '%Y-%m-%d') >= DATE_FORMAT(#{day}, '%Y-%m-%d')
</select>
<select id="getEffectGroups" resultMap="BaseResultMap">
select
<include refid="all_columns"/>
from eval_group
where yn = 1
and DATE_FORMAT(begin_time, '%Y-%m-%d') <= DATE_FORMAT(#{day}, '%Y-%m-%d')
and DATE_FORMAT(over_time, '%Y-%m-%d') >= DATE_FORMAT(#{day}, '%Y-%m-%d')
and eval_id in (select id from eval where `status` in (3,4) and yn = 1)
</select>
<select id="queryCalculableEvalGroupIds" resultType="java.lang.Long">
select
t3.id
FROM
eval_group_rank t1
LEFT JOIN eval_group_rank_stage t2 ON t1.id = t2.eval_group_rank_id AND t2.yn = 1
LEFT JOIN eval_group t3 ON t2.id = t3.eval_group_rank_stage_id AND t3.yn = 1
WHERE
t1.yn = 1
AND t1.`status` IN ( 3, 4 )
and DATE_FORMAT(t2.begin_time, '%Y-%m-%d') <= DATE_FORMAT(#{day}, '%Y-%m-%d')
and DATE_FORMAT(t2.over_time, '%Y-%m-%d') >= DATE_FORMAT(#{day}, '%Y-%m-%d')
</select>
<select id="queryDistributionShopReward" resultType="java.lang.Long">
select
t3.id
FROM
eval_group_rank t1
INNER JOIN eval_group_rank_stage t2 ON t1.id = t2.eval_group_rank_id AND t2.yn = 1
INNER JOIN eval_group t3 ON t2.id = t3.eval_group_rank_stage_id AND t3.yn = 1
INNER JOIN eval_group_reward_dim t4 ON t3.id = t4.eval_group_id AND t4.yn = 1
WHERE
t1.yn = 1
AND t1.`status` IN ( 3, 4 )
and DATE_FORMAT(t2.begin_time, '%Y-%m-%d') <= DATE_FORMAT(#{day}, '%Y-%m-%d')
and DATE_FORMAT(t2.over_time, '%Y-%m-%d') = DATE_FORMAT(#{day}, '%Y-%m-%d')
AND t4.`type` = 2
</select>
<select id="getEffectsByRankId" resultMap="BaseResultMap">
select
t1.id,
t1.eval_group_rank_id,
t1.eval_group_rank_stage_id,
t1.egc,
t1.name,
t1.post_id,
t1.post_name,
t1.shop_ids,
t1.shop_names,
t1.scope_type,
t1.indicator_num,
t1.group_id
from eval_group t1
left join eval_group_rank_stage t2 on t1.eval_group_rank_stage_id = t2.id and t2.yn = 1
where t1.yn = 1
and DATE_FORMAT(t2.begin_time, '%Y-%m-%d') <= DATE_FORMAT(#{day}, '%Y-%m-%d')
and DATE_FORMAT(t2.over_time, '%Y-%m-%d') >= DATE_FORMAT(#{day}, '%Y-%m-%d')
and t1.eval_group_rank_id = #{evalGroupRankId}
</select>
</mapper>