yujian
2020-06-08 b3da9f82b7740d39742fef1a81a56c22fe1c8b9c
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
<?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.yeshi.fanli.dao.mybatis.order.UserOrderDailyStatisticMapper">
 
 
 
    <resultMap id="BaseResultMap"
        type="com.yeshi.fanli.dao.mybatis.order.UserOrderDailyStatisticDTO">
        <result column="uid" property="uid" jdbcType="BIGINT" />
        <result column="type" property="type" jdbcType="VARCHAR" />
        <result column="day" property="day" jdbcType="VARCHAR" />
        <result column="orderCount" property="orderCount" jdbcType="INTEGER" />
        <result column="money" property="money" jdbcType="DECIMAL" />
    </resultMap>
 
 
    <select id="listFanLiAndShareByPlaceOrderTime" resultMap="BaseResultMap">
        SELECT
        co.`co_uid` as
        uid,co.`co_child_source_type` AS `type`,
        SUM(v.`hb_money`)
        AS
        money,DATE(co.`co_third_create_time`) AS
        `day`,COUNT(DISTINCT(CONCAT(
        co.co_order_no,'#',co.co_source_type)))
        AS
        orderCount FROM
        yeshi_ec_hongbao_v2 v LEFT JOIN
        yeshi_ec_hongbao_order
        ho ON
        ho.`ho_hongbao_id`=v.`hb_id` LEFT JOIN
        yeshi_ec_common_order co ON
        co.`co_id`=ho.`ho_order_id` WHERE
        co.`co_id`>0 AND
        co.`co_third_create_time`>=#{minTime} and
        #{maxTime}>co.`co_third_create_time` AND
        v.`hb_state`!=4 GROUP BY
        co_uid,DATE(co.`co_third_create_time`),co.`co_child_source_type`
    </select>
 
 
    <select id="listTeamByPlaceOrderTime" resultMap="BaseResultMap">
 
        SELECT
        v.`hb_uid` as uid,co.`co_child_source_type` AS `type`,
        SUM(v.`hb_money`) AS
        money,DATE(co.`co_third_create_time`) AS
        `day`,COUNT(DISTINCT(CONCAT(
        co.co_order_no,'#',co.co_source_type))) AS
        orderCount FROM
        yeshi_ec_hongbao_v2 v LEFT JOIN yeshi_ec_hongbao_order
        ho ON
        ho.`ho_hongbao_id`=v.`hb_pid` LEFT JOIN yeshi_ec_common_order co
        ON
        co.`co_id`=ho.`ho_order_id` WHERE (v.`hb_type`=6 OR v.`hb_type`=7 OR
        v.`hb_type`=21 OR v.`hb_type`=22) AND co.`co_id`>0 AND
        co.`co_third_create_time`>=#{minTime} AND
        #{maxTime}>co.`co_third_create_time` AND v.`hb_state`!=4 GROUP BY
        v.`hb_uid`,DATE(co.`co_third_create_time`),co.`co_child_source_type`
 
    </select>
 
 
 
    <select id="listOrderCountByPlaceOrderTime" resultMap="BaseResultMap">
        SELECT
        uid,a.day,COUNT(*) AS orderCount FROM
        (
        SELECT co.`co_uid` AS
        uid,co.`co_order_no`,co.`co_source_type`,
        DATE(co.`co_third_create_time`) AS `day` FROM yeshi_ec_common_order co
        WHERE co.`co_third_create_time`>=#{minTime} AND
        #{maxTime}>co.`co_third_create_time` GROUP BY
        co.`co_order_no`,co.`co_source_type`
        ) a GROUP BY uid,a.day
    </select>
 
 
    <select id="listDividentsOrderByCreateTime" resultMap="BaseResultMap">
        SELECT
        ou.`sou_target_uid` AS uid, DATE(tdo_create_time) AS
        `day`,ou.`sou_type` AS `type`,SUM(TRUNCATE(ou.`sou_money`,2)) AS
        money,COUNT(*) AS
        orderCount FROM
        `yeshi_ec_team_dividents_source_order_user` ou LEFT JOIN
        yeshi_ec_team_dividents_source_order o ON
        ou.`sou_source_order_id`=o.`tdo_id` WHERE
        ou.`sou_state`!=4 AND tdo_create_time>=#{minTime} and
        #{maxTime}>tdo_create_time
        GROUP BY
        ou.`sou_target_uid`,
        DATE(tdo_create_time),ou.`sou_type`
    </select>
 
 
    <select id="listDividentsOrderCountByCreateTime" resultMap="BaseResultMap">
        SELECT
        ou.`sou_target_uid` AS uid, DATE(tdo_create_time) AS
        `day`,COUNT(DISTINCT(CONCAT(O.`tdo_order_no`,O.`tdo_source_type`))) AS
        orderCount
        FROM `yeshi_ec_team_dividents_source_order_user` ou
 
        LEFT JOIN yeshi_ec_team_dividents_source_order o ON
        ou.`sou_source_order_id`=o.`tdo_id`
 
        WHERE
        ou.`sou_state`!=4 AND tdo_create_time>=#{minTime}  AND
        #{maxTime}>tdo_create_time
        GROUP BY ou.`sou_target_uid`,
        DATE(tdo_create_time)
    </select>
 
</mapper>