|
@@ -40,20 +40,12 @@ public class DataCountService {
|
|
|
|
|
|
|
|
|
public Object roomData(String token) {
|
|
|
- String userName = null;
|
|
|
- if(StringUtils.isNotBlank(token)){
|
|
|
- userName = JwtUtil.getUserName(token);
|
|
|
- }
|
|
|
- LambdaQueryWrapper<Room> wrapper = new LambdaQueryWrapper<>();
|
|
|
- if(StringUtils.isNotBlank(userName)){
|
|
|
- wrapper.eq(Room::getRoomUserName,userName);
|
|
|
- }
|
|
|
- List<Room> list = roomService.list(wrapper);
|
|
|
- Long roomCount = Long.valueOf(list.size());
|
|
|
- if(list.size() <=0){
|
|
|
+ List<Room> roomList = roomService.getRoomByToken(token);
|
|
|
+ List<String> roomIds = roomList.stream().map(Room::getRoomId).collect(Collectors.toList());
|
|
|
+ if(roomIds.size() <=0){
|
|
|
return new RoomData();
|
|
|
}
|
|
|
- List<String> roomIds = list.stream().map(Room::getRoomId).collect(Collectors.toList());
|
|
|
+ Long roomCount = Long.valueOf(roomList.size());
|
|
|
|
|
|
Long visitManCount = roomVisitLogService.manCount(roomIds);
|
|
|
LambdaQueryWrapper<RoomVisitLog> wrapper2 = new LambdaQueryWrapper<>();
|
|
@@ -77,25 +69,15 @@ public class DataCountService {
|
|
|
}
|
|
|
|
|
|
public Object takeLookTop5(String token) {
|
|
|
- String userName = null;
|
|
|
- if(StringUtils.isNotBlank(token)){
|
|
|
- userName = JwtUtil.getUserName(token);
|
|
|
- }
|
|
|
- TakeLookTop5 takeLookTop5 = new TakeLookTop5();
|
|
|
-
|
|
|
- List<DataCount> takeLookList = new ArrayList<>();
|
|
|
- LambdaQueryWrapper<Room> wrapper = new LambdaQueryWrapper<>();
|
|
|
- wrapper.orderByDesc(Room::getRoomViewCount);
|
|
|
- if(StringUtils.isNotBlank(userName)){
|
|
|
- wrapper.eq(Room::getRoomUserName,userName);
|
|
|
-
|
|
|
- }
|
|
|
- wrapper.orderByDesc(Room::getRoomViewCount);
|
|
|
- List<Room> roomList = roomService.list( wrapper);
|
|
|
+ List<Room> roomList = roomService.getRoomByToken(token);
|
|
|
List<String> roomIds = roomList.stream().map(Room::getRoomId).collect(Collectors.toList());
|
|
|
+ TakeLookTop5 takeLookTop5 = new TakeLookTop5();
|
|
|
if(roomIds.size() <=0){
|
|
|
return takeLookTop5;
|
|
|
}
|
|
|
+
|
|
|
+ List<DataCount> takeLookList = new ArrayList<>();
|
|
|
+
|
|
|
for (Room room : roomList) {
|
|
|
if(takeLookList.size() >= 5){
|
|
|
continue;
|
|
@@ -112,11 +94,19 @@ public class DataCountService {
|
|
|
return takeLookTop5;
|
|
|
}
|
|
|
|
|
|
- public Object onlineTimeCount() {
|
|
|
+ public Object onlineTimeCount(String token) {
|
|
|
+ List<Room> roomList = roomService.getRoomByToken(token);
|
|
|
+ List<String> roomIds = roomList.stream().map(Room::getRoomId).collect(Collectors.toList());
|
|
|
+
|
|
|
List<Integer> keys = DataCountUtil.timeShardingRes;
|
|
|
List<DataCount> dataCounts = new ArrayList<>();
|
|
|
for (Integer key : keys) {
|
|
|
- Long count = roomVisitLogService.getCountByTime(key);
|
|
|
+ Long count = null;
|
|
|
+ if(roomIds.isEmpty()){
|
|
|
+ count = 0L;
|
|
|
+ }else {
|
|
|
+ count = roomVisitLogService.getCountByTime(key,roomIds);
|
|
|
+ }
|
|
|
DataCount dataCount = new DataCount();
|
|
|
dataCount.setDataKey(key.toString());
|
|
|
dataCount.setDataCount(count);
|
|
@@ -125,17 +115,24 @@ public class DataCountService {
|
|
|
return dataCounts;
|
|
|
}
|
|
|
|
|
|
- public Object roomVisitData(String roomTitle, String startTime, String endTime) {
|
|
|
- List<String> roomIds = new ArrayList<>();
|
|
|
+ public Object roomVisitData(String token,String roomTitle, String startTime, String endTime) {
|
|
|
+ List<Room> roomList = roomService.getRoomByToken(token);
|
|
|
+ List<String> roomIdsDb = roomList.stream().map(Room::getRoomId).collect(Collectors.toList());
|
|
|
+ List<String> roomIds = roomIdsDb;
|
|
|
+
|
|
|
if(StringUtils.isNotBlank(roomTitle)){
|
|
|
- List<Room> roomList = roomService.getLikeTitle(roomTitle);
|
|
|
+ List<Room> roomListLike = roomService.getLikeTitle(roomTitle);
|
|
|
if(roomList.size() >0){
|
|
|
- roomIds = roomList.stream().map(Room::getRoomId).collect(Collectors.toList());
|
|
|
+ List<String> roomIds2 = roomListLike.stream().map(Room::getRoomId).collect(Collectors.toList());
|
|
|
+ roomIds = roomIdsDb.stream().filter(roomIds2::contains).collect(Collectors.toList());
|
|
|
}
|
|
|
}
|
|
|
+ RoomVisitData roomVisitData = new RoomVisitData();
|
|
|
+ if(roomIds.isEmpty()){
|
|
|
+ return roomVisitData;
|
|
|
+ }
|
|
|
startTime = Dateutils.formatStartTime(startTime);
|
|
|
endTime = Dateutils.formatEndTime(endTime);
|
|
|
- RoomVisitData roomVisitData = new RoomVisitData();
|
|
|
List<DataCount> dbVisitList = roomVisitLogService.getByGroupRoomId("t_room_visit_log",roomIds,startTime,endTime);
|
|
|
List<DataCount> dbVisitListFmt = getDataCountListByList(dbVisitList, startTime, endTime);
|
|
|
|
|
@@ -174,11 +171,15 @@ public class DataCountService {
|
|
|
return dataCounts;
|
|
|
}
|
|
|
|
|
|
- public Object roomDataList(String roomTitle, String startTime, String endTime, Integer pageNum, Integer pageSize) {
|
|
|
+ public Object roomDataList(String token,String roomTitle, String startTime, String endTime, Integer pageNum, Integer pageSize) {
|
|
|
startTime = Dateutils.formatStartTime(startTime);
|
|
|
endTime = Dateutils.formatEndTime(endTime);
|
|
|
|
|
|
LambdaQueryWrapper<Room> wrapper = new LambdaQueryWrapper<>();
|
|
|
+ if(StringUtils.isNotBlank(token)){
|
|
|
+ String userName = JwtUtil.getUserName(token);
|
|
|
+ wrapper.eq(Room::getRoomUserName,userName);
|
|
|
+ }
|
|
|
if(StringUtils.isNotBlank(roomTitle)){
|
|
|
wrapper.like(Room::getRoomId,roomTitle);
|
|
|
}
|
|
@@ -255,11 +256,26 @@ public class DataCountService {
|
|
|
return PageInfo.PageInfo(pageVo);
|
|
|
}
|
|
|
|
|
|
- public Object roomMsgList(String roomTitle, String startTime, String endTime, Integer pageNum, Integer pageSize) {
|
|
|
+ public Object roomMsgList(String token ,String roomTitle, String startTime, String endTime, Integer pageNum, Integer pageSize) {
|
|
|
+ List<Room> roomList = roomService.getRoomByToken(token);
|
|
|
+ List<String> roomIdsDb = roomList.stream().map(Room::getRoomId).collect(Collectors.toList());
|
|
|
+ List<String> roomIds = roomIdsDb;
|
|
|
+
|
|
|
+ if(StringUtils.isNotBlank(roomTitle)){
|
|
|
+ List<Room> roomListLike = roomService.getLikeTitle(roomTitle);
|
|
|
+ if(roomList.size() >0){
|
|
|
+ List<String> roomIds2 = roomListLike.stream().map(Room::getRoomId).collect(Collectors.toList());
|
|
|
+ roomIds = roomIdsDb.stream().filter(roomIds2::contains).collect(Collectors.toList());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(roomIds.isEmpty()){
|
|
|
+ return PageInfo.PageInfo(new Page<>(pageNum,pageSize));
|
|
|
+ }
|
|
|
+
|
|
|
startTime = Dateutils.formatStartTime(startTime);
|
|
|
endTime = Dateutils.formatEndTime(endTime);
|
|
|
|
|
|
- Page<UserMsgVo> page = roomDanmakuService.pageList(new Page<>(pageNum,pageSize) ,roomTitle,startTime,endTime);
|
|
|
+ Page<UserMsgVo> page = roomDanmakuService.pageList(new Page<>(pageNum,pageSize) ,roomIds,startTime,endTime);
|
|
|
|
|
|
HashMap<String,List<RoomVisitLog>> roomVisitLogsMap = new HashMap<>();
|
|
|
HashMap<String,List<RoomDanmaku>> danmakusMap = new HashMap<>();
|