Commit 5f88c9ca35f3e38d01d20b20492728a63e9c7f09

Authored by YunaiV
1 parent 45889459

✨ feat(im): 增加消息查询条件以排除已删除记录

yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/dal/mysql/statistics/ImStatisticsManagerMapper.java
... ... @@ -39,10 +39,10 @@ public interface ImStatisticsManagerMapper {
39 39 */
40 40 @Select("SELECT COUNT(DISTINCT user_id) FROM (" +
41 41 " SELECT sender_id AS user_id FROM im_private_message " +
42   - " WHERE send_time >= #{beginTime} AND send_time < #{endTime}" +
  42 + " WHERE deleted = 0 AND send_time >= #{beginTime} AND send_time < #{endTime}" +
43 43 " UNION ALL " +
44 44 " SELECT sender_id AS user_id FROM im_group_message " +
45   - " WHERE send_time >= #{beginTime} AND send_time < #{endTime}" +
  45 + " WHERE deleted = 0 AND send_time >= #{beginTime} AND send_time < #{endTime}" +
46 46 ") t")
47 47 Long selectActiveUserCount(@Param("beginTime") LocalDateTime beginTime,
48 48 @Param("endTime") LocalDateTime endTime);
... ... @@ -63,10 +63,10 @@ public interface ImStatisticsManagerMapper {
63 63 */
64 64 @Select("SELECT day AS date, COUNT(DISTINCT user_id) AS count FROM (" +
65 65 " SELECT DATE(send_time) AS day, sender_id AS user_id FROM im_private_message " +
66   - " WHERE send_time >= #{beginTime} AND send_time < #{endTime}" +
  66 + " WHERE deleted = 0 AND send_time >= #{beginTime} AND send_time < #{endTime}" +
67 67 " UNION ALL " +
68 68 " SELECT DATE(send_time) AS day, sender_id AS user_id FROM im_group_message " +
69   - " WHERE send_time >= #{beginTime} AND send_time < #{endTime}" +
  69 + " WHERE deleted = 0 AND send_time >= #{beginTime} AND send_time < #{endTime}" +
70 70 ") t GROUP BY day")
71 71 List<Map<String, Object>> selectActiveUserDailyCount(@Param("beginTime") LocalDateTime beginTime, @Param("endTime") LocalDateTime endTime);
72 72  
... ... @@ -75,7 +75,7 @@ public interface ImStatisticsManagerMapper {
75 75 /**
76 76 * 群总数(im_group)
77 77 */
78   - @Select("SELECT COUNT(*) FROM im_group WHERE deleted = 0")
  78 + @Select("SELECT COUNT(*) FROM im_group WHERE deleted = 0 AND status = 0")
79 79 Long selectTotalGroupCount();
80 80  
81 81 /**
... ... @@ -101,7 +101,7 @@ public interface ImStatisticsManagerMapper {
101 101 " SELECT g.id, COUNT(m.id) AS cnt " +
102 102 " FROM im_group g " +
103 103 " LEFT JOIN im_group_member m ON m.group_id = g.id AND m.status = 0 AND m.deleted = 0 " +
104   - " WHERE g.deleted = 0 " +
  104 + " WHERE g.deleted = 0 AND g.status = 0 " +
105 105 " GROUP BY g.id" +
106 106 ") t " +
107 107 "GROUP BY `range`")
... ... @@ -113,7 +113,7 @@ public interface ImStatisticsManagerMapper {
113 113 * 区间内私聊消息数
114 114 */
115 115 @Select("SELECT COUNT(*) FROM im_private_message " +
116   - "WHERE send_time >= #{beginTime} AND send_time < #{endTime}")
  116 + "WHERE deleted = 0 AND send_time >= #{beginTime} AND send_time < #{endTime}")
117 117 Long selectPrivateMessageCount(@Param("beginTime") LocalDateTime beginTime,
118 118 @Param("endTime") LocalDateTime endTime);
119 119  
... ... @@ -121,7 +121,7 @@ public interface ImStatisticsManagerMapper {
121 121 * 区间内群聊消息数
122 122 */
123 123 @Select("SELECT COUNT(*) FROM im_group_message " +
124   - "WHERE send_time >= #{beginTime} AND send_time < #{endTime}")
  124 + "WHERE deleted = 0 AND send_time >= #{beginTime} AND send_time < #{endTime}")
125 125 Long selectGroupMessageCount(@Param("beginTime") LocalDateTime beginTime,
126 126 @Param("endTime") LocalDateTime endTime);
127 127  
... ... @@ -129,7 +129,7 @@ public interface ImStatisticsManagerMapper {
129 129 * 区间内每日私聊消息数(按天分组)
130 130 */
131 131 @Select("SELECT DATE(send_time) AS date, COUNT(*) AS count FROM im_private_message " +
132   - "WHERE send_time >= #{beginTime} AND send_time < #{endTime} " +
  132 + "WHERE deleted = 0 AND send_time >= #{beginTime} AND send_time < #{endTime} " +
133 133 "GROUP BY DATE(send_time)")
134 134 List<Map<String, Object>> selectPrivateMessageDailyCount(@Param("beginTime") LocalDateTime beginTime,
135 135 @Param("endTime") LocalDateTime endTime);
... ... @@ -138,7 +138,7 @@ public interface ImStatisticsManagerMapper {
138 138 * 区间内每日群聊消息数(按天分组)
139 139 */
140 140 @Select("SELECT DATE(send_time) AS date, COUNT(*) AS count FROM im_group_message " +
141   - "WHERE send_time >= #{beginTime} AND send_time < #{endTime} " +
  141 + "WHERE deleted = 0 AND send_time >= #{beginTime} AND send_time < #{endTime} " +
142 142 "GROUP BY DATE(send_time)")
143 143 List<Map<String, Object>> selectGroupMessageDailyCount(@Param("beginTime") LocalDateTime beginTime,
144 144 @Param("endTime") LocalDateTime endTime);
... ... @@ -150,10 +150,10 @@ public interface ImStatisticsManagerMapper {
150 150 */
151 151 @Select("SELECT type, COUNT(*) AS count FROM (" +
152 152 " SELECT type FROM im_private_message " +
153   - " WHERE send_time >= #{beginTime} AND send_time < #{endTime}" +
  153 + " WHERE deleted = 0 AND send_time >= #{beginTime} AND send_time < #{endTime}" +
154 154 " UNION ALL " +
155 155 " SELECT type FROM im_group_message " +
156   - " WHERE send_time >= #{beginTime} AND send_time < #{endTime}" +
  156 + " WHERE deleted = 0 AND send_time >= #{beginTime} AND send_time < #{endTime}" +
157 157 ") t GROUP BY type")
158 158 List<Map<String, Object>> selectMessageTypeDistribution(@Param("beginTime") LocalDateTime beginTime,
159 159 @Param("endTime") LocalDateTime endTime);
... ... @@ -165,10 +165,10 @@ public interface ImStatisticsManagerMapper {
165 165 */
166 166 @Select("SELECT user_id AS userId, COUNT(*) AS messageCount FROM (" +
167 167 " SELECT sender_id AS user_id FROM im_private_message " +
168   - " WHERE send_time >= #{beginTime} AND send_time < #{endTime}" +
  168 + " WHERE deleted = 0 AND send_time >= #{beginTime} AND send_time < #{endTime}" +
169 169 " UNION ALL " +
170 170 " SELECT sender_id AS user_id FROM im_group_message " +
171   - " WHERE send_time >= #{beginTime} AND send_time < #{endTime}" +
  171 + " WHERE deleted = 0 AND send_time >= #{beginTime} AND send_time < #{endTime}" +
172 172 ") t GROUP BY user_id ORDER BY messageCount DESC LIMIT #{limit}")
173 173 List<Map<String, Object>> selectTopSenders(@Param("beginTime") LocalDateTime beginTime,
174 174 @Param("endTime") LocalDateTime endTime,
... ...