You've already forked FrameTour-BE
后台景区端趋势图
This commit is contained in:
@@ -318,6 +318,174 @@
|
||||
WHERE scenic_id = #{scenicId}
|
||||
AND date BETWEEN #{startTime} AND #{endTime}
|
||||
</select>
|
||||
<select id="orderChartByDate" resultType="java.util.HashMap">
|
||||
SELECT
|
||||
DATE(date_series.DATE) as t,
|
||||
COALESCE ( count( `order`.id ), 0 ) AS count,
|
||||
COALESCE ( sum( `order`.pay_price ), 0 ) AS price
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
DATE_ADD( #{startTime}, INTERVAL ( units.i + tens.i * 10 + hundreds.i * 100 ) DAY ) AS DATE
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
0 AS i UNION ALL
|
||||
SELECT
|
||||
1 UNION ALL
|
||||
SELECT
|
||||
2 UNION ALL
|
||||
SELECT
|
||||
3 UNION ALL
|
||||
SELECT
|
||||
4 UNION ALL
|
||||
SELECT
|
||||
5 UNION ALL
|
||||
SELECT
|
||||
6 UNION ALL
|
||||
SELECT
|
||||
7 UNION ALL
|
||||
SELECT
|
||||
8 UNION ALL
|
||||
SELECT
|
||||
9
|
||||
) units
|
||||
CROSS JOIN (
|
||||
SELECT
|
||||
0 AS i UNION ALL
|
||||
SELECT
|
||||
1 UNION ALL
|
||||
SELECT
|
||||
2 UNION ALL
|
||||
SELECT
|
||||
3 UNION ALL
|
||||
SELECT
|
||||
4 UNION ALL
|
||||
SELECT
|
||||
5 UNION ALL
|
||||
SELECT
|
||||
6 UNION ALL
|
||||
SELECT
|
||||
7 UNION ALL
|
||||
SELECT
|
||||
8 UNION ALL
|
||||
SELECT
|
||||
9
|
||||
) tens
|
||||
CROSS JOIN (
|
||||
SELECT
|
||||
0 AS i UNION ALL
|
||||
SELECT
|
||||
1 UNION ALL
|
||||
SELECT
|
||||
2 UNION ALL
|
||||
SELECT
|
||||
3 UNION ALL
|
||||
SELECT
|
||||
4 UNION ALL
|
||||
SELECT
|
||||
5 UNION ALL
|
||||
SELECT
|
||||
6 UNION ALL
|
||||
SELECT
|
||||
7 UNION ALL
|
||||
SELECT
|
||||
8 UNION ALL
|
||||
SELECT
|
||||
9
|
||||
) hundreds
|
||||
WHERE
|
||||
DATE_ADD( #{startTime}, INTERVAL ( units.i + tens.i * 10 + hundreds.i * 100 ) DAY ) <= #{endTime}
|
||||
) date_series
|
||||
LEFT JOIN `order` ON DATE ( `order`.create_at ) = date_series.DATE AND `order`.scenic_id = #{scenicId} AND ( `order`.STATUS = 1 OR `order`.STATUS = 2 )
|
||||
GROUP BY
|
||||
date_series.DATE
|
||||
ORDER BY date_series.DATE
|
||||
</select>
|
||||
<select id="orderChartByHour" resultType="java.util.HashMap">
|
||||
SELECT
|
||||
date_series.HOUR as t,
|
||||
COALESCE ( count( `order`.id ), 0 ) AS count,
|
||||
COALESCE ( sum( `order`.pay_price ), 0 ) AS price
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
DATE_FORMAT( DATE_ADD( #{startTime}, INTERVAL ( units.i + tens.i * 10 + hundreds.i * 100 ) HOUR ), '%m-%d %H') AS HOUR
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
0 AS i UNION ALL
|
||||
SELECT
|
||||
1 UNION ALL
|
||||
SELECT
|
||||
2 UNION ALL
|
||||
SELECT
|
||||
3 UNION ALL
|
||||
SELECT
|
||||
4 UNION ALL
|
||||
SELECT
|
||||
5 UNION ALL
|
||||
SELECT
|
||||
6 UNION ALL
|
||||
SELECT
|
||||
7 UNION ALL
|
||||
SELECT
|
||||
8 UNION ALL
|
||||
SELECT
|
||||
9
|
||||
) units
|
||||
CROSS JOIN (
|
||||
SELECT
|
||||
0 AS i UNION ALL
|
||||
SELECT
|
||||
1 UNION ALL
|
||||
SELECT
|
||||
2 UNION ALL
|
||||
SELECT
|
||||
3 UNION ALL
|
||||
SELECT
|
||||
4 UNION ALL
|
||||
SELECT
|
||||
5 UNION ALL
|
||||
SELECT
|
||||
6 UNION ALL
|
||||
SELECT
|
||||
7 UNION ALL
|
||||
SELECT
|
||||
8 UNION ALL
|
||||
SELECT
|
||||
9
|
||||
) tens
|
||||
CROSS JOIN (
|
||||
SELECT
|
||||
0 AS i UNION ALL
|
||||
SELECT
|
||||
1 UNION ALL
|
||||
SELECT
|
||||
2 UNION ALL
|
||||
SELECT
|
||||
3 UNION ALL
|
||||
SELECT
|
||||
4 UNION ALL
|
||||
SELECT
|
||||
5 UNION ALL
|
||||
SELECT
|
||||
6 UNION ALL
|
||||
SELECT
|
||||
7 UNION ALL
|
||||
SELECT
|
||||
8 UNION ALL
|
||||
SELECT
|
||||
9
|
||||
) hundreds
|
||||
WHERE
|
||||
DATE_ADD( #{startTime}, INTERVAL ( units.i + tens.i * 10 + hundreds.i * 100 ) HOUR ) <= #{endTime}
|
||||
) date_series
|
||||
LEFT JOIN `order` ON DATE_FORMAT( `order`.create_at, '%m-%d %H' ) = date_series.HOUR AND `order`.scenic_id = #{scenicId} AND ( `order`.STATUS = 1 OR `order`.STATUS = 2 )
|
||||
GROUP BY
|
||||
date_series.HOUR
|
||||
ORDER BY date_series.HOUR
|
||||
</select>
|
||||
<insert id="insertStat">
|
||||
REPLACE INTO scenic_stats (scenic_id, date, cs1, v1, sv1, u1, m1, gv1, gv2, pv1, pv2, cp1, o1, o2, o3, ro2, ro3)
|
||||
VALUES (#{scenicId}, #{date}, #{data.cameraShotOfMemberNum}, #{data.totalVisitorOfMemberNum}, #{data.scanCodeVisitorOfMemberNum}, #{data.uploadFaceOfMemberNum}, #{data.pushOfMemberNum}, #{data.completeVideoOfMemberNum}, #{data.completeOfVideoNum}, #{data.previewVideoOfMemberNum}, #{data.previewOfVideoNum}, #{data.clickOnPayOfMemberNum}, #{data.payOfMemberNum}, #{data.payOfOrderNum}, #{data.payOfOrderAmount}, #{data.refundOfOrderNum}, #{data.refundOfOrderAmount})
|
||||
|
Reference in New Issue
Block a user