diff --git a/yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/dal/mysql/statistics/ImStatisticsManagerMapper.java b/yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/dal/mysql/statistics/ImStatisticsManagerMapper.java index 75aa197..1bbd1ce 100644 --- a/yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/dal/mysql/statistics/ImStatisticsManagerMapper.java +++ b/yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/dal/mysql/statistics/ImStatisticsManagerMapper.java @@ -39,10 +39,10 @@ public interface ImStatisticsManagerMapper { */ @Select("SELECT COUNT(DISTINCT user_id) FROM (" + " SELECT sender_id AS user_id FROM im_private_message " + - " WHERE send_time >= #{beginTime} AND send_time < #{endTime}" + + " WHERE deleted = 0 AND send_time >= #{beginTime} AND send_time < #{endTime}" + " UNION ALL " + " SELECT sender_id AS user_id FROM im_group_message " + - " WHERE send_time >= #{beginTime} AND send_time < #{endTime}" + + " WHERE deleted = 0 AND send_time >= #{beginTime} AND send_time < #{endTime}" + ") t") Long selectActiveUserCount(@Param("beginTime") LocalDateTime beginTime, @Param("endTime") LocalDateTime endTime); @@ -63,10 +63,10 @@ public interface ImStatisticsManagerMapper { */ @Select("SELECT day AS date, COUNT(DISTINCT user_id) AS count FROM (" + " SELECT DATE(send_time) AS day, sender_id AS user_id FROM im_private_message " + - " WHERE send_time >= #{beginTime} AND send_time < #{endTime}" + + " WHERE deleted = 0 AND send_time >= #{beginTime} AND send_time < #{endTime}" + " UNION ALL " + " SELECT DATE(send_time) AS day, sender_id AS user_id FROM im_group_message " + - " WHERE send_time >= #{beginTime} AND send_time < #{endTime}" + + " WHERE deleted = 0 AND send_time >= #{beginTime} AND send_time < #{endTime}" + ") t GROUP BY day") List> selectActiveUserDailyCount(@Param("beginTime") LocalDateTime beginTime, @Param("endTime") LocalDateTime endTime); @@ -75,7 +75,7 @@ public interface ImStatisticsManagerMapper { /** * 群总数(im_group) */ - @Select("SELECT COUNT(*) FROM im_group WHERE deleted = 0") + @Select("SELECT COUNT(*) FROM im_group WHERE deleted = 0 AND status = 0") Long selectTotalGroupCount(); /** @@ -101,7 +101,7 @@ public interface ImStatisticsManagerMapper { " SELECT g.id, COUNT(m.id) AS cnt " + " FROM im_group g " + " LEFT JOIN im_group_member m ON m.group_id = g.id AND m.status = 0 AND m.deleted = 0 " + - " WHERE g.deleted = 0 " + + " WHERE g.deleted = 0 AND g.status = 0 " + " GROUP BY g.id" + ") t " + "GROUP BY `range`") @@ -113,7 +113,7 @@ public interface ImStatisticsManagerMapper { * 区间内私聊消息数 */ @Select("SELECT COUNT(*) FROM im_private_message " + - "WHERE send_time >= #{beginTime} AND send_time < #{endTime}") + "WHERE deleted = 0 AND send_time >= #{beginTime} AND send_time < #{endTime}") Long selectPrivateMessageCount(@Param("beginTime") LocalDateTime beginTime, @Param("endTime") LocalDateTime endTime); @@ -121,7 +121,7 @@ public interface ImStatisticsManagerMapper { * 区间内群聊消息数 */ @Select("SELECT COUNT(*) FROM im_group_message " + - "WHERE send_time >= #{beginTime} AND send_time < #{endTime}") + "WHERE deleted = 0 AND send_time >= #{beginTime} AND send_time < #{endTime}") Long selectGroupMessageCount(@Param("beginTime") LocalDateTime beginTime, @Param("endTime") LocalDateTime endTime); @@ -129,7 +129,7 @@ public interface ImStatisticsManagerMapper { * 区间内每日私聊消息数(按天分组) */ @Select("SELECT DATE(send_time) AS date, COUNT(*) AS count FROM im_private_message " + - "WHERE send_time >= #{beginTime} AND send_time < #{endTime} " + + "WHERE deleted = 0 AND send_time >= #{beginTime} AND send_time < #{endTime} " + "GROUP BY DATE(send_time)") List> selectPrivateMessageDailyCount(@Param("beginTime") LocalDateTime beginTime, @Param("endTime") LocalDateTime endTime); @@ -138,7 +138,7 @@ public interface ImStatisticsManagerMapper { * 区间内每日群聊消息数(按天分组) */ @Select("SELECT DATE(send_time) AS date, COUNT(*) AS count FROM im_group_message " + - "WHERE send_time >= #{beginTime} AND send_time < #{endTime} " + + "WHERE deleted = 0 AND send_time >= #{beginTime} AND send_time < #{endTime} " + "GROUP BY DATE(send_time)") List> selectGroupMessageDailyCount(@Param("beginTime") LocalDateTime beginTime, @Param("endTime") LocalDateTime endTime); @@ -150,10 +150,10 @@ public interface ImStatisticsManagerMapper { */ @Select("SELECT type, COUNT(*) AS count FROM (" + " SELECT type FROM im_private_message " + - " WHERE send_time >= #{beginTime} AND send_time < #{endTime}" + + " WHERE deleted = 0 AND send_time >= #{beginTime} AND send_time < #{endTime}" + " UNION ALL " + " SELECT type FROM im_group_message " + - " WHERE send_time >= #{beginTime} AND send_time < #{endTime}" + + " WHERE deleted = 0 AND send_time >= #{beginTime} AND send_time < #{endTime}" + ") t GROUP BY type") List> selectMessageTypeDistribution(@Param("beginTime") LocalDateTime beginTime, @Param("endTime") LocalDateTime endTime); @@ -165,10 +165,10 @@ public interface ImStatisticsManagerMapper { */ @Select("SELECT user_id AS userId, COUNT(*) AS messageCount FROM (" + " SELECT sender_id AS user_id FROM im_private_message " + - " WHERE send_time >= #{beginTime} AND send_time < #{endTime}" + + " WHERE deleted = 0 AND send_time >= #{beginTime} AND send_time < #{endTime}" + " UNION ALL " + " SELECT sender_id AS user_id FROM im_group_message " + - " WHERE send_time >= #{beginTime} AND send_time < #{endTime}" + + " WHERE deleted = 0 AND send_time >= #{beginTime} AND send_time < #{endTime}" + ") t GROUP BY user_id ORDER BY messageCount DESC LIMIT #{limit}") List> selectTopSenders(@Param("beginTime") LocalDateTime beginTime, @Param("endTime") LocalDateTime endTime,