同时在线用户数修改
This commit is contained in:
parent
05a202ed50
commit
5265fdc9f6
@ -24,7 +24,9 @@ import com.red.circle.other.inner.endpoint.live.RoomMemberClient;
|
|||||||
import com.red.circle.other.inner.endpoint.task.RoomDailyTaskClient;
|
import com.red.circle.other.inner.endpoint.task.RoomDailyTaskClient;
|
||||||
import com.red.circle.other.inner.endpoint.user.user.UserOnlineClient;
|
import com.red.circle.other.inner.endpoint.user.user.UserOnlineClient;
|
||||||
import com.red.circle.other.inner.endpoint.user.user.UserProfileClient;
|
import com.red.circle.other.inner.endpoint.user.user.UserProfileClient;
|
||||||
|
import com.red.circle.other.inner.enums.live.RoomUserRolesEnum;
|
||||||
import com.red.circle.other.inner.enums.task.RoomDailyTaskCode;
|
import com.red.circle.other.inner.enums.task.RoomDailyTaskCode;
|
||||||
|
import com.red.circle.other.inner.model.cmd.live.MemberRolesQryCmd;
|
||||||
import com.red.circle.other.inner.model.cmd.task.RoomDailyTaskProgressUpdateInnerCmd;
|
import com.red.circle.other.inner.model.cmd.task.RoomDailyTaskProgressUpdateInnerCmd;
|
||||||
import com.red.circle.other.inner.model.cmd.user.OnlineStatusUploadCmd;
|
import com.red.circle.other.inner.model.cmd.user.OnlineStatusUploadCmd;
|
||||||
import com.red.circle.other.inner.model.dto.live.RoomMemberDTO;
|
import com.red.circle.other.inner.model.dto.live.RoomMemberDTO;
|
||||||
@ -37,8 +39,11 @@ import com.red.circle.tool.core.regex.RegexConstant;
|
|||||||
import com.red.circle.tool.core.sequence.IdWorkerUtils;
|
import com.red.circle.tool.core.sequence.IdWorkerUtils;
|
||||||
import com.red.circle.tool.core.text.StringUtils;
|
import com.red.circle.tool.core.text.StringUtils;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import java.util.Set;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@ -121,7 +126,15 @@ public class UserHeartbeatListener implements MessageListener {
|
|||||||
// 房间内同时在线用户数
|
// 房间内同时在线用户数
|
||||||
if (Objects.equals(roomProfile.getUserId(), event.getUserId())) {
|
if (Objects.equals(roomProfile.getUserId(), event.getUserId())) {
|
||||||
List<LiveRoomUser> liveRoomUsers = liveMicUserCacheService.listUser(roomProfile.getId());
|
List<LiveRoomUser> liveRoomUsers = liveMicUserCacheService.listUser(roomProfile.getId());
|
||||||
handleOnlineUserCountTask(event.getUserId(), liveRoomUsers.size());
|
Set<Long> userIdList = liveRoomUsers.stream().map(LiveRoomUser::getUserId).collect(Collectors.toSet());
|
||||||
|
|
||||||
|
MemberRolesQryCmd roleQry = new MemberRolesQryCmd().setRoomId(roomId).setUserIds(userIdList);
|
||||||
|
Map<Long, RoomUserRolesEnum> body = roomMemberClient.mapMemberRoles(roleQry).getBody();
|
||||||
|
Set<RoomUserRolesEnum> collect = body.values().stream()
|
||||||
|
.filter(roleEnum -> !RoomUserRolesEnum.TOURIST.equals(roleEnum))
|
||||||
|
.collect(Collectors.toSet());
|
||||||
|
|
||||||
|
handleOnlineUserCountTask(event.getUserId(), collect.size());
|
||||||
} else {
|
} else {
|
||||||
// 在他人房间活跃
|
// 在他人房间活跃
|
||||||
if (!tryAcquireMinuteTick(event.getUserId())) {
|
if (!tryAcquireMinuteTick(event.getUserId())) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user