定时上麦记录bug

This commit is contained in:
2025-09-27 13:45:14 +08:00
parent 72a5829b58
commit 14b1c2d28e

View File

@@ -342,7 +342,7 @@ public class GuildMemberRoomMicRecordService extends ServiceImpl<GuildMemberRoom
MicRecordVo micRecordVo = micRecordMap.get(uid);
if (ObjectUtil.isNull(micRecordVo)) {
micRecordMap.remove(uid);
return;
continue;
}
Long roomId = micRecordVo.getRoomId();
Integer pos = micRecordVo.getPos();
@@ -351,13 +351,13 @@ public class GuildMemberRoomMicRecordService extends ServiceImpl<GuildMemberRoom
PlayRoomVo playRoomVo = roomMicMap.get(roomUid);
if (playRoomVo == null || CollectionUtils.isEmpty(playRoomVo.getMicUsers())) {
micRecordMap.remove(uid);
return;
continue;
}
Set<Long> micUids = playRoomVo.getMicUsers().stream().map(MicUserVo::getUid).collect(Collectors.toSet());
if (!micUids.contains(uid)) {
micRecordMap.remove(uid);
return;
continue;
}
RLock lock = redissonClient.getLock(RedisKey.guild_member_room_mic_record_lock.getKey(uid.toString(), roomId.toString(), pos.toString()));
@@ -367,19 +367,19 @@ public class GuildMemberRoomMicRecordService extends ServiceImpl<GuildMemberRoom
GuildMember guildMember = guildMemberMap.get(micRecordVo.getUid());
if (ObjectUtil.isNull(guildMember)) {
micRecordMap.remove(uid);
return;
continue;
}
RSet<Long> micSet = redissonClient.getSet(RedisKey.guild_member_room_mic_record.getKey(uid.toString(), roomId.toString(), pos.toString()));
Optional<Long> lastUpMic = micSet.stream().filter(inTime -> timeInMillis.compareTo(inTime) > 0).max(Comparator.comparingLong(Long::longValue));
if (lastUpMic.isEmpty()) {
log.error("[statMicRecordTask] 获取上麦时间异常 uid {} roomUid {} roomId {} pos {} timeInMillis {}", uid, roomId, pos, timeInMillis);
micRecordMap.remove(uid);
return;
continue;
}
Long maxUpTime = lastUpMic.get();
if (maxUpTime == null) {
micRecordMap.remove(uid);
return;
continue;
}
Integer partitionId = guildMember.getPartitionId();