加入,退出房间移除房间列表缓存
This commit is contained in:
parent
77cd983ad0
commit
27ac3039b6
@ -1,11 +1,13 @@
|
|||||||
package com.red.circle.live.app.command.user;
|
package com.red.circle.live.app.command.user;
|
||||||
|
|
||||||
import com.red.circle.common.business.dto.cmd.app.AppRoomIdCmd;
|
import com.red.circle.common.business.dto.cmd.app.AppRoomIdCmd;
|
||||||
|
import com.red.circle.component.redis.service.RedisService;
|
||||||
import com.red.circle.live.domain.gateway.LiveMicrophoneGateway;
|
import com.red.circle.live.domain.gateway.LiveMicrophoneGateway;
|
||||||
import com.red.circle.live.domain.live.LiveMicrophone;
|
import com.red.circle.live.domain.live.LiveMicrophone;
|
||||||
import com.red.circle.live.domain.live.LiveMusicStatus;
|
import com.red.circle.live.domain.live.LiveMusicStatus;
|
||||||
import com.red.circle.live.infra.database.cache.service.LiveMicCacheService;
|
import com.red.circle.live.infra.database.cache.service.LiveMicCacheService;
|
||||||
import com.red.circle.live.infra.database.cache.service.LiveMusicHeartbeatService;
|
import com.red.circle.live.infra.database.cache.service.LiveMusicHeartbeatService;
|
||||||
|
import com.red.circle.other.inner.endpoint.user.region.UserRegionClient;
|
||||||
import com.red.circle.tool.core.collection.CollectionUtils;
|
import com.red.circle.tool.core.collection.CollectionUtils;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
@ -24,6 +26,8 @@ public class LiveQuitRoomExe {
|
|||||||
private final LiveMicCacheService liveMicCacheService;
|
private final LiveMicCacheService liveMicCacheService;
|
||||||
private final LiveMicrophoneGateway liveMicrophoneGateway;
|
private final LiveMicrophoneGateway liveMicrophoneGateway;
|
||||||
private final LiveMusicHeartbeatService liveMusicHeartbeatService;
|
private final LiveMusicHeartbeatService liveMusicHeartbeatService;
|
||||||
|
private final UserRegionClient userRegionClient;
|
||||||
|
private final RedisService redisService;
|
||||||
|
|
||||||
public void execute(AppRoomIdCmd cmd) {
|
public void execute(AppRoomIdCmd cmd) {
|
||||||
// 移除在线用户
|
// 移除在线用户
|
||||||
@ -50,6 +54,16 @@ public class LiveQuitRoomExe {
|
|||||||
&& Objects.equals(musicStatus.getUserId(), cmd.requiredReqUserId())) {
|
&& Objects.equals(musicStatus.getUserId(), cmd.requiredReqUserId())) {
|
||||||
liveMusicHeartbeatService.removeMickUser(cmd.getRoomId());
|
liveMusicHeartbeatService.removeMickUser(cmd.getRoomId());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
//清空房间列表缓存
|
||||||
|
String region = userRegionClient.getRegionCode(cmd.requiredReqUserId()).getBody();
|
||||||
|
String key = cmd.requireReqSysOrigin() + region;
|
||||||
|
redisService.delete("USER:REGION_ROOM:" + key);
|
||||||
|
} catch (Exception e) {
|
||||||
|
// ignore
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -19,6 +19,7 @@ import com.red.circle.other.app.dto.cmd.room.RoomEntryCmd;
|
|||||||
import com.red.circle.other.domain.gateway.user.UserProfileGateway;
|
import com.red.circle.other.domain.gateway.user.UserProfileGateway;
|
||||||
import com.red.circle.other.domain.gateway.user.ability.UserRegionGateway;
|
import com.red.circle.other.domain.gateway.user.ability.UserRegionGateway;
|
||||||
import com.red.circle.other.infra.database.cache.service.other.RoomManagerCacheService;
|
import com.red.circle.other.infra.database.cache.service.other.RoomManagerCacheService;
|
||||||
|
import com.red.circle.other.infra.database.cache.service.user.RegionRoomCacheService;
|
||||||
import com.red.circle.other.infra.database.cache.service.user.UserAgoraTokenCacheService;
|
import com.red.circle.other.infra.database.cache.service.user.UserAgoraTokenCacheService;
|
||||||
import com.red.circle.other.infra.database.mongo.entity.live.RoomProfile;
|
import com.red.circle.other.infra.database.mongo.entity.live.RoomProfile;
|
||||||
import com.red.circle.other.infra.database.mongo.entity.live.RoomProfileManager;
|
import com.red.circle.other.infra.database.mongo.entity.live.RoomProfileManager;
|
||||||
@ -81,6 +82,7 @@ public class RoomEnterCmdExe {
|
|||||||
private final TrtcClient trtcClient;
|
private final TrtcClient trtcClient;
|
||||||
private final UserAgoraTokenCacheService userAgoraTokenCacheService;
|
private final UserAgoraTokenCacheService userAgoraTokenCacheService;
|
||||||
private final TaskMqMessage taskMqMessage;
|
private final TaskMqMessage taskMqMessage;
|
||||||
|
private final RegionRoomCacheService regionRoomCacheService;
|
||||||
|
|
||||||
public EntryRoomResponseCO execute(RoomEntryCmd cmd) {
|
public EntryRoomResponseCO execute(RoomEntryCmd cmd) {
|
||||||
//checkEntryUserId(cmd);
|
//checkEntryUserId(cmd);
|
||||||
@ -124,6 +126,11 @@ public class RoomEnterCmdExe {
|
|||||||
log.error("进房间添加足迹异常:{}", e.getMessage());
|
log.error("进房间添加足迹异常:{}", e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//清空房间列表缓存
|
||||||
|
String region = userRegionGateway.getRegionCode(cmd.requiredReqUserId());
|
||||||
|
String key = cmd.requireReqSysOrigin() + region;
|
||||||
|
regionRoomCacheService.remove(key);
|
||||||
|
|
||||||
return new EntryRoomResponseCO()
|
return new EntryRoomResponseCO()
|
||||||
.setRoomProfile(
|
.setRoomProfile(
|
||||||
new EntryRoomProfileCO()
|
new EntryRoomProfileCO()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user