Blame view

urbanops-module-mall/urbanops-module-statistics/src/main/resources/mapper/trade/TradeOrderStatisticsMapper.xml 4.34 KB
2f252ffd   王彪总   feat(pay): 实现支付宝支...
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
  <?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.zteits.urbanops.module.statistics.dal.mysql.trade.TradeOrderStatisticsMapper">
  
      <select id="selectSummaryListByAreaId"
              resultType="com.zteits.urbanops.module.statistics.service.member.bo.MemberAreaStatisticsRespBO">
          SELECT receiver_area_id                                AS areaId,
                 (SELECT COUNT(DISTINCT s.user_id)
                  FROM trade_order AS s
                  WHERE s.receiver_area_id = m.receiver_area_id) AS orderCreateUserCount,
                 (SELECT COUNT(DISTINCT s.user_id)
                  FROM trade_order AS s
                  WHERE s.receiver_area_id = m.receiver_area_id
                    AND s.pay_status = TRUE
                    AND s.deleted = FALSE)                       AS orderPayUserCount,
                 (SELECT SUM(s.pay_price)
                  FROM trade_order AS s
                  WHERE s.receiver_area_id = m.receiver_area_id
                    AND s.pay_status = TRUE
                    AND s.deleted = FALSE)                       AS orderPayPrice
          FROM trade_order m
          WHERE deleted = FALSE
          GROUP BY receiver_area_id
      </select>
  
      <select id="selectUserCountByCreateTimeBetween" resultType="java.lang.Integer">
          SELECT COUNT(DISTINCT (user_id))
          FROM trade_order
          WHERE deleted = FALSE
            AND create_time BETWEEN #{beginTime} AND #{endTime}
      </select>
  
      <select id="selectUserCountByPayTimeBetween" resultType="java.lang.Integer">
          SELECT COUNT(DISTINCT (user_id))
          FROM trade_order
          WHERE pay_time BETWEEN #{beginTime} AND #{endTime}
            AND pay_status = TRUE
            AND deleted = FALSE
      </select>
  
      <select id="selectCountByCreateTimeBetween" resultType="java.lang.Integer">
          SELECT COUNT(1)
          FROM trade_order
          WHERE create_time BETWEEN #{beginTime} AND #{endTime}
            AND deleted = FALSE
      </select>
  
      <select id="selectCountByPayTimeBetween" resultType="java.lang.Integer">
          SELECT COUNT(1)
          FROM trade_order
          WHERE pay_status = TRUE
            AND create_time BETWEEN #{beginTime} AND #{endTime}
            AND deleted = FALSE
      </select>
  
      <select id="selectSummaryPriceByPayTimeBetween" resultType="java.lang.Integer">
          SELECT SUM(pay_price)
          FROM trade_order AS s
          WHERE s.pay_status = TRUE
            AND deleted = FALSE
            AND create_time BETWEEN #{beginTime} AND #{endTime}
      </select>
  
      <select id="selectListByPayTimeBetweenAndGroupByDay"
              resultType="com.zteits.urbanops.module.statistics.controller.admin.trade.vo.TradeOrderTrendRespVO">
          SELECT DATE_FORMAT(pay_time, '%Y-%m-%d') AS date,
                 COUNT(1)                          AS orderPayCount,
                 SUM(pay_price)                    AS orderPayPrice
          FROM trade_order
          WHERE pay_status = TRUE
            AND create_time BETWEEN #{beginTime} AND #{endTime}
            AND deleted = FALSE
          GROUP BY date
      </select>
  
      <select id="selectListByPayTimeBetweenAndGroupByMonth"
              resultType="com.zteits.urbanops.module.statistics.controller.admin.trade.vo.TradeOrderTrendRespVO">
          SELECT DATE_FORMAT(pay_time, '%Y-%m') AS date,
                 COUNT(1)                       AS order_pay_count,
                 SUM(pay_price)                 AS order_pay_price
          FROM trade_order
          WHERE pay_status = TRUE
            AND create_time BETWEEN #{beginTime} AND #{endTime}
            AND deleted = FALSE
          GROUP BY date
      </select>
  
      <select id="selectCountByStatusAndDeliveryType" resultType="java.lang.Long">
          SELECT COUNT(1)
          FROM trade_order
          WHERE status = #{status}
            ANd delivery_type = #{deliveryType}
            AND deleted = FALSE
      </select>
  
      <select id="selectPaySummaryByPayStatusAndPayTimeBetween"
              resultType="com.zteits.urbanops.module.statistics.controller.admin.trade.vo.TradeOrderSummaryRespVO">
          SELECT IFNULL(SUM(pay_price), 0) AS order_pay_price,
                 COUNT(1)                  AS order_pay_count
          FROM trade_order
          WHERE pay_status = #{payStatus}
            AND pay_time BETWEEN #{beginTime} AND #{endTime}
            AND deleted = FALSE
      </select>
  
  </mapper>