refactor: 访问统计完善
This commit is contained in:
@@ -44,7 +44,7 @@
|
||||
t1.create_time DESC
|
||||
</select>
|
||||
|
||||
<!-- 获取PV访问量统计数据 -->
|
||||
<!-- 获取访问量日统计列表 -->
|
||||
<select id="getPvCounts" resultType="com.youlai.system.model.bo.VisitCount">
|
||||
SELECT
|
||||
COUNT(1) AS count,
|
||||
@@ -57,7 +57,7 @@
|
||||
DATE_FORMAT(create_time, '%Y-%m-%d')
|
||||
</select>
|
||||
|
||||
<!-- 获取IP访问统计数据 -->
|
||||
<!-- 获取IP日统计列表-->
|
||||
<select id="getIpCounts" resultType="com.youlai.system.model.bo.VisitCount">
|
||||
SELECT
|
||||
COUNT(DISTINCT ip) AS count,
|
||||
@@ -69,4 +69,45 @@
|
||||
GROUP BY
|
||||
DATE_FORMAT(create_time, '%Y-%m-%d')
|
||||
</select>
|
||||
|
||||
<!-- 获取访问量(PV)统计数据 -->
|
||||
<select id="getPvStats" resultType="com.youlai.system.model.vo.VisitStatsVO">
|
||||
SELECT
|
||||
COUNT(CASE WHEN DATE(create_time) = CURDATE() THEN 1 END) AS todayCount,
|
||||
COUNT(*) AS totalCount,
|
||||
ROUND(
|
||||
CASE
|
||||
WHEN COUNT(CASE WHEN DATE(create_time) = CURDATE() - INTERVAL 1 DAY THEN 1 END) = 0 THEN 0
|
||||
ELSE
|
||||
(COUNT(CASE WHEN DATE(create_time) = CURDATE() THEN 1 END) -
|
||||
COUNT(CASE WHEN DATE(create_time) = CURDATE() - INTERVAL 1 DAY THEN 1 END)) /
|
||||
COUNT(CASE WHEN DATE(create_time) = CURDATE() - INTERVAL 1 DAY THEN 1 END)
|
||||
END,
|
||||
2) AS growthRate
|
||||
FROM
|
||||
sys_log
|
||||
WHERE
|
||||
is_deleted = 0
|
||||
</select>
|
||||
|
||||
<!-- 获取IP统计数据 -->
|
||||
<select id="getIpStats" resultType="com.youlai.system.model.vo.VisitStatsVO">
|
||||
SELECT
|
||||
COUNT(DISTINCT CASE WHEN DATE(create_time) = CURDATE() THEN ip END) AS todayCount,
|
||||
COUNT(DISTINCT ip) AS totalCount,
|
||||
ROUND(
|
||||
CASE
|
||||
WHEN COUNT(DISTINCT CASE WHEN DATE(create_time) = CURDATE() - INTERVAL 1 DAY THEN ip END) = 0 THEN 0
|
||||
ELSE
|
||||
(COUNT(DISTINCT CASE WHEN DATE(create_time) = CURDATE() THEN ip END) -
|
||||
COUNT(DISTINCT CASE WHEN DATE(create_time) = CURDATE() - INTERVAL 1 DAY THEN ip END)) /
|
||||
COUNT(DISTINCT CASE WHEN DATE(create_time) = CURDATE() - INTERVAL 1 DAY THEN ip END)
|
||||
END,
|
||||
2) AS growthRate
|
||||
FROM
|
||||
sys_log
|
||||
WHERE
|
||||
is_deleted = 0
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
Reference in New Issue
Block a user