lyhzzz 1 ano atrás
pai
commit
84f3adfe7b

+ 1 - 0
src/main/java/com/fdkankan/tk/response/DataCount.java

@@ -6,4 +6,5 @@ import lombok.Data;
 public class DataCount {
     private String dataKey;
     private Long dataCount;
+    private Integer roomUserId;
 }

+ 11 - 4
src/main/java/com/fdkankan/tk/service/impl/RoomServiceImpl.java

@@ -123,6 +123,11 @@ public class RoomServiceImpl extends ServiceImpl<IRoomMapper, Room> implements I
 
         HashMap<String, DataCount> dataCountMap = roomVisitLogService.getGroupByRoomId();
         for (Room record : page.getRecords()) {
+            DataCount dataCount = dataCountMap.get(record.getRoomId());
+            if (dataCount != null) {
+                record.setRoomViewCount(dataCount.getDataCount());
+            }
+
             if (!record.getRoomUserName().equals(param.getUserName())) {
                 RoomUser roomUser = roomUserService.getByUserName(record.getRoomId(),param.getUserName());
                 if (roomUser != null) {
@@ -138,13 +143,15 @@ public class RoomServiceImpl extends ServiceImpl<IRoomMapper, Room> implements I
                         record.setRoomUserName(userInfo.getUserName());
                     }
                     record.setIsHomeOwner(false);
+
+                    DataCount dataCount = dataCountMap.get(record.getRoomId()+"_"+roomUser.getRoomUserId());
+                    if (dataCount != null) {
+                        record.setRoomViewCount(dataCount.getDataCount());
+                    }
                 }
             }
             record.setVisitPassword(null);
-            DataCount dataCount = dataCountMap.get(record.getRoomId());
-            if (dataCount != null) {
-                record.setRoomViewCount(dataCount.getDataCount());
-            }
+
         }
         return PageInfo.PageInfo(page);
     }

+ 8 - 1
src/main/java/com/fdkankan/tk/service/impl/RoomVisitLogServiceImpl.java

@@ -109,7 +109,14 @@ public class RoomVisitLogServiceImpl extends ServiceImpl<IRoomVisitLogMapper, Ro
     public HashMap<String,DataCount> getGroupByRoomId() {
         HashMap<String,DataCount> map = new HashMap<>();
         List<DataCount> groupByRoomId = this.getBaseMapper().getGroupByRoomId();
-        groupByRoomId.forEach(e -> map.put(e.getDataKey(),e));
+        for (DataCount dataCount : groupByRoomId) {
+            if(dataCount.getRoomUserId() != null){
+                map.put(dataCount.getDataKey() +"_"+dataCount.getRoomUserId(),dataCount);
+            }else {
+                map.put(dataCount.getDataKey() ,dataCount);
+
+            }
+        }
         return map;
     }
 

+ 2 - 2
src/main/resources/mapper/tk/RoomVisitLogMapper.xml

@@ -55,8 +55,8 @@
 
     </select>
     <select id="getGroupByRoomId" resultType="com.fdkankan.tk.response.DataCount">
-        select room_id as dataKey ,count(visit_id) as dataCount from t_room_visit_log
-        where tb_status = 0 group by dataKey
+        select room_id as dataKey ,room_user_id,count(visit_id) as dataCount from t_room_visit_log
+        where tb_status = 0 group by dataKey,room_user_id
     </select>
     <select id="getDataCountTop5" resultType="com.fdkankan.tk.response.DataCount">
         SELECT  room_id as dataKey,count(1) as dataCount  FROM t_room_visit_log